第 77 章 SOAP
SOAP 是一种数据格式,它使用 JAXB2 和 JAX-WS 注释来 marshal 和 unmarshal SOAP 有效负载。它提供了 Apache CXF 的基本功能,无需 CXF 堆栈。
命名空间前缀映射
如需了解在使用 SOAP 数据格式 marshalling 时如何控制命名空间前缀映射的详细信息,请参阅 JAXB。
77.1. SOAP 选项
SOAP 数据格式支持 6 个选项,如下所列。
Name | 默认值 | Java 类型 | 描述 |
---|---|---|---|
contextPath |
| 您的 JAXB 类所在的所需软件包名称。 | |
编码 |
| 要覆盖rule 并使用特定的编码。 | |
elementNameStrategyRef |
| 引用用于从 registry 查找的元素策略。元素名称策略用于两个目的。第一个是查找给定对象的 xml 元素名称,在将对象组合到 SOAP 消息时执行 soap 操作。第二个是查找给定 soap 错误名称的例外类。以下三元素策略类名称开箱即用。QNameStrategy - 使用在实例化上配置的固定 qName。不支持异常查找 - 使用给定类型的 XMLType 注解中的名称和命名空间。如果没有设置命名空间,则使用 package-info。不支持别名的 ServiceInterfaceStrategy - 使用 webservice 界面中的信息来确定类型名称,并找到 SOAP 错误的所有类异常类位于软件包名称 org.apache.camel.dataformat.soap.name 中,如果您生成了带有 cxf-codegen 或类似的工具的 web 服务根代码,那么您可能希望使用 ServiceInterfaceStrategy。如果没有注解的服务接口,则应使用 QNameStrategy 或 TypeNameStrategy。 | |
version |
| SOAP 版本应该是 1.1 或 1.2。默认为 1.1。 | |
namespacePrefixRef |
| 当使用 JAXB 或 SOAP 进行 marshalling 时,JAXB 实施将自动分配命名空间前缀,如 ns2、ns3、ns4 等。要控制此映射,Camel 允许您引用包含所需映射的映射。 | |
schema |
| 针对现有模式进行验证:您可以使用前缀 classpath:, file: 或 http: 指定资源应该如何解析。您可以使用 ',' 字符分隔多个架构文件。 |