Mule ESB - 请求格式无效的text / xml;字符集= UTF-8

时间:2015-03-02 05:06:18

标签: jax-ws mule-studio

我想通过SOAP使用Web服务,并且已阅读所有关于"使用webservice"的文档。在Mule网站上找到。我正在使用此网络服务进行测试:http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx

这是我的问题。

如果我将WebServiceConsumer与DataMapper一起使用,则会发送

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <ns0:getMobileCodeInfo xmlns:ns0="http://WebXml.com.cn/">
        <ns0:mobileCode>13683646566</ns0:mobileCode>
        <ns0:userID/>
    </ns0:getMobileCodeInfo>
</soap:Body></soap:Envelope>

并且完美无缺。但关键是Community Editon不支持DataMapper;所以我改用JAX-client。我的流程是

<sub-flow name="SOAP_test_Flow">
    <set-payload value="#[{'13683646566',''}]" doc:name="Set Payload"/>
    <cxf:jaxws-client operation="getMobileCodeInfo" clientClass="mobile.MobileCodeWS" port="MobileCodeWSSoap" wsdlLocation="classpath:/wsdl/MobileCodeWS.asmx.wsdl" doc:name="CXF"/>
    <outbound-endpoint address="http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo" encoding="UTF-8" mimeType="text/xml" doc:name="Generic"/>
</sub-flow>

mobile生成包/wsdl/MobileCodeWS.asmx.wsdl。我很确定我的流程没问题,而且我已经测试过这个子流程发送了

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <getMobileCodeInfo xmlns="http://WebXml.com.cn/">
        <mobileCode>13683646566</mobileCode>
        <userID></userID>
    </getMobileCodeInfo>
</soap:Body>
</soap:Envelope>

目标地址。但它返回

请求格式无效: text/xml; charset=UTF-8。

表示&#34;请求格式无效:text / xml;字符集= UTF-8&#34;

wsdl文件位于:http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

1 个答案:

答案 0 :(得分:0)

小心你发送的网址!!!

<sub-flow name="SOAP_test_Flow">
<set-payload value="#[{'13683646566',''}]" doc:name="Set Payload"/>
<cxf:jaxws-client operation="getMobileCodeInfo" clientClass="mobile.MobileCodeWS" port="MobileCodeWSSoap" wsdlLocation="classpath:/wsdl/MobileCodeWS.asmx.wsdl" doc:name="CXF"/>
<outbound-endpoint address="http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo" encoding="UTF-8" mimeType="text/xml" doc:name="Generic"/>

地址应该

http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx

有乐趣!!!