[PHP-users 31635] 引数付きのSoapClient->__soapCall()でエラー

Higuchi Atsushi rmitcs @ gmail.com
2007年 3月 8日 (木) 11:17:12 JST


あるウェブサービスのメソッドを呼び出すのに__soapCallを使用しています。引数なしで実行できるメソッドを呼び出す場合は問題なく動くのですが、それ以外の場合はエラーになってしまいます。

具体的には以下のような感じで、"testFunction1"は引数なしで、"testFunction2"は何かしらの引数が必要と仮定します。

$client = new SoapClient("test.wsdl");

$client->__soapCall("testFunction1", array()); //これは正常に動く

$param['x'] = "1";
$client->__soapCall("testFunction2", $param); //これはエラー

エラーの内容は以下の通りです。

PHP Fatal error:  Uncaught SoapFault exception: [soap:Server]
System.Web.Services.Protocols.SoapException: Server was unable to
process request. ---> System.ApplicationException: Web method called
with invalid parameters.

また、testFunction2を

$client->testFunction2($param);

の形式で実行すると正常に動作するので、引数が正しいことは確かです。__soapCallを使う理由はws-securityを使用するため、ヘッダを付加したいためです。

どなたか分かる方がいらっしゃいましたらよろしくお願いいたします。

-- 
Atsushi Higuchi


PHP-users メーリングリストの案内