我是 SOAP 新手,并尝试调用托管在其他地方的 web 服务。
我正在尝试调用“IsUniqueUser”网络服务来检查用户是否是唯一的。
以下是服务架构..
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="some service" xmlns:xsd="some xsd" xmlns:xsd1="">
<soap:Header/>
<soap:Body>
<ser:isUniqueUser>
<!--Optional:-->
<ser:request>
<xsd:userName>SomeValidUserName</xsd:userName>
</ser:request>
</ser:isUniqueUser>
</soap:Body>
</soap:Envelope>
我正在尝试使用以下代码在 php 中调用此服务
$client = new SoapClient('Some.wsdl');
在 http 身份验证之后,我尝试调用 isUniqueUser 方法并将“userName”作为参数传递。
$unique = $client->__soapCall('isUniqueUser', array('userName' =>'vish123'));
但没有任何结果,我收到以下错误
stdClass Object
(
[return] => stdClass Object
(
[errorCode] => 11ARPMWS1004
[errorMessage] => null. null
[status] => Failure
[uniqueUser] =>
)
)
我已经尝试以多种方式传递参数,例如
$params = array('UserName' =>$_POST['userName']);
$unique = $client->__soapCall("isUniqueUser", $params);
或者
$unique = $client->isUniqueUser($params);
或者
$unique = $client->_soapCall('isUniqueUser', array('paramaters'=>$params));
或者
$unique = $client->_soapCall('isUniqueUser', array('request'=>$params));
我仍然遇到同样的错误。我已就此问题与提供商联系,他们说在传递参数时代码有问题。
谁能告诉我如何解决这个问题?
谢谢