2013-07-19 78 views
0

我的web服务客户端有问题。我曾经将数据发送到webservice,没有任何问题,但是我们从Geronimo迁移到了Weblogic,并且ws客户端停止了工作。我已经研究了数据,这些数据被发送:AXIS2 Web服务客户端SOAP信封错误

<?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> 

但是这怎么可能,该轴是打电话完全不同?

回答

0

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

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