我在这里询问如何使用 IBM 集成总线中的消息流来调用 REST Web 服务。
我的要求如下:
首先,我有一个公开的 SOAP Web 服务。调用此 SOAP Web 服务时,我想调用另一个 Web 服务,它是 REST Web 服务。我开发了两个消息流。
- 第一个(示例虚拟消息流),其中我有一个 SOAP Input 节点、一个 Java Compute 节点和一个 SOAP Reply 节点。在这种情况下,当我尝试使用此 SOAP Web 服务并传递一些输入时,我会得到相同的输入,我希望这是预期的行为。
- 现在第二个流程包含一个 SOAP Input 节点、一个 HTTP Request 节点(用于调用 REST Web 服务),最后是一个 SOAP Reply 节点。(此流程中再次出现 3 个节点)。
我想知道我是否在这里正确实现了第二个消息流。如果没有,我还需要在这个消息流中添加什么,以便我的事情能够顺利完成。如果需要向此流程添加一些 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)
任何帮助将不胜感激!:)