使用SAAJ 和JAXM的 SOAP客户端及服务
本模块讲述了如何使用用于JavaTM 的带附件的SOAP(SAAJ)和用于XML消息的Java TM API(JAXM)创建能够发送和接收消息的客户端,以及如何部署它们到Sun ONE Application Server上。本模块包括以下几节:
SOAP客户端 SOAP服务 SOAP客户端本节讲述了SOAP客户端可以采用的两种消息模型以及开发和部署这类客户端的过程。本节包括以下主题:
SOAP客户端消息模型 开发SOAP客户端 组装并部署SOAP客户端 SOAP客户端消息模型可以使用以下两种消息模型建立SOAP客户端
没有消息提供者的客户端 使用消息提供者的客户端 没有消息提供者的客户端不使用消息提供者的应用程序只能交换同步消息。也就是说,扮演客户端角色的应用程序只能发送请求-响应消息。这种类型的客户端采用SAAJ API的SOAPConnection方法。下图演示了在没有消息提供者的情况下,同步消息如何在发送者和接收者之间交换。
不使用消息提供者的SOAP消息
使用消息提供者的客户端具有以下优点:
可以采用J2SE平台编写应用程序。 不需要在servlet或J2EE容器中部署应用程序。 不需要配置消息提供者。不使用消息提供者的客户端具有以下局限性:
客户端只能发送请求-响应消息 客户端只能扮演客户端角色 使用消息提供者的客户端如果想要获得并且保存在任何时间发送给你的请求,你必须使用消息提供者。JAXM API提供了使用消息提供者发送和接收消息的框架。你需要在容器中运行客户端,容器提供了消息基础结构让提供者使用。下图演示了在使用消息提供者的情况下,异步消息如何在发送者和接收者之间交换。
使用消息提供者的SOAP消息
使用消息提供者的客户端具有以下优点:
客户端能够扮演客户端或者服务角色 客户端能够切换消息传递给提供者 在客户端传递消息到最终接收者之前,它能够发送消息到一个或多个目的地。这些中间的消息接收者被称为actor,它们在消息的SOAPHeader对象中被指定。 客户端能够利用任何提供者支持的SOAP消息协议和影响消息类型与可靠性的‘服务质量’,以及消息传递服务的质量。注意
Sun ONE Application Server包含了一个示例JAXM提供者,它演示了如何使用提供者为发送客户端激活“发后不理(fire and forget)”消息。请察看示例文档获取关于如何激活、部署和使用它的全面信息。示例应用程序可以从以下位置得到:
install_dir/samples/webservices/jaxm/jaxm-provider/
Sun ONE Application Server的未来版本将会包括支持可靠SOAP消息和ebXML消息的JAXM提供者。
本文地址:http://com.8s8s.com/it/it16913.htm