Не могу понять, как установить атрибут для запроса SOAP без использования кодировки XSD_ANYXML .
Параметр запроса должен выглядеть следующим образом
<request
xmlns:ns="/some/ns">
...
<ns:parameter attr="some attribute">
value
</ns:parameter>
...
</request>
Конечно, следующий код работает, но он довольно уродлив (уродлив, потому что он использует конкатенацию строк, где он должен использовать API-интерфейс SOAP_Client и потому что он не использует общее пространство имен)
$param = new SoapVar(
'<ns_xxx:parameter xmlns:ns_xxx="/some/ns" attr="some attribute">
value
</ns_xxx:parameter>',
XSD_ANYXML
);
Есть ли лучший способ создать параметр запроса SOAP с пространством имен и атрибутом?
Я ищу с.т. как показано ниже (это всего лишь некоторый псевдокод, использующий API SoapVar ):
$param = new SoapVar(
array(
'_' => 'value',
'attr' => 'some attribute'
),
SOME_ENCODING,
null,
null,
null,
'/some/ns'
);