【发布时间】:2017-12-14 15:57:06
【问题描述】:
我正在尝试使用我的代码传递我的 AgentCode、AgentUser、AgentPasswd 和 AgentSignature 变量。请帮忙,因为我是 SOAP 新手。
这是 XML 结构。
<soapenv:Header/>
<soapenv:Body>
<urn:GetLocationsList soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<HeaderInfo xsi:type="urn:THeaderInfo" xmlns:urn="urn:testsrvIntf">
<AgentCode xsi:type="xsd:string">xxxx</AgentCode>
<AgentUser xsi:type="xsd:string">xxxx</AgentUser>
<AgentPasswd xsi:type="xsd:string">xxxx</AgentPasswd>
<AgentSignature xsi:type="xsd:string">xxxx</AgentSignature>
</HeaderInfo>
</urn:GetLocationsList>
</soapenv:Body>
</soapenv:Envelope>
这是我的 PHP 代码:
require_once('lib/nusoap.php');
$wsdl = "http://webservices.xxxxxx.xxxxx";
$client = new nusoap_client($wsdl);
$parameters= array('HeaderInfo' => array('AgentCode' => 'xxxx',
'AgentUser' => 'xxxx',
'AgentPasswd' => 'xxxx',
'AgentSignature' => 'xxxx'));
$value = $client->GetLocationsList($parameters);
echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
【问题讨论】:
-
有什么问题?
-
我从未使用过该库,但这是设置身份验证的正确方法吗?不是
$client->setCredentials(..)吗? -
我很困惑如何通过身份验证传递请求。
-
我收到此错误:PHP 致命错误:调用未定义的方法 nusoap_client::GetLocationsList()
-
有人可以告诉我我应该如何提出这个请求: