Jer*_*ire 5 php api debugging soap
我正在尝试发送 SOAP 请求,但收到一条错误消息,告诉我某些参数无效。这是代码:
\n\n$client = new SoapClient('https://live.domainbox.net/?WSDL', array('soap_version' => SOAP_1_2));\n$params = array(\n 'AuthenticationParameters' => array(\n 'Reseller' => 'reseller',\n 'Username' => 'username',\n 'Password' => 'password'\n ),\n 'CommandParameters' => array(\n 'DomainName' => 'mydomain.com',\n 'LaunchPhase' => 'GA'\n )\n);\n\n$result = $client->CheckDomainAvailability($params);\nprint_r($result);\n
Run Code Online (Sandbox Code Playgroud)\n\n这是错误消息:
\n\nstdClass Object\n(\n [CheckDomainAvailabilityResult] => stdClass Object\n (\n [ResultCode] => 201\n [ResultMsg] => Authentication Failed: Invalid Authentication Parameters\n [TxID] => xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx\n [AvailabilityStatus] => 3\n [AvailabilityStatusDescr] => ErrorOccurred\n [LaunchPhase] => GA\n [DropDate] => \n [BackOrderAvailable] => \n )\n\n)\n
Run Code Online (Sandbox Code Playgroud)\n\n我想查看发送到服务器的请求以确保其格式正确。
\n\n以下是它需要如何格式化:
\n\n<soap12:Envelope xmlns:xsi=\xe2\x80\x9dhttp://www.w3.org/2001/XMLSchema-instance\xe2\x80\x9d\nxmlns:xsd=\xe2\x80\x9dhttp://www.w3.org/2001/XMLSchema\xe2\x80\x9d xmlns:soap12=\xe2\x80\x9dhttp://www.w3.org/2003/05/\nsoap-envelope\xe2\x80\x9d>\n<soap12:Body>\n <CheckDomainAvailability xmlns=\xe2\x80\x9dhttps://live.domainbox.net/\xe2\x80\x9d>\n <AuthenticationParameters>\n <Reseller>myreseller</Reseller>\n <Username>myuser</Username>\n <Password>mypassword</Password>\n </AuthenticationParameters>\n <CommandParameters>\n <DomainName>checkadomain.co</DomainName>\n <LaunchPhase>GA</LaunchPhase>\n </CommandParameters>\n </CheckDomainAvailability>\n</soap12:Body>\n</soap12:Envelope>\n
Run Code Online (Sandbox Code Playgroud)\n\n如何打印已发送到服务器的请求?
\n\n我已经尝试过:
\n\necho $client->__getLastRequest();\n
Run Code Online (Sandbox Code Playgroud)\n\n但我什么也没得到,即使在页面的源代码中也是如此。
\n\n谢谢
\n添加跟踪选项:
$client = new SoapClient('https://live.domainbox.net/?WSDL', array('trace' => true, 'soap_version' => SOAP_1_2));
Run Code Online (Sandbox Code Playgroud)
然后__getLastRequest()
应该可以工作。