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、文件和字节阵列。