使用 WebSphere® 运行时环境创建的 Web Service 除了支持现有的 HTTP 传输方法外,还支持 JMS 传输层。 这允许 Web Service 客户机和服务器使用 JMS 队列和主题(而不是 HTTP 连接)进行通信。单向请求和同步双向请求都受支持。
使用 JMS 来替代 HTTP 的好处包括下列方面:
如果要通过 JMS 传输方法访问某个 Web Service,那么相应的 WSDL 文档应该包括 JMS 绑定和 SOAP 地址(用于指定 JMS 端点 URL 字符串)。JMS 绑定是一个简单的 wsdl: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 从队列接收其请求,还是从主题接收其请求。还必须决定是否使用安全目标(队列或主题)。最后,将需要决定目标连接工厂的名称和侦听器端口。以下列表提供了可能用于样本 StockQuote Web Service 的名称的示例:
创建 Web Service 之后,您可以运行“创建路由器模块”向导以对包含在 EAR 文件中的每一个已启用 Web Service 的 EJB .jar 添加 JMS 端点(路由器模块)。如果使用 Web Service 向导来创建 Web Service,那么已自动为您完成此操作。