1

Web サービスのみを提供するサーバーがwsHttpBindingあり、それを PHP から使用する必要があります。標準の SoapClient では動作せず、次のエラーが発生します。

http://www.w3.org/2005/08/addressing/faults:Sendera:ActionMismatchメッセージで指定された SOAP アクション '' は、HTTP SOAP アクション ' http://tempuri.org/ICategoryApiと一致しません/ツリー'。a:アクション

をサポートする PHP SoapClient の実装または設定はありますwsHttpBindingか?

4

2 に答える 2

1

wsHttpBindingPHP SoapClient が処理できない WS-Security および WS-Addressing 機能を利用します。

エラーに基づいて、問題は WS-Addressing (HTTPActionヘッダーの欠落、<a:Action>SOAP メッセージのヘッダーの欠落) に関連していると言えます。

これが代わりに役立つかどうかを確認してください: WSO2-WSF PHP

于 2011-01-11T20:38:39.037 に答える
1

サーバーにもbasicHttpBindingモードがあることを発見しましたが、メソッドは両方のバインディングモードで同じ名前を持っています。

PHP の既定のクライアントは、名前でメソッドを呼び出し、最初に一致するもの (wsHttpBinding のもの) に移動するため、オーバーロードを実装して、それらの間の違いを許可していないように見えるため、問題は解決しませんでした。

正しい方法に対処するためにnusoapを使用してこれを解決しました(このタスクはうまくいきます)。

于 2011-01-12T09:55:35.353 に答える