我有一个页面,它将直接从SOAP请求接收数据。问题是“我将如何收到这些数据?”。如果数据直接来自$_GET
参数,我可以通过$_GET['PARAM']
获取,但是如何直接在SOAP中获取数据?
我有一个WSDL文件,NotificationToCP.wsdl。
以下是SOAP请求。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sub="http://example.com">
<soapenv:Header/>
<soapenv:Body>
<sub:handleNewSubscription>
<custAttributesDTO>
<cpId>{$cpId}</cpId>
<cpPwd>{$cpPwd}</cpPwd>
<productId>{$productId}</productId>
<channelName>{$channelName}</channelName>
<contentProvider>{$contentProvider}</contentProvider>
<cpName>{$cpName}</cpName>
<firstConfirmationDTTM>{$firstConfirmationDTTM}</firstConfirmationDTTM>
<secondConfirmationDTTM>{$secondConfirmationDTTM}</secondConfirmationDTTM>
</custAttributesDTO>
</sub:handleNewSubscription>
</soapenv:Body>
</soapenv:Envelope>
我正在尝试使用以下代码获取此SOAP请求数据。
$client = new SoapClient($_SERVER['DOCUMENT_ROOT'] . "/test/NotificationToCP.wsdl", array('trace' => true));
var_dump($client->__getLastResponse());
我无法弄清楚我哪里出错了。
答案 0 :(得分:0)
从SOAP
调用返回的是一个对象,并且您无法打印一个对象,您需要提取该对象的属性值,该对象存储了可以打印的返回值。因此,在响应标签所在的SOAP XML
中,使用该标签的值,然后:
print_r($result->name_Of_Tag_In_XML);