18.2. 配置 JAX-RS 客户端端点


18.2.1. 定义 JAX-RS 客户端端点

注入客户端代理

在 XML 语言(Blueprint XML 或 Spring XML)中实例化客户端代理的主要点是用来将它注入到另一个 bean 中,然后使用客户端代理调用 REST 服务。要在 XML 中创建客户端代理 bean,请使用 jaxrs:client 元素。

命名空间

JAX-RS 客户端端点使用与服务器端点 不同的 XML 命名空间来定义。下表显示了要用于哪些 XML 语言的命名空间:

XML 语言客户端端点的命名空间

蓝图(Blueprint)

http://cxf.apache.org/blueprint/jaxrs-client

Spring

http://cxf.apache.org/jaxrs-client

基本客户端端点定义

以下示例演示了如何在 Blueprint XML 或 Spring XML 中创建客户端代理 bean:

<jaxrs:client id="restClient"
       address="http://localhost:8080/test/services/rest"
       serviceClass="org.apache.cxf.systest.jaxrs.BookStoreJaxrsJaxws"/>

在什么位置,您必须设置以下属性来定义基本客户端端点:

id
客户端代理的 bean ID 可用于将客户端代理注入到 XML 配置中的其他 Bean 中。
address
address 属性指定 REST 调用的基本 URL。
serviceClass
serviceClass 属性通过指定根资源类(由 @Path标示)来提供 REST 服务的描述。实际上,这是一个 服务器 类,但不由客户端直接使用。指定的类仅用于其元数据(通过 Java 反映和 JAX-RS 注解),用于动态构建客户端代理。

指定标头

您可以使用 jaxrs:headers 子元素在客户端代理调用中添加 HTTP 标头,如下所示:

<jaxrs:client id="restClient"
       address="http://localhost:8080/test/services/rest"
       serviceClass="org.apache.cxf.systest.jaxrs.BookStoreJaxrsJaxws"
       inheritHeaders="true">
       <jaxrs:headers>
           <entry key="Accept" value="text/xml"/>
       </jaxrs:headers>
</jaxrs:client>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.