我正在使用PHP中的SOAP客户端,并且调用正在进行到服务正常,但调用之外的元素彼此相同.似乎在发生这种情况时,而不是创建两个独立但相同的元素,如下所示:
<ns1:someelement>
<ns1:name>name1</ns1:name>
<ns1:value>value1</ns1:value>
</ns1:someelement>
<ns1:someelement>
<ns1:name>name1</ns1:name>
<ns1:value>value1</ns1:value>
</ns1:someelement>
Run Code Online (Sandbox Code Playgroud)
它坚持只生成元素的一个副本并为其分配一个ID,并使用href用于该元素的任何后续实例(如下所示),我正在使用的Web服务不支持(我不知道为什么这样做)是的,但它并不重要,因为我无法改变它)
<ns1:someelement id="#ref1">
<ns1:name>name1</ns1:name>
<ns1:value>value1</ns1:value>
</ns1:someelement>
<ns1:someelement href="#ref1" />
Run Code Online (Sandbox Code Playgroud)
所以我的问题是如何强制XML使用完整包含的重复元素,而不是使用hrefs/ids.我检查了PHP SoapClient的文档以获取选项或类似的东西,但找不到任何东西.任何帮助或建议将不胜感激.谢谢.
SoapParam
SoapVar
$soapClient->__soapCall('Method', array(
new SoapParam($someelement1, 'someelement'),
// or
new SoapVar('<ns1:someelement><ns1:name>name1</ns1:name><ns1:value>value1</ns1:value></ns1:someelement>', XSD_ANYXML)
));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1815 次 |
最近记录: |