如果不使用XSD_ANYXML编码,我似乎无法找到如何为 SOAP 请求设置属性。
请求参数应如下所示
<request
xmlns:ns="/some/ns">
...
<ns:parameter attr="some attribute">
value
</ns:parameter>
...
</request>
当然下面的代码可以工作,但它相当难看(难看,因为它在应该使用 SOAP_Client API 的地方使用字符串连接,并且因为它不使用通用名称空间)
$param = new SoapVar(
'<ns_xxx:parameter xmlns:ns_xxx="/some/ns" attr="some attribute">
value
</ns_xxx:parameter>',
XSD_ANYXML
);
有没有更好的方法来创建带有命名空间和属性的 SOAP 请求参数?
我在找s.th。如下所示(这只是一些使用SoapVar API 的伪代码):
$param = new SoapVar(
array(
'_' => 'value',
'attr' => 'some attribute'
),
SOME_ENCODING,
null,
null,
null,
'/some/ns'
);