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メソッドを呼び出すと、常に応答が返されます。つまり、SessionID値を取得するために__getLastResponse()を呼び出す必要がない場合があります。以下をご覧ください。

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

また、http://www.php.net/manual/en/soapclient.soapcall.php

于 2012-08-04T08:47:41.860 に答える