我正在尝试发送SOAP请求但收到错误告诉我某些参数无效。这是代码:
$client = new SoapClient('https://live.domainbox.net/?WSDL', array('soap_version' => SOAP_1_2));
$params = array(
'AuthenticationParameters' => array(
'Reseller' => 'reseller',
'Username' => 'username',
'Password' => 'password'
),
'CommandParameters' => array(
'DomainName' => 'mydomain.com',
'LaunchPhase' => 'GA'
)
);
$result = $client->CheckDomainAvailability($params);
print_r($result);
以下是错误消息:
stdClass Object
(
[CheckDomainAvailabilityResult] => stdClass Object
(
[ResultCode] => 201
[ResultMsg] => Authentication Failed: Invalid Authentication Parameters
[TxID] => xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
[AvailabilityStatus] => 3
[AvailabilityStatusDescr] => ErrorOccurred
[LaunchPhase] => GA
[DropDate] =>
[BackOrderAvailable] =>
)
)
我希望看到请求发送到服务器以确保它的格式良好。
以下是需要格式化的方法:
<soap12:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:soap12=”http://www.w3.org/2003/05/
soap-envelope”>
<soap12:Body>
<CheckDomainAvailability xmlns=”https://live.domainbox.net/”>
<AuthenticationParameters>
<Reseller>myreseller</Reseller>
<Username>myuser</Username>
<Password>mypassword</Password>
</AuthenticationParameters>
<CommandParameters>
<DomainName>checkadomain.co</DomainName>
<LaunchPhase>GA</LaunchPhase>
</CommandParameters>
</CheckDomainAvailability>
</soap12:Body>
</soap12:Envelope>
如何打印已发送到服务器的请求?
我已经尝试过:
echo $client->__getLastRequest();
但即使在页面的源代码中,我什么都没得到。
由于
答案 0 :(得分:4)
添加跟踪选项:
$client = new SoapClient('https://live.domainbox.net/?WSDL', array('trace' => true, 'soap_version' => SOAP_1_2));
然后__getLastRequest()
应该有用。