从PHP中的SOAPHeader读取值

时间:2012-10-23 20:16:54

标签: php soap soap-client

我正在编写一段PHP来使用Web服务。 我使用的东西是:

$client = new SoapClient("http://somewebservicesmx?WSDL",  array('trace' => 1));
$session = $client->SomeFuncion();

......而且工作正常。

但是这个Web服务会在第一次调用时返回soap头上的重要数据。

我想从标题中读取这些值,我尝试使用simplexml_load_string,它只返回空。 也尝试过:

$doc = new DOMDocument();
$doc->loadXML($soapLastResponse);
$value = $doc->getElementsByTagName("somenode");
$value = $value->item(0)->nodeValue;

这似乎有效,但我想知道是否有正确的方法"为达到这个。 我想知道是否有一些函数可以在不使用DOMDocument的情况下从标题中获取值。

1 个答案:

答案 0 :(得分:2)

我认为这就是你要找的东西?

$soapClient->__getLastResponseHeaders();

在构建'trace'=>true

时需要SoapClient

http://www.php.net/manual/en/soapclient.getlastresponseheaders.php

编辑:我的困惑 - 推荐SimpleXMLElement