Sun ONE Application Server 开发者指南(18)

类别:Java 点击:0 评论:0 推荐:

使用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