41.2.2. 数据类型


概述

由于它们是低级对象,因此提供商实施无法使用与更高级别的消费者 API 相同的 JAXB 生成的类型。供应商实现用于以下类型的对象:

使用 Source 对象

提供程序实施可以接受并返回来自 javax.xml.transform.Source 接口的对象。源对象是包含 XML 文档的低级别对象。每个 Source 实施都提供了访问存储 XML 文档和操作其内容的方法。以下对象实现 Source 接口:

DOMSource
将 XML 消息作为文档对象模型(DOM)树保存.XML 消息作为一组节点对象存储,它们通过 get Node () 方法进行访问。可以使用 setNode () 方法更新或添加到 DOM 树中。
SAXSource
将 XML 消息保存为 XML (SAX)对象的简单 API。SAX 对象包含一个 InputSource 对象,该对象保存原始数据和解析原始数据的 XMLReader 对象。
StreamSource
将 XML 消息作为数据流保存。数据流可以与任何其他数据流相同。

如果创建 Provider 对象使其使用通用源对象,Apache CXF 会将消息返回为 SAXSource 对象。

可以使用端点 的源-preferred-format 属性更改此行为。有关配置 Apache CXF 运行时的信息,请参阅 第 IV 部分 “配置 Web 服务端点”

重要

在使用 Source 对象时,开发人员将负责确保所有所需的特定绑定程序都添加到消息中。例如,当与希望 SOAP 消息的服务交互时,开发人员必须确保将所需的 SOAP envelope 添加到传出请求中,并且 SOAP envelope 的内容正确。

使用 SOAPMessage 对象

当以下条件满足时,提供程序实施可以使用 javax.xml.soap.SOAPMessage 对象:

  • Provider 实现使用 SOAP 绑定
  • Provider 实现使用消息模式

SOAPMessage 对象保存 SOAP 消息。它们包含一个 SOAPPart 对象和零个或更多 AttachmentPart 对象。SOAPPart 对象包含 SOAP 消息的特定部分,包括 SOAP envelope、任何 SOAP 标头和 SOAP 消息正文。AttachmentPart 对象包含作为附件传递的二进制数据。

使用 DataSource 对象

当以下条件满足时,提供程序实施可以使用实现 javax.activation.DataSource 接口的对象:

  • 实现使用 HTTP 绑定
  • 实现使用消息模式

Datasource 对象提供了一种机制,可用于处理来自各种来源的 MIME 类型数据,包括 URL、文件和字节阵列。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat