第 311 章 SOAP DataFormat
作为 Camel 版本 2.3 可用
SOAP 是一个数据格式,它使用 JAXB2 和 JAX-WS 注解来marshal 和 unmarshal SOAP 有效负载。它提供了 Apache CXF 的基本功能,无需 CXF 堆栈。
支持的 SOAP 版本
默认支持 SOAP 1.1。从 Camel 2.11 开始支持 SOAP 1.2。
命名空间前缀映射
参阅 JAXB 了解在使用 SOAP 数据格式进行聚合时如何控制命名空间前缀映射。
311.1. SOAP 选项 复制链接链接已复制到粘贴板!
SOAP 数据格式支持 7 个选项,它们如下。
Name | 默认 | Java 类型 | 描述 |
---|---|---|---|
contextPath |
| 您的 JAXB 类所在的软件包名称。 | |
encoding |
| 使用规则规则并使用特定的编码 | |
elementNameStrategyRef |
| 是指从注册表查找的元素策略。元素名称策略用于两种用途。第一种方法是查找给定对象的 xml 元素名称,并在将对象编入 SOAP 消息时进行 soap 操作。第二个是查找给定 soap 错误名称的 Exception 类。以下三元素策略类名称已开箱即用。QNameStrategy - 使用在实例化时配置的固定 qName。不支持 TypeNameStrategy - 使用给定类型的 XMLType 注解的 name 和 namespace 异常。如果没有设置 namespace,则使用 package-info。例外查找是不支持的 ServiceInterfaceStrategy - 使用 webservice 界面中的信息来确定类型名称,并查找 SOAP fault All three类的异常类位于软件包名称 org.apache.camel.dataformat.soap.name if您已使用 cxf-codegen 或类似工具生成 web 服务 stub 代码,那么您可能需要使用 ServiceInterfaceStrategy。如果还没有注解的服务接口,您应该使用 QNameStrategy 或 TypeNameStrategy。 | |
version |
|
| SOAP 版本应为 1.1 或 1.2.默认为 1.1 |
namespacePrefixRef |
| 在使用 JAXB 或 SOAP 时,JAXB 实现将自动分配命名空间前缀,如 ns2、ns3、ns4 等。要控制此映射,Camel 允许您引用包含所需映射的映射。 | |
schema |
| 针对现有模式进行验证。您可以使用前缀 classpath:、file: 或 http: 来指定资源应如何解析。您可以使用 ',' 字符分隔多个模式文件。 | |
contentTypeHeader |
|
| 如果数据格式能够这样做,则数据格式是否应该以 data 格式设置 Content-Type 标头。例如,用于数据格式的 application/xml (数据格式)或 application/json 用于数据格式 marshalling to JSon etc。 |