29.6. 使用 Spring 配置 CXF 端点
您可以使用以下显示的 Spring 配置文件配置 CXF 端点,您也可以将端点嵌入到 camelContext 标签中。当您调用服务端点时,您可以将 operationName 和 operationNamespace 标头设置为明确您调用的操作的状态。
务必包含 root Bean 元素上指定的 JAX-WS schemaLocation 属性。这允许 CXF 验证文件,并是必需的。另请注意 < cxf:cxfEndpoint/& gt; 标签末尾的命名空间声明。这些声明是必需的,因为此标签的属性值不支持组合 {namespace}localName 语法。
cxf:cxfEndpoint 元素支持很多附加属性:
| Name | 值 |
|---|---|
|
|
此服务实施的端点名称,它映射到 |
|
|
此服务实施的服务名称,它映射到 |
|
| WSDL 的位置。可以在 classpath、文件系统上,也可以远程托管。 |
|
|
要使用的服务模型的 |
|
| 服务发布地址。 |
|
| 在 JAX-WS 端点中使用的总线名称。 |
|
| 可以具有 JSR181 注解或没有该类的 SEI (服务端点接口)类的名称。 |
它还支持许多子元素:
| Name | 值 |
|---|---|
|
|
此端点的传入拦截器。< |
|
|
此端点的传入错误拦截器。< |
|
|
此端点的传出拦截器。< |
|
|
此端点的传出错误拦截器。< |
|
| 提供给 JAX-WS 端点的属性映射。请参见以下信息。 |
|
| 应用于 JAX-WS 端点的 JAX-WS 处理程序列表。请参见以下信息。 |
|
|
您可以指定在端点中使用 |
|
|
您可以指定要使用的此端点的 |
|
| 保存此端点拦截器的功能。Bean 或 refs 列表 |
|
| 要使用的端点的 schema 位置。schemaLocations 列表 |
|
|
要使用此端点的服务工厂。这可以通过 Spring < |
您可以找到更多高级示例,它们演示了如何在 CXF JAX-WS 配置页面上提供拦截器、属性和处理程序。
您可以使用 cxf:properties 设置 camel-cxf 端点的 dataFormat 和 setDefaultBus 属性。
在 SpringBoot 中,您可以使用 Spring XML 文件配置 camel-cxf,并使用类似以下示例的代码来创建 XML 配置 Bean:
@ImportResource({
"classpath:spring-configuration.xml"
})
@ImportResource({
"classpath:spring-configuration.xml"
})
但是,使用 Java 代码配置的 Bean (如其他示例所示)是在 SpringBoot 中的最佳实践。