12.2.2. 使用配置
命名空间
用于配置 HTTP 消费者端点的元素在命名空间 http://cxf.apache.org/transports/http/configuration 中定义。通常会使用前缀 http-conf
来引用。要使用 HTTP 配置元素,您必须将 例 12.4 “HTTP Consumer 配置命名空间” 中显示的行添加到端点配置文件的 Bean
元素中。另外,您必须将配置元素的命名空间添加到 xsi:schemaLocation
属性中。
例 12.4. HTTP Consumer 配置命名空间
<beans ... xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" ... xsi:schemaLocation="... http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd ...">
Undertow 运行时或 Netty 运行时
您可以使用 http-conf
命名空间中的元素来配置 Undertow 运行时或 Netty 运行时。
conduit 元素
您可以使用 http-conf:conduit
元素及其子项来配置 HTTP consumer 端点。http-conf:conduit
元素使用单个属性名称,用于指定与端点对应的 WSDL 端口
元素。name
属性的值采用 portQName'.http-conduit' 的形式。例 12.5 “http-conf:conduit
Element” 显示 http-conf:conduit
元素,用于为 WSDL 片段 < port binding="widgetSOAPBinding" name="widgetSOAPPort&
gt; 指定的端点添加配置。
例 12.5. http-conf:conduit
Element
... <http-conf:conduit name="{http://widgets/widgetvendor.net}widgetSOAPPort.http-conduit"> ... </http-conf:conduit> ...
http-conf:conduit
元素含有指定配置信息的子元素。它们在 表 12.1 “用于配置 HTTP Consumer Endpoint 的元素” 中进行了说明。
element | 描述 |
---|---|
| 指定 HTTP 连接属性,如超时、保留请求、内容类型等。请参阅 “client 元素”一节。 |
指定用于配置端点预先使用的基本身份验证方法的参数。首选的方法是提供 | |
指定用于为传出 HTTP 代理服务器配置基本身份验证的参数。 | |
指定用于配置 SSL/TLS 的参数。 | |
指定提供端点使用的基本身份验证信息的对象 bean 引用或类名称,可抢占或响应 401 HTTP 质询。 | |
指定对象的 bean 引用或类名称,用于检查 HTTP (S) |
client 元素
http-conf:client
元素用于配置消费者端点 HTTP 连接的非安全属性。其属性(如 表 12.2 “HTTP Consumer Configuration Attributes” 所述)指定连接的属性。
属性 | 描述 |
---|---|
指定消费者在连接超时前尝试建立连接的时间长度(以毫秒为单位)。默认值为
| |
指定消费者在超时前等待响应的时间长度(以毫秒为单位)。默认值为
| |
指定消费者是否会自动遵循服务器发出的重定向。默认值为 | |
指定消费者要重新传输请求以满足重定向的次数上限。默认值为 | |
指定消费者是否使用块发送请求。默认值为 如果以下条件之一为 true,则无法使用块:
在这两种情况下, | |
指定消费者准备处理哪些媒体类型。该值用作 HTTP | |
指定接收响应时使用者喜欢的语言(例如,美国英语)。该值用作 HTTP 语言标签由标准(ISO)国际组织规定,通常通过组合语言代码(由 ISO-639 标准决定)和国家/地区代码(由 ISO-3166 标准决定)由 ISO-3166 标准决定,由连字符分开。例如,De-US 代表美国英语。 | |
指定消费者已准备好处理的内容编码。内容编码标签由互联网编号授权机构(IANA)规定。该值用作 HTTP | |
指定消息正文中发送数据的介质类型。介质类型使用多用途的互联网邮件扩展(MIME)类型来指定。该值用作 HTTP
对于 Web 服务,这应设置为 | |
指定请求被调用的资源的互联网主机和端口号。该值用作 HTTP 通常不需要此属性。只有某些 DNS 场景或应用程序设计才需要它。例如,它指示了集群客户端首选的主机(即,用于虚拟服务器映射到相同的互联网协议(IP)地址)。 | |
指定在每个请求/响应对话框后,是否保持打开或关闭特定连接。有两个有效值:
| |
指定有关通过链中涉及缓存的缓存遵守行为的指令,这些指令由来自消费者到服务提供商的请求组成。请参阅 第 12.2.4 节 “消费者缓存控制指令”。 | |
指定与所有请求一起发送的静态 Cookie。 | |
指定请求源自的浏览器的信息。在 World Wide Web consortium (W3C)的 HTTP 规格中,这也被称为 user-agent。某些服务器根据发送请求的客户端进行优化。 | |
指定定向到消费者在特定服务上发出请求的资源的 URL。该值用作 HTTP 推荐 当请求是浏览器用户点击超链接而不是输入 URL 时,会使用此 HTTP 属性。这可允许服务器根据之前的任务流优化处理,并为日志、优化缓存、跟踪过时或错误类型链路等目的生成后端链接列表。但是,它通常在 Web 服务应用程序中使用。
如果 | |
指定在一个单独的 provider→consumer 连接中接收响应的分离端点的 URL。有关使用分离端点的更多信息,请参阅 第 12.6 节 “在拒绝模式中使用 HTTP 传输”。 您必须配置使用者端点和服务供应商端点,以使用 WS-Addressing 分离端点才能工作。 | |
指定路由请求的代理服务器的 URL。 | |
指定路由请求的代理服务器的端口号。 | |
指定用于路由请求的代理服务器的类型。有效值为:
|
示例
例 12.6 “HTTP Consumer Endpoint 配置” 显示要保持与请求间打开的 HTTP 消费者端点的配置,该端点只会在每次调用一次重新传输请求,且无法使用块流。
例 12.6. HTTP Consumer Endpoint 配置
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <http-conf:conduit name="{http://apache.org/hello_world_soap_http}SoapPort.http-conduit"> <http-conf:client Connection="Keep-Alive" MaxRetransmits="1" AllowChunking="false" /> </http-conf:conduit> </beans>
更多信息
有关 HTTP conduits 的更多信息,请参阅 第 16 章 conduits。