CXF&Camel:IllegalArgumentException:获取错误的参数大小以调用 out 服务

2022-01-19 00:00:00 xml web-services java cxf apache-camel

我最近在尝试将 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!

相关文章