我的网络服务客户端有问题。我曾经毫无问题地将数据发送到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: <Line 1, Column 426>: 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的呼叫完全不同?
答案 0 :(得分:0)
这可能是由AXIOM-421引起的。某些Axiom版本与某些StAX实现相结合会出现此问题。可能在从Geronimo迁移到Weblogic之后,应用程序使用的StAX实现是不同的。
解决方案是升级到更新的Axiom版本,或者将Woodstox添加到您的应用程序中,以便使用它而不是Weblogic的StAX实现。