首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选项'getWithBody‘of HttpComponent不适用于Apache

选项'getWithBody‘of HttpComponent不适用于Apache
EN

Stack Overflow用户
提问于 2020-02-26 14:07:44
回答 2查看 277关注 0票数 1

Apache Camel的版本为2.18.1

在2.x的文档中,提供了https://camel.apache.org/components/2.x/http4-component.htmlgetWithBody选项作为查询参数。

  • deleteWithBody (生产者):HTTP是否应该包括消息体。默认情况下,HTTP删除不包括任何HTTP主体。然而,在一些罕见的情况下,用户可能需要能够包含消息体。缺省值: false
  • getWithBody (生产者):HTTP是否应该包括消息体。默认情况下,HTTP不包括任何HTTP主体。然而,在一些罕见的情况下,用户可能需要能够包含消息体。缺省假

但是,当我在端点URI的末尾连接这两个参数中的一个时,不能将其识别为选项。相反,它作为一个普通的查询参数传递给端点,而其他查询参数选项则作为组件选项处理,而不是转发到端点。

当我检查源代码时,我发现通过与HttpEndpoint (org.apache.camel.component.http4)和HttpCommonEndpoint (org.apache.camel.http.common)类的字段和方法匹配来识别选项。这些类中不存在、getWithBody、和getWithBody字段,而在这些类的字段中可以找到其他选项。

我可以假设文档是错误的吗?如果是这样的话,当http方法是GET或DELETE时,如何实现用HttpComponent(Http4Component)发送体?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-26 14:55:57

在Apache 2.19.0中引入了选项deleteWithBody。见骆驼-10916

在Apache 3.0.0中引入了选项getWithBody,并将其移植到2.25.0。见骆驼-14118

对于这样的旧版本使用github上存档的docs,它不会在网站- https://github.com/apache/camel/blob/camel-2.18.x/components/camel-http4/src/main/docs/http4-component.adoc上发布。

您需要更新到更新的版本,或者实现从HTTP4组件重写某些方法的自定义组件。在2.18.1中没有启用此OOTB的选项。

票数 2
EN

Stack Overflow用户

发布于 2022-06-28 11:58:37

我同意@Bedla的回答。

另外,这就是我们所做的。

我们检查了代码并进行了调试--这让我们意识到,在某个点上是骆驼交互,如果GET调用有一个,它就会掉下身体。它将作为普通的GET请求发送,因为Camel版本3.x.x只支持它。

我们尝试了不同的方法来强行添加身体。这也是失败的,因为我们添加的任何东西都会被骆驼丢弃。

当时我们用的是骆驼v2.22.1。更高的版本,如camel 3.x.x将是一个巨大的飞跃,因为将包含多个更改,所以幸运的是,我们的骆驼团队重新移植了将GET请求(从这里到getWithBody)发送到camel v2.25.0的能力。

代码级别更改:将getWithBody=true追加到请求URL

更新骆驼模

代码语言:javascript
运行
复制
camel-core-2.25.0.jar
camel-cxf-transport-2.25.0.jar
camel-cxf-2.25.0.jar
camel-core-xml-2.25.0.jar
camel-http-common-2.25.0.jar
camel-jaxb-2.25.0.jar
camel-spring-2.25.0.jar
camel-soap-2.25.0.jar
camel-cdi-2.25.0.jar
camel-jdbc-2.25.0.jar
camel-http4-2.25.0.jar

*特别说明*注意,在每个文件夹位置下,都有一个modules.xml文件。您需要打开它,并将jar文件版本号更改为要使用的版本。在本例中为2.25.0

就这样,快乐编码!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60415752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档