HTTP 和 JMS 传输方法

使用 WebSphere® 运行时环境创建的 Web Service 除了支持现有 HTTP 传输方法之外,还支持 JMS 传输层。这允许 Web Service 客户机与服务器之间通过使用 JMS 队列和主题进行通信,而不是通过 HTTP 连接进行通信。单向请求和同步双向请求都是受支持的。请注意,如果可通过 JMS 传输访问 Web Service,则必须将 Web Service 作为 EJB 来实现。

使用 JMS 来替代 HTTP 的好处包括下列方面:

如果要在进行 JMS 传输时可访问 Web Service,则相应的 WSDL 文档应该包括 JMS 绑定和用于指定 JMS 端点 URL 字符串的 SOAP 地址。JMS 绑定只是一个 wsdl:binding 元素,它包含一个 wsdlsoap:binding 元素,而 wsdlsoap:binding 元素的 transport 属性以 soap/jms 结尾,而不是以正常的 soap/http 值结尾。除了 JMS 绑定之外,WSDL 文档中的 wsdl:service 元素还应该包括引用 JMS 绑定的 wsdl:port 元素。此 wsdl:port 元素应该包含 wsdlsoap:address 元素且 wsdlsoap:address 元素的 location 属性指定 JMS 端点 URL 字符串。

还需要决定应用程序将使用的 JMS 对象的名称和类型。例如,必须决定 Web Service 将是从队列还是主题接收它的请求。还必须决定是否使用安全目标(队列或主题)。最后,将需要决定目标、连接工厂和侦听器端口的名称。以下列表提供了可用于样本股票行情 Web Service 的名称示例:

创建 Web Service 之后,可以运行“创建路由器模块”向导来为 EAR 文件中包含的每个支持 Web Service 的 EJB .jar 添加 JMS 端点(路由器模块)。如果使用 Web Service 向导来创建 Web Service,则会自动为您完成此任务。


反馈