Jer*_*ire 4 php api namespaces soap-client
与此问题相关:如何从SOAP XML API请求答案?
我有这个PHP脚本发送带有必填字段的请求:
$client = new SoapClient('https://live.domainbox.net/?WSDL');
$params = array(
'AuthenticationParameters' => array(
'Reseller' => 'resellername',
'Username' => 'myusername',
'Password' => 'mypassword'
),
'CommandParameters' => array(
'DomainName' => 'mydomain.com',
'LaunchPhase' => 'GA'
)
);
$result = $client->CheckDomainAvailability($params);
print_r($result);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
致命错误:未捕获的SoapFault异常:[soap:VersionMismatch]
可能的SOAP版本不匹配:Envelope命名空间 http://schemas.xmlsoap.org/soap/envelope/是意外的.
期待http://www.w3.org/2003/05/soap-envelope.在/home/nosa/public_html/dev/check-domain-availability.php:20堆栈跟踪:#0 /home/nosa/public_html/dev/check-domain-availability.php(20):
SoapClient - > __ call('CheckDomainAvai ...',Array)#1 /home/nosa/public_html/dev/check-domain-availability.php(20):SoapClient-> CheckDomainAvailability(Array)#2 {main}抛出第20行/home/nosa/public_html/dev/check-domain-availability.php
我删除并重新编译了apache,以包含使用WHM/cPanel提供的最新SOAP版本.
我的问题是:如何发送正确的信封命名空间?
构建soap_client对象时,可以传递一个选项的数组,默认情况下,根据php文档,版本将为1.1.
您遇到的错误似乎指出该服务可能是SOAP 1.2,因此您需要将其设置为1.2 ...
$client = new SoapClient('https://live.domainbox.net/?WSDL', array('soap_version' => SOAP_1_2));
Run Code Online (Sandbox Code Playgroud)
试试吧!
| 归档时间: |
|
| 查看次数: |
4660 次 |
| 最近记录: |