0

私は SOAP API に関するいくつかのチェックを作成する任務を負っていますが、少し問題があります。

wsdl を SoapUI にインポートしてテストしました。SoapUI は wsdl を解析し、呼び出したい操作 (PerfmonOpenSession) のサンプル要求を生成しました。これが生成したもののサンプルです..リクエストを送信すると、成功しました。

Ruby の Savon で同じことをしようとすると、this が返されます。savon が tns 名前空間を使用していて、操作名に「Input」という単語が追加されていることに気付きました。したがって、soap:PermonOpenSession を呼び出すのではなく、tns:PerfmonOpenSessionInput (存在しません) を呼び出しています。

wsdlが実際にポートの「入力」メッセージを定義しているという事実にさらに混乱しています(ここでは224行目に見られます)。それで..サボンはここで正しいことをしていますか? もしそうなら、SoapUI はどのようにして SOAP リクエストを適切に形成するかを知るのでしょうか? savon のリクエストを SoapUI が生成するリクエストのように見せるにはどうすればよいですか?

4

1 に答える 1

0

このような場合、通常は WSDL をスキップして、WSDL なしでクライアントを作成します。それは Savon v1 と v2 で動作します。設定する必要があります

endpoint

namespace

設定することもできます

soap_action

明示的に。http://savonrb.comのドキュメントに、何をすべきかが説明されています。さらにサポートが必要な場合は、お知らせください。

于 2013-09-20T20:43:13.107 に答える