17.2. 配置消费者端点


概述

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

要将其他功能(如 WS-RM)添加到 jaxws:client 元素的使用者中。子元素也用于配置端点的日志记录行为,并将其他属性注入端点的实现中。

基本配置属性

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

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

address

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

bindingId

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

bus

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

endpointName

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

serviceName

指定消费者发出请求的服务的 wsdl:service 元素的 name 属性的值。它被指定为 QName,格式为 ns:name,其中 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。

depends-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. 配置消费者端点的元素
element描述

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.4 “简单消费者配置” 显示简单的消费者配置。

例 17.4. 简单消费者配置

<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 consumer 上启用模式验证

要在 JAX-WS consumer 上启用模式验证,请在 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.