Мне пришлось создать обертку:
class My_Soap_Client_Namespace extends Zend_Soap_Client_Common {
protected $namespace = null;
function __construct($doRequestCallback, $wsdl, $options) {
if (array_key_exists('namespace', $options)) {
$this->namespace = $options['namespace'];
}
parent::__construct($doRequestCallback, $wsdl, $options);
}
function __doRequest($request, $location, $action, $version, $one_way = null) {
if ($this->namespace != null) {
$request = preg_replace ( '/<ns1:(\w+)/', '<$1 xmlns="' . $this->namespace . '"', $request, 1 );
$request = preg_replace ( '/<ns1:(\w+)/', '<$1', $request );
$request = str_replace ( array ('/ns1:', 'xmlns:ns1="' . $this->namespace . '"' ), array ('/', '' ), $request );
}
return parent::__doRequest ( $request, $location, $action, $version );
}
}