使用PHP时,SOAP响应中的对象为空
问题描述:
我有一个奇怪的问题。我为PHP使用SOAP并获取价格。使用PHP时,SOAP响应中的对象为空
如果我使用了SoapUI获取价格的反应是这样的:
<article>
<id>53db51:f984db9fa4:-773c</id>
<primaryid>BG267</primaryid>
<isremoved>false</isremoved>
<articlecampaignprice>
<currency>NOK</currency>
<price>340.0</price>
</articlecampaignprice>
</article>
但是,如果我做同样的在PHP中,我得到的回应是这样的:
object(stdClass)#81 (1) {
["article"]=>
array(3) {
[0]=>
object(stdClass)#82 (4) {
["id"]=>
string(23) "53db51:f984db9fa4:-773c"
["primaryid"]=>
string(5) "BG267"
["isremoved"]=>
bool(false)
["articlecampaignprice"]=>
object(stdClass)#83 (0) {
}
}
}
}
的“articlecampaignprice” - 对象是空的。 PHP中是否有可以导致这种情况的设置?我已经有WSDL,缓存设置为0。
答
试试这个
<?php
$xmlData = "<article>
<id>53db51:f984db9fa4:-773c</id>
<primaryid>BG267</primaryid>
<isremoved>false</isremoved>
<articlecampaignprice>
<currency>NOK</currency>
<price>340.0</price>
</articlecampaignprice>
</article>";
$xml=simplexml_load_string($xmlData) or die("Error: Cannot create object");
echo "<pre>";
print_r($xml);
?>
输出
SimpleXMLElement Object
(
[id] => 53db51:f984db9fa4:-773c
[primaryid] => BG267
[isremoved] => false
[articlecampaignprice] => SimpleXMLElement Object
(
[currency] => NOK
[price] => 340.0
)
)
请确保本文中提到的'XML'是您正在获取的实际'XML'。 –
你可以显示你使用的PHP吗? –
如何将xml转换为数组 –