【发布时间】:2012-08-21 14:25:08
【问题描述】:
我正在尝试使用JMS 作为传输和SOAP WebServices 作为我要集成的应用程序的接口来实现集成。
- 是否需要
WSDL本身将传输定义为JMS? - 我可以将其保留为
HTTP并将JMS队列的配置移至其他位置吗?
我正在考虑将Apache Camel 作为替代方案。
【问题讨论】:
我正在尝试使用JMS 作为传输和SOAP WebServices 作为我要集成的应用程序的接口来实现集成。
WSDL 本身将传输定义为JMS?HTTP 并将JMS 队列的配置移至其他位置吗? 我正在考虑将Apache Camel 作为替代方案。
【问题讨论】:
WSDL 中的 JMS 部分只是提示如何调用服务。如果您依赖某些导入工具生成骨架代码,但没有提示,没有提示可能会有些棘手。
我什至使用了 WSDL,其中定义了 HTTP 和 JMS 传输,所以这也是可能的。
如何配置队列是另一回事,因为它取决于您使用的框架。
我看不出 Apache Camel 应该如何替代 SOAP over JMS。 Camel 是一个集成引擎(实际上能够通过 JMS 执行 SOAP),但它本身不是一个传输标准。作为一个小旁注,我真的推荐 Camel 来做集成任务。
您可能需要仔细考虑您的集成需求。 JMS 上的 SOAP 可能非常强大,但设计起来也有点复杂,因为人们倾向于将 SOAP 视为同步服务定义,而 JMS 主要是为异步通信而设计的,尽管也支持同步调用。
【讨论】: