17.2. 配置消费者端点


概述

JAX-WS 消费者端点使用 jaxws:client 元素进行配置。元素的属性提供创建消费者所需的基本信息。

将其他功能(如 WS-RM)添加到您向 jaxws:client 元素添加子项的消费者:子元素也用于配置端点的日志行为,并将其他属性注入端点的实施中。

基本配置属性

表 17.4 “用于配置 JAX-WS Consumer 的属性” 中描述的属性提供了配置 JAX-WS 使用者所需的基本信息。您只需要为您要配置的特定属性提供值。大多数属性都有明显的默认值,或者它们依赖于端点合同提供的信息。

表 17.4. 用于配置 JAX-WS Consumer 的属性
属性描述

address

指定消费者要发出请求的端点的 HTTP 地址。这个值会覆盖合同中设置的值。

bindingId

指定消费者使用的消息绑定的 ID。第 23 章 Apache CXF 绑定 ID 中提供了有效绑定 ID 列表。

bus

指定配置管理端点总线的 Spring bean 的 ID。

endpointName

为消费者发出请求的服务指定 wsdl:port 元素的 name 属性的值。它使用格式 ns:name 格式将其指定为 QName,其中 nswsdl:port 元素的命名空间。

serviceName

为消费者发出请求的服务指定 wsdl:service 元素的 name 属性的值。它使用格式 ns:name 将它指定为 QName,其中 nswsdl:service 元素的命名空间。

username

指定用于简单用户名/密码身份验证的用户名。

password

指定用于简单用户名/密码身份验证的密码。

serviceClass

指定服务端点接口(SEI)的名称。

wsdlLocation

指定端点的 WSDL 合同的位置。WSDL 合同的位置相对于部署客户端的文件夹。

name

为消费者发出请求的服务指定 wsdl:port 元素的字符串 QName。它使用 {ns}localPart 格式将其指定为 QName,其中 nswsdl:port 元素的命名空间,localPartwsdl:port 元素的 name 属性的值。

abstract

指定 bean 是否为抽象 Bean。抽象 Bean 充当 concrete bean 定义的父项,且不会实例化。默认值为 false。把它设置为 true 会指示 bean 工厂不会实例化 bean。

dependent-on

指定在可以实例化前端点要实例化的 Bean 列表。

createdFromAPI

指定使用 Apache CXF API (如 Service.getPort () )创建的 bean 用户。

默认值为 false

把它设置为 true 执行以下操作:

  • 通过将 .jaxws-client 附加到其 id 来更改 bean 的内部名称
  • 使 bean 抽象

除了 表 17.4 “用于配置 JAX-WS Consumer 的属性” 中列出的属性外,可能需要使用多个 xmlns:shortName 属性来声明 endpointNameserviceName 属性使用的命名空间。

添加功能

要向消费者添加功能或执行高级配置,您必须在配置中添加子元素。

子元素允许您执行以下操作:

表 17.5 “用于配置消费者端点的元素” 描述可用于配置 JAX-WS 使用者的子元素。

表 17.5. 用于配置消费者端点的元素
元素描述

jaxws:binding

指定 bean 配置端点使用的消息绑定。消息绑定使用 org.apache.cxf.binding.BindingFactory 接口的实现进行配置。[a]

jaxws:dataBinding

指定实施端点使用的数据绑定的类。您可以使用嵌入式 bean 定义来指定它。实施 JAXB 数据绑定的类是 org.apache.cxf.jaxb.JAXBDataBinding

jaxws:features

指定配置 Apache CXF 高级功能的 Bean 列表。您可以提供 bean 引用列表或嵌入式 Bean 列表。

jaxws:handlers

指定用于处理消息的 JAX-WS 处理程序列表。有关 JAX-WS 处理程序实现中的更多信息,请参阅 第 43 章 编写处理程序

jaxws:inInterceptors

指定处理入站响应的拦截器列表。如需更多信息,请参阅 第 VII 部分 “开发 Apache CXF Interceptors”

jaxws:inFaultInterceptors

指定处理入站故障消息的拦截器列表。如需更多信息,请参阅 第 VII 部分 “开发 Apache CXF Interceptors”

jaxws:outInterceptors

指定处理出站请求的拦截器列表。如需更多信息,请参阅 第 VII 部分 “开发 Apache CXF Interceptors”

jaxws:outFaultInterceptors

指定处理出站故障消息的拦截器列表。如需更多信息,请参阅 第 VII 部分 “开发 Apache CXF Interceptors”

jaxws:properties

指定传递给端点的属性映射。

jaxws:conduitSelector

为客户端指定要使用的 org.apache.cxf.endpoint.ConduitSelector 实现。ConduitSelector 实现将覆盖用于处理出站请求的 Conduit 对象的默认进程。

[a] SOAP 绑定使用 soap:soapBinding bean 配置。

示例

例 17.5 “简单的消费者配置” 显示简单的消费者配置。

例 17.5. 简单的消费者配置

<beans ...
  xmlns:jaxws="http://cxf.apache.org/jaxws"
  ...
  schemaLocation="...
    http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
    ...">
  <jaxws:client id="bookClient"
                serviceClass="org.apache.cxf.demo.BookClientImpl"
                address="http://localhost:8080/books"/>
  ...
</beans>

在 JAX-WS 使用者上启用架构验证

要在 JAX-WS 消费者上启用架构验证,请在 jaxws:client 元素的 jaxws:properties 子元素中设置 schema-validation-enabled 属性,例如:

<jaxws:client name="{http://apache.org/hello_world_soap_http}SoapPort"
    createdFromAPI="true">
    <jaxws:properties>
        <entry key="schema-validation-enabled" value="BOTH" />
    </jaxws:properties>
</jaxws:client>

有关 schema-validation-enabled 属性的允许值列表,请参阅 第 24.3.4.7 节 “模式验证类型值”

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.