0

我正在使用 Apache Camel 的 HTTP 4 组件来执行 HTTP-PUT 请求。在发送请求之前,我设置了自定义和应用程序相关的标头。标题键之一是“日期”。

但不幸的是,Camel-HTTP4 忽略了 Date-Header 并且不会将其发送到远程服务器:

.setHeader("Date", simple("${date:now:EEE, dd MMM yyyy HH:mm:ss z}"))
.toD("https4:{{myprops.uri}}?bridgeEndpoint=true" +
    "&throwExceptionOnFailure=false" +
    "&mapHttpMessageBody=true" +
    "&httpMethod=" + HttpMethods.PUT +
    "&connectTimeout={{myprops.connectTimeout}}" +
    "&socketTimeout={{myprops.socketTimeout}}").id("https-connect")
 // Date is not sent

有谁知道为什么要删除标头以及如何配置保留标头?

谢谢

4

1 回答 1

0

添加&date=${header.Date}.toD()参数中,因为它是自定义参数。

如果您在 http 调用之前定义了一些http 标头,则不必将它们添加到参数中。例如,在这种情况下,您可以使用.setHeader(Exchange.HTTP_METHOD, constant(HttpMethod.PUT))

于 2021-08-10T09:25:02.897 回答