28.4. 端点选项


HTTP 端点使用 URI 语法进行配置:

http://httpUri

使用以下路径和查询参数:

28.4.1. 路径参数(1 参数)

Name描述默认值类型

httpUri (common)

需要 要调用的 HTTP 端点的 url。

 

URI

28.4.2. 查询参数(51 参数)

Name描述默认值类型

chunked (producer)

如果此选项为 false,则 Servlet 将禁用 HTTP 流,并在响应上设置 content-length 标头。

true

布尔值

disableStreamCache (common)

确定来自 Servlet 的原始输入流是否缓存(Camel 会将流读取到内存/出口流到文件中,流缓存)缓存中。默认情况下,Camel 将缓存 Servlet 输入流,以支持多次读取它,以确保 Camel 可以从流检索所有数据。但是,当您需要访问原始流(如将其直接流传输到文件或其他持久性存储)时,您可以将此选项设置为 true。DefaultHttpBinding 将请求输入流复制到流缓存中,如果此选项为 false,则将其放在消息正文中,以支持多次读取流。如果您使用 Servlet 网桥/代理端点,请考虑启用此选项来提高性能,以防不需要多次读取消息有效负载。默认情况下,http producer 将缓存响应正文流。如果将此选项设置为 true,则制作者不会缓存响应正文流,而是将响应流用作消息正文。

false

布尔值

HeaderFilterStrategy (common)

使用自定义 HeaderFilterStrategy 将标头过滤到或从 Camel 消息过滤。

 

HeaderFilterStrategy

httpBinding (common (advanced))

使用自定义 HttpBinding 控制 Camel 消息和 HttpClient 之间的映射。

 

HttpBinding

bridgeEndpoint (producer)

如果选项为 true,HttpProducer 将忽略 Exchange.HTTP_URI 标头,并使用端点的 URI 进行请求。您还可以将 throwExceptionOnFailure 选项设置为 false,以便 HttpProducer 发送所有错误响应。

false

布尔值

clearExpiredCookies (producer)

在发送 HTTP 请求前,是否清除已过期的 Cookie。这样可确保 Cookie 存储不会通过添加新的 Cookie 在过期时被删除。如果组件禁用了 Cookie 管理,这个选项也会禁用。

true

布尔值

connectionClose (producer)

指定是否必须将 Connection Close 标头添加到 HTTP 请求中。默认情况下,connectionClose 为 false。

false

布尔值

copyHeaders (producer)

如果此选项为 true,则 IN 交换标头将根据复制策略复制到 OUT 交换标头中。把它设置为 false,允许仅包含 HTTP 响应中的标头(不传播 IN 标头)。

true

布尔值

customHostHeader (producer)

将自定义主机标头用于制作者。如果没有在查询中设置,将被忽略。当设置将覆盖从 url 中派生的主机标头。

 

字符串

httpMethod (producer)

配置要使用的 HTTP 方法。如果设置,HttpMethod 标头将无法覆盖这个选项。

Enum 值:

  • GET
  • POST
  • PUT
  • DELETE
  • HEAD
  • 选项
  • TRACE
  • PATCH
 

HttpMethods

ignoreResponseBody (producer)

如果此选项为 true,http producer 不会读取响应正文并缓存输入流。

false

布尔值

lazyStartProducer (producer)

生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。

false

布尔值

preserveHostHeader (producer)

如果选项为 true,HttpProducer 会将 Host 标头设置为当前交换主机标头中包含的值,在您希望下游服务器接收的 Host 标头来反映上游客户端调用的 URL,这将允许使用 Host 标头为代理服务生成准确的 URL。

false

布尔值

throwExceptionOnFailure (producer)

在从远程服务器的响应失败时禁用抛出 HttpOperationFailedException 的选项。这样,无论 HTTP 状态代码是什么,您都可以获得所有响应。

true

布尔值

transferException (producer)

如果在消费者端启用和交换失败的处理,如果原因的例外在响应中以 application/x-java-serialized-object 内容类型发送回序列化。在制作者一侧,异常会被反序列化并抛出,而不是 HttpOperationFailedException。需要对原因的异常进行序列化。默认情况下关闭。如果您启用此功能,则 Java 会将传入的数据从请求反序列化到 Java,这可能会存在潜在的安全风险。

false

布尔值

cookieHandler (producer (advanced))

配置 Cookie 处理程序来维护 HTTP 会话。

 

CookieHandler

cookieStore (producer (advanced))

使用自定义 CookieStore。默认情况下,使用 BasicCookieStore,这是仅内存的 Cookie 存储。请注意,如果 bridgeEndpoint=true,则 Cookie 存储被强制成为 noop cookie 存储,因为 Cookie 不应存储,因为我们只是桥接(例如作为代理)。如果设置了 CookieHandler,则 Cookie 存储也会强制成为 noop cookie 存储,因为 Cookie 处理由 CookieHandler 执行。

 

