私は SOAP API に関するいくつかのチェックを作成する任務を負っていますが、少し問題があります。
wsdl を SoapUI にインポートしてテストしました。SoapUI は wsdl を解析し、呼び出したい操作 (PerfmonOpenSession) のサンプル要求を生成しました。これが生成したもののサンプルです..リクエストを送信すると、成功しました。
Ruby の Savon で同じことをしようとすると、this が返されます。savon が tns 名前空間を使用していて、操作名に「Input」という単語が追加されていることに気付きました。したがって、soap:PermonOpenSession を呼び出すのではなく、tns:PerfmonOpenSessionInput (存在しません) を呼び出しています。
wsdlが実際にポートの「入力」メッセージを定義しているという事実にさらに混乱しています(ここでは224行目に見られます)。それで..サボンはここで正しいことをしていますか? もしそうなら、SoapUI はどのようにして SOAP リクエストを適切に形成するかを知るのでしょうか? savon のリクエストを SoapUI が生成するリクエストのように見せるにはどうすればよいですか?