调用REST服务时出现IllegalArgumentException

时间:2014-06-07 16:33:10

标签: apache-camel

我在尝试通过cxfrs端点调用REST服务时遇到以下错误。

org.apache.camel.processor.Pipeline | 130 - org.apache.camel.camel-core - 2.10.0.redhat-60024 | Message exchange has failed: so breaking out of pipeline for exchange: Exchange[Message: [Body is null]] Exception: org.apache.cxf.jaxrs.client.ClientWebApplicationException: org.apache.cxf.jaxrs.client.ClientWebApplicationException: java.lang.IllegalArgumentException: IllegalArgumentException invoking 
http://someurl:8181/cxf/testService/test.xml?q1=new&q2=qwe: Illegal character(s) in message header value: 

我使用spring DSL编写camel代码。 以下是CXF-RS配置的代码片段:

<cxf:rsClient id="rsClient" address=" http://someurl:8181/cxf/testService"
loggingFeatureEnabled="true"/>

我们使用以下代码通过Camel代码调用rsClient:

<to id="outEndpoint" uri="cxfrs://bean://rsClient"/>

有人可以建议可能是什么原因吗?

由于

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用“removeHeaders”? 请在提供的链接中找到详细信息: http://camel.apache.org/how-to-avoid-sending-some-or-all-message-headers.html

答案 1 :(得分:0)

不确定这是IllegalArgumentException的原因,但address的{​​{1}}属性有一个前导空格:rsClient

(如果删除空格并不能解决您的问题,那么如果您能向我们展示整个路线定义会很有帮助。)