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 值:
| 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 值:
| 字符串 | |
proxyAuthNtHost (proxy) | 用于 NTML 的代理身份验证域(工作站名称)。 | 字符串 | |
proxyAuthPassword (proxy) | 代理身份验证密码。 | 字符串 | |
proxyAuthPort (proxy) | 代理身份验证端口。 | int | |
proxyAuthScheme (proxy) | 要使用的代理身份验证方案。 Enum 值:
| 字符串 | |
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 值:
| 字符串 | |
authPassword (security) | 身份验证密码。 | 字符串 | |
authUsername (security) | 身份验证用户名。 | 字符串 | |
sslContextParameters (security) | 使用 SSLContext 参数配置安全性:重要: 每个 HttpComponent 仅支持一个 org.apache.camel.util.jsse.SSLContextParameters 的实例。如果您需要使用 2 个或更多不同的实例,则需要定义您需要的每个实例的新 HttpComponent。 | SSLContextParameters | |
x509HostnameVerifier (security) | 使用自定义 X509HostnameVerifier,如 DefaultHostnameVerifier 或 NoopHostnameVerifier。 | HostnameVerifier |