4

我正在尝试发送 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”&gt;
<soap12:Body>
    <CheckDomainAvailability xmlns=”https://live.domainbox.net/”&gt;
        <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();

但我什么也没得到,即使在页面的源代码中也是如此。

谢谢

4

1 回答 1

4

添加跟踪选项:

$client = new SoapClient('https://live.domainbox.net/?WSDL', array('trace' => true, 'soap_version' => SOAP_1_2));

然后__getLastRequest()应该工作。

于 2012-10-22T12:23:11.490 回答