如何在CXF服务方法中传递包含逗号的String

时间:2014-08-21 07:24:07

标签: java web-services cxf

我使用camel cxf组件来调用Web服务。我试图传递XML String,它有一个逗号(,)。当我试图传递XML字符串时,它会抛出错误。

获取错误的参数大小以调用out ervice,Expect size 1,Parameter size 2.请检查消息正文是否与CXFEndpoint POJO Dataformat请求匹配。

这是我的网络服务方法

public String sendSMSRequest(
    @WebParam(name = "clientRequestXML", targetNamespace = "http://www.openuri.org/")
    String clientRequestXML);

我在XML String下面传递为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>

请帮我解决这个问题。我想用逗号(,)

发送字符串

1 个答案:

答案 0 :(得分:1)

CxfProducer(采用POJO数据格式)需要List。它解析String,逗号被解释为列表分隔符。您应该将List作为请求传递。例如:

Arrays.asList(clientRequestXML);