AXIS2 Web服务客户端SOAP信封错误



我的Web服务客户端有问题。我过去常常毫无问题地将数据发送到webservice,但我们从Geronimo迁移到了Weblogic,ws客户端停止了工作。我已经调查了正在发送的数据:

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><ns1:loginData xmlns:ns1="http://xxxxxx.xx/xxx/xx/xxxx/webservice/xxxxxx/auction/types" soapenv:mustUnderstand="0"><ns1:anonymous>false</ns1:anonymous></ns1:loginData></soapenv:Header><soapenv:Body><ns1:offersSend xmlns:ns1="http://xxxxxx.xx/xxx/xx/xxxx/webservice/xxxxxx/auction/types"><ns1:http://xxxxxx.xx/xxx/xx/xxxx/webservice/etrace/auction/types>......

http://xxxxxx.xx/xxx/xx/xxxx/webservice/xxxxxx/auction/types>

返回的错误消息为:

soapenv:Server.userException</faultcode><faultstring>org.xml.sax.SAXParseException: &lt;Line 1, Column 426&gt;: XML-20201: (Fatal Error) Expected name instead of :.</faultstring><detail><ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">xxxx.xxxxxx.xxx</ns1:hostname></detail>

我很好奇出了什么问题,是AXIS的配置吗?让它发挥作用的可能性是什么?

编辑:我发现问题出在这一部分:

<ns1:http://xxxxxx.xx/xxx/xx/xxxx/webservice/etrace/auction/types>

旧的工作XML看起来是这样的:

<ns1:entityData>

但怎么可能呢,AXIS做的调用完全不同?

这可能是由AXIOM-421引起的。该问题发生在某些Axiom版本与某些StAX实现结合使用时。从Geronimo迁移到Weblogic之后,应用程序使用的StAX实现可能会有所不同。

解决方案是升级到较新的Axiom版本,或者将Woodstox添加到您的应用程序中,以便使用它来代替Weblogic的StAX实现。

最新更新