Проблема заключается где-то в отсутствии информации о пространстве имен в параметре. Я использовал первый случай вашего примера, так как он был ближе всего к тому, что я придумал.
Если вы измените строку:
array(new SoapParam('ZULU', 'timezone')),
до:
array(new SoapParam('ZULU', 'ns1:timezone')),
это должно дать вам ожидаемый результат.