SOAP-PHP正在转换'<';至'&;lt';
我们的SOAP请求不起作用,因为SOAP似乎正在将XML字符串转换为SOAP-PHP正在转换'<';至'&;lt';,php,xml,soap,Php,Xml,Soap,我们的SOAP请求不起作用,因为SOAP似乎正在将XML字符串转换为和 $client = new SoapClient("https://some-test-url/xxx.asmx?wsdl", array('trace' => true) ); $soapparams = array ( "UserName" => 'uname', "Password" => 'pword', "GroupID" => 1,
和
$client = new SoapClient("https://some-test-url/xxx.asmx?wsdl", array('trace' => true) );
$soapparams = array (
"UserName" => 'uname',
"Password" => 'pword',
"GroupID" => 1,
"xmlstring" => '
<![CDATA[
<DocumentElement>
<tbl>
<var1>Q</var1>
<var2>W</var2>
<var3>E</var3>
</tbl>
</DocumentElement>
]]>
'
);
$response = $client->__soapCall('functionHere', array($soapparams));
$raw_request_header = $client->__getLastRequestHeaders();
$raw_request_body = $client->__getLastRequest();
$raw_response_body = $client->__getLastResponse();
echo "<br /><br />Raw Request: ";
echo "<code>";
print htmlentities($raw_request_body);
echo "</code>";
我明白了:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/">
<SOAP-ENV:Body>
<ns1:functionHere>
<ns1:UserName>uname</ns1:UserName>
<ns1:Password>pword</ns1:Password>
<ns1:GroupID>1</ns1:GroupID>
<ns1:xmlstring>
<![CDATA[
<DocumentElement>
<tbl>
<var1>Q</var1>
<var2>W</var2>
<var3>E</var3>
</tbl>
</DocumentElement>
]]>
</ns1:xmlstring>
</ns1:functionHere>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
uname
普沃德
1.
![CDATA[
文档元素
tbl
var1Q/var1
var2W/var2
var3E/var3
/tbl
/文档元素
]]
我怎样才能防止这种情况发生?我希望有人能帮我们解决这个问题。“像这样的事情”或“完全像这样”?我这样问是因为您的示例没有示例中显示的
DocumentElement
,也没有SOAP请求的其他部分。请给出一个答案,这样我们就不必猜测您遗漏了哪些内容。@IMSoP问题已更新。“类似于此”或“完全类似于此”?我这样问是因为您的示例没有示例中显示的DocumentElement
,也没有SOAP请求的其他部分。请给出一个答案,这样我们就不必猜测您遗漏了哪些内容。@IMSoP问题已更新。