我正在使用camel cxf组件来调用Web服务。我正在尝试传递 XML 字符串,其中有一个逗号 (,)。当我尝试传递 XML 字符串时,它会抛出以下错误。
获取错误的参数大小以调用 out s 服务,期望大小1,参数大小2。请检查消息正文是否与CXFEndpoint POJO数据格式请求匹配。
这是我的网络服务方法
public String sendSMSRequest(
@WebParam(name = "clientRequestXML", targetNamespace = "http://www.openuri.org/")
String clientRequestXML);
我将下面的 XML 字符串作为 clientRequestXML 传递。
<BODY>
<SCODE/>
<SMSSERVICE>
<SENDSMS_REQ>
<TO>
<CIFNUMBER>73</CIFNUMBER>
<MOBILE>null</MOBILE>
<LANG>2</LANG>
<MESSAGE>Dear SCUST2, your id is 1112</MESSAGE>
</TO>
</SENDSMS_REQ>
</SMSSERVICE>
</BODY>
请帮我解决这个问题。我想发送带逗号 (,) 的字符串
最佳答案
CxfProducer(POJO 数据格式)需要一个列表。它解析字符串并将逗号解释为列表分隔符。您应该将列表作为请求传递。例如:
Arrays.asList(clientRequestXML);
关于java - 如何在CXF服务方法中传递包含逗号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25420522/