私はSOAPが初めてで、どこかでホストされているWebサービスを呼び出そうとしています。
ユーザーが一意かどうかを確認する「IsUniqueUser」Web サービスを呼び出そうとしています。
以下は、サービスのスキーマです。
<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でこのxerviceを呼び出そうとしています
$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));
それでも同じエラーが発生します。この問題についてプロバイダーに連絡したところ、パラメーターを渡す際にコードに問題があるとのことでした。
誰でもこの問題を解決する方法を教えてもらえますか?
ありがとう