ここでは、IBM の統合バスのメッセージ フローを使用して REST Web サービスを呼び出す方法について質問しています。
私の要件は次のとおりです。
まず、SOAP Web サービスを公開します。この SOAP Web サービスが呼び出されたときに、REST Web サービスである別の Web サービスを呼び出したいと考えています。2 つのメッセージ フローを開発しました。
- 最初のもの (サンプルのダミー メッセージ フロー) には、SOAP 入力ノード、Java 計算ノード、および SOAP 応答ノードがあります。このシナリオでは、この SOAP Web サービスに入力を渡そうとすると、同じ入力が得られますが、これは期待どおりの動作です。
- 2 番目のフローは、SOAP 入力ノード、HTTP 要求ノード (REST Web サービスを呼び出すため)、および最後に SOAP 応答ノードを使用します。(このフローでは 3 つのノード)。
ここで 2 番目のメッセージ フローを正しく実装しているかどうかを知りたいと思いました。そうでない場合は、このメッセージ フローに他に何を追加する必要があるのでしょうか。このフローに SOAP 抽出/エンベロープ ノードを追加する必要がある場合。
SOAP Web サービスを呼び出そうとしているときに発生する例外は次のとおりです。
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: BIP3113E: Exception detected in message flow SingleArgMsgFlow.SOAP Input (broker IB9NODE)
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:190)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:131)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:120)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:90)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:141)
at $Proxy27.processRqst(Unknown Source)
at org.tempuri.singleargmsgset.SingleArgInvoker.main(SingleArgInvoker.java:15)
どんな助けでも大歓迎です!! :)