CXF&Camel:IllegalArgumentException:获取错误的参数大小以调用 out 服务
我最近在尝试将 XML 传递给 apache Camel 中的 Cxf Webservice 时遇到了这个问题.
I recently came across this issue when trying to pass an XML to a Cxf Webservice within apache Camel.
Caused by: java.lang.IllegalArgumentException: Get the wrong parameter size to invoke the out service, Expect size 1, Parameter size 2. Please check if the message body matches the CXFEndpoint POJO Dataformat request.
at org.apache.camel.component.cxf.CxfProducer.checkParameterSize(CxfProducer.java:241)
其中一个 XML 标记包含逗号,这似乎是问题所在.
One of the XML tags included a comma, which seems to be the issue.
推荐答案
事实证明,我将 XML 作为字符串传递到交换体中.但是 CxfProducer(POJO 数据格式)需要一个列表.如果不是这种情况,它会解析字符串并将逗号解释为列表分隔符.
As it turned out, I was passing the XML as a string in the body of the exchange. But the CxfProducer (in the POJO data format) expects a List. If it's not the case it parses the String and the comma gets interpreted as a list separator.
我希望它也能对其他人有所帮助!
I hope it will help someone else as well!
相关文章