我有一个页面,它将直接从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());
我不知道哪里出了问题。
您从SOAP
调用返回的是一个Object,而您无法打印Object。您需要提取存储返回值的对象的属性值,然后才能打印。因此,在响应标签所在的SOAP XML
中,使用该标签的值,然后:
print_r($result->name_Of_Tag_In_XML);