CookieStore

deleteWithBody (producer (advanced))

HTTP DELETE 是否应该包含消息正文。默认情况下,HTTP DELETE 不包含任何 HTTP 正文。但是,在一些个别情况下,用户可能需要包含消息正文。

false

布尔值

getWithBody (producer (advanced))

HTTP GET 是否应该包含消息正文。默认情况下,HTTP GET 不包含任何 HTTP 正文。但是,在一些个别情况下,用户可能需要包含消息正文。

false

布尔值

okStatusCodeRange (producer (advanced))

被视为成功响应的状态代码。该值包含。可以定义多个范围,用逗号分开,例如 200-204,209,301-304。每个范围都必须是一个数字或 from-to,其中包含横线。

200-299

字符串

skipRequestHeaders (producer (advanced))

是否跳过将所有 Camel 标头映射为 HTTP 请求标头。如果 HTTP 请求中没有来自 Camel 标头的数据,这可以避免为 JVM 垃圾收集器解析许多对象分配的开销。

false

布尔值

skipResponseHeaders (producer (advanced))

是否跳过将所有 HTTP 响应标头映射到 Camel 标头。如果没有 HTTP 标头需要的数据,这可以避免为 JVM 垃圾收集器解析许多对象分配的开销。

false

布尔值

userAgent (producer (advanced))

设置自定义 HTTP User-Agent 请求标头:

 

字符串

ClientBuilder (advanced)

提供对此端点的制作者或消费者使用的新 RequestConfig 实例中使用的 http 客户端请求参数的访问权限。

 

HttpClientBuilder

clientConnectionManager (advanced)

使用自定义 HttpClientConnectionManager 管理连接。

 

HttpClientConnectionManager

connectionsPerRoute (advanced)

每个路由的最大连接数。

20

int

httpClient (advanced)

设置制作者要使用的自定义 HttpClient。

 

HttpClient

httpClientConfigurer (advanced)

为生成者或消费者(如配置身份验证机制等)创建的新 HttpClient 实例注册自定义配置策略。

 

HttpClientConfigurer

httpClientOptions (advanced)

使用映射中的键/值来配置 HttpClient:

 

Map

httpContext (advanced)

使用自定义 HttpContext 实例。

 

HttpContext

maxTotalConnections (advanced)

连接的最大数量。

200

int

useSystemProperties (advanced)

使用系统属性作为配置的回退。

false

布尔值

proxyAuthDomain (proxy)

用于 NTML 的代理身份验证域。

 

字符串

proxyAuthHost (proxy)

代理身份验证主机。

 

字符串

proxyAuthMethod (proxy)

要使用的代理验证方法。

Enum 值:

  • 基本的
  • 摘要
  • NTLM
 

字符串

proxyAuthNtHost (proxy)

用于 NTML 的代理身份验证域(工作站名称)。

 

字符串

proxyAuthPassword (proxy)

代理身份验证密码。

 

字符串

proxyAuthPort (proxy)

代理身份验证端口。

 

int

proxyAuthScheme (proxy)

要使用的代理身份验证方案。

Enum 值:

  • http
  • https
 

字符串

proxyAuthUsername (proxy)

代理身份验证用户名。

 

字符串

proxyHost (proxy)

要使用的代理主机名。

 

字符串

proxyPort (proxy)

要使用的代理端口。

 

int

authDomain (security)

与 NTML 一起使用的身份验证域。

 

字符串

authenticationPreemptive (security)

如果此选项为 true,则 camel-http 会将抢占基本身份验证发送到服务器。

false

布尔值

authHost (security)

与 NTML 一起使用的身份验证主机。

 

字符串

authmethod (security)

允许用作以逗号分隔的值列表的身份验证方法 Basic、Digest 或 NTLM。

 

字符串

authMethodPriority (security)

要优先使用哪个身份验证方法,可以是 Basic、Digest 或 NTLM。

Enum 值:

  • 基本的
  • 摘要
  • NTLM
 

字符串

authPassword (security)

身份验证密码。

 

字符串

authUsername (security)

身份验证用户名。

 

字符串

sslContextParameters (security)

使用 SSLContext 参数配置安全性:重要: 每个 HttpComponent 仅支持一个 org.apache.camel.util.jsse.SSLContextParameters 的实例。如果您需要使用 2 个或更多不同的实例,则需要定义您需要的每个实例的新 HttpComponent。

 

SSLContextParameters

x509HostnameVerifier (security)

使用自定义 X509HostnameVerifier,如 DefaultHostnameVerifier 或 NoopHostnameVerifier。

 

HostnameVerifier

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.