问. 什么是 Java API for XML Messaging(JAXM)?
答. Java API for XML Messaging(JAXM)是专门用于 Internet 上交换 XML 商业文档的 API 。常用于交换的 XML 文档的例子有订单、订购确认和发票。您可以在发送的消息中附带非 XML 数据。
问. JAXM 基于什么标准?
答. JAXM 基于简单对象访问协议(Simple Object Aclearcase/" target="_blank" >ccess Protocol , SOAP)1.1和 SOAP with Attachments 规范。JAXM 还允许 SOAP 实现之上的标准协议实现,例如 SOAP-RP 或 ebXML Transport, Routing & Packaging V1.0–Message Service Specification。
问. 是否必须在 J2EE 平台下使用 JAXM ?
答. 不是,您可以免费使用 Java 2 Platform, Standard Edition (J2SE),就像使用 Java 2 Platform, Enterprise Edition (J2EE) 一样。一个独立客户端(不使用消息提供者的客户端)可以使用 J2SE 平台向可以处理请求-响应消息的 Web 服务发送此消息。这不需要在客户端进行部署或配置,因此很容易实现。
问. 什么是消息提供者?
答. 消息提供者是一种服务,它使用消息传送基础设施来路由和传递消息。对于客户来说,发送和接受消息是完全透明的。使用消息提供者的应用程序必须使用一个到消息提供者的连接,在 JAXM API 中称之为 ProviderConnection 对象。使用消息提供者还需要某种部署和配置。通常情况下,客户端使用运行在容器中的消息提供者-servlet 或 J2EE 容器。在部署的时候,客户端需要为容器提供关于消息提供者的信息。将来,会有一种部署工具使这个过程更简单。
问. 是否必须使用消息提供者?
答. 不是。只有当您的应用程序需要单向(异步)消息传送时,您才需要使用消息提供者。在这种类型的消息中,一个消息作为一个操作发送给接受者,然后接受者在一段时间后使用另一个不同的操作进行响应。如果您的应用程序使用请求 - 响应样式的消息传送,回送此消息的响应被看作是同一个操作,您不需要消息提供者。当您不使用消息提供者时,您需要使用 SOAPConnection 对象,它支持更简单的请求-响应消息模型。
问. JAXM 消息是否可以被路由到多个目的地?
答. 是的。可以在消息头指定即时接受者。这种能力的一种使用方法是启用自动业务处理。例如,两个商业组织认可他们之间交换的 XML 文档的环境,这样他们可以实现自动生成的消息和响应。比方说这两个商业组织约定订单命令首先进入订购部门,然后进入订单确认部门,然后进入送货部门,最后进入结算部门。每个部门有一个即时接受者(称之为 actor)。在 actor 结束它的处理之后,它将删除头部的所有关于自身内容,并将消息发送给头部中所列出的下一个 actor 。
问. 我是否能在 JAXM 消息中使用 ebXML 头部?
答. 是的,如果您使用一个在 SOAP 上实现的 ebXML 概要文件,那么可以使用 ebXML 头部。一个概要文件是一个标准协议,如 ebXML TRP 或 SOAP-RP ,它工作在 SOAP 之上,提供附加功能。您需要使用消息提供者支持概要文件,而且您需要让接受者使用相同的概要文件。