1

我需要解析该响应来自:

$client->__getLastResponse();

uuid:9e0096e0-de0f-11e1-8035-e656d1754971

http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous 0 ContentType text/xml 1 
Result 200 2 XMLDocumentOut <?xml version="1.0" encoding="utf-8" ?> 
<DtsAgencyLoginResponse xmlns="DTS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="DTS file:///R:/xsd/DtsAgencyLoginMessage_01.xsd">
<SessionInfo><SessionID>178827</SessionID><Profile>A</Profile><Language>ENG</Language>
<Version>1</Version>
</SessionInfo><AdvisoryInfo/></DtsAgencyLoginResponse>

我如何解析它以获取 SessionID ?谢谢!

编辑:

方法的结果$client->method($parameter)是:

stdClass Object ( [result] => [ttOut] => stdClass Object ( [ttOutRow] => Array ( [0] => stdClass Object ( [ParPos] => 0 [ParNam] => ContentType [ParVal] => text/xml ) [1] => stdClass Object ( [ParPos] => 1 [ParNam] => Result [ParVal] => 200 ) [2] => stdClass Object ( [ParPos] => 2 [ParNam] => XMLDocumentOut [ParVal] => 178880AENG1 ) ) ) [opcErrorMessage] => )
4

1 回答 1

3

当通过 PHP5 SOAPClient 调用 SOAP 方法时,您总是会得到响应。也就是说,可能不需要调用 __getLastResponse() 来检索 SessionID 值。看看以下内容:

$response = $client->myMethod();
$sessionID = $response->SessionInfo->SessionID;

还有http://www.php.net/manual/en/soapclient.soapcall.php

于 2012-08-04T08:47:41.860 回答