我从WSDL得到这样的响应:
string(221) : "RMT_TOKEN_ACKTHAMORTEST91001e659a4f4-8fb1-4fe1-95dd-62da8d4c3fb401"
文档说明,响应应该是,
<TRX_MESSAGE>
<MESSAGE>
<MESSAGE_ID>RMT_TOKEN_ACK</MESSAGE_ID>
<USR_NAME>THAMORTEST</USR_NAME>
<AGENT_CODE>91001</AGENT_CODE>
<TOKEN>e659a4f4-8fb1-4fe1-95dd-62da8d4c3fb4</TOKEN>
<RESP_CODE>01</RESP_CODE>
</MESSAGE>
</TRX_MESSAGE>
当我计算原始回复字符时,我发现它是221。但是,我在回复中看不到整个字符串。您可以看到我的结果字符串中没有XML标记。如何从中获取令牌?
我知道,这很令人困惑。如果您需要任何信息,请告诉我。感谢。
答案 0 :(得分:0)
我明白了。
$token_string = $result->getTokenReturn;
<强>输出:强>
$token_string = "RMT_TOKEN_ACKTHAMORTEST91001e659a4f4-8fb1-4fe1-95dd-62da8d4c3fb401"
<强> PHP 强>
$dom = new DOMDocument;
$dom->loadXML($token_string);
$tokens = $dom->getElementsByTagName('TOKEN');
foreach ($tokens as $token) {
echo $token->nodeValue, PHP_EOL;
}
必需的输出(仅限令牌):
e659a4f4-8fb1-4fe1-95dd-62da8d4c3fb4