浏览 890 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-01-16
如题,这几天一直被这个问题困扰,对方的webservice是通过.net发布的,我这边用的是apache的axis,版本1.3,通过观察,soap消息能够正确返回,没问题,但是axis在解析消息还原对象的时候老是报错,我查了很多资料,不过似乎大家都没有碰到这个问题。
对方外网地址:http://124.193.89.94/AccountService.asmx,我通过http://124.193.89.94/AccountService.asmx?wsdl得到wsdl文件,在本地用axis生成客户端,手工编写也是如此,进行调用后报如下错误: 引用 2008-1-16 9:58:58 org.apache.axis.client.Call invoke 严重: Exception: org.xml.sax.SAXException: Invalid element in com.ccur.DBWS.AccountService.ResultType - AdultEntitlement at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384) at org.apache.axis.client.Call.invoke(Call.java:2467) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.ccur.DBWS.AccountService.AccountServiceSoapStub.getAdultEntitlementData(AccountServiceSoapStub.java:289) at com.ccur.DBWS.AccountService.AccountServiceSoapProxy.getAdultEntitlementData(AccountServiceSoapProxy.java:45) at com.ccur.DBWS.AccountService.Test.main(Test.java:13) AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: org.xml.sax.SAXException: Invalid element in com.ccur.DBWS.AccountService.ResultType - AdultEntitlement faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Invalid element in com.ccur.DBWS.AccountService.ResultType - AdultEntitlement at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384) at org.apache.axis.client.Call.invoke(Call.java:2467) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.ccur.DBWS.AccountService.AccountServiceSoapStub.getAdultEntitlementData(AccountServiceSoapStub.java:289) at com.ccur.DBWS.AccountService.AccountServiceSoapProxy.getAdultEntitlementData(AccountServiceSoapProxy.java:45) at com.ccur.DBWS.AccountService.Test.main(Test.java:13) {http://xml.apache.org/axis/}hostname:wangxx-pc org.xml.sax.SAXException: Invalid element in com.ccur.DBWS.AccountService.ResultType - AdultEntitlement at org.apache.axis.AxisFault.makeFault(AxisFault.java:101) at org.apache.axis.client.Call.invoke(Call.java:2470) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.ccur.DBWS.AccountService.AccountServiceSoapStub.getAdultEntitlementData(AccountServiceSoapStub.java:289) at com.ccur.DBWS.AccountService.AccountServiceSoapProxy.getAdultEntitlementData(AccountServiceSoapProxy.java:45) at com.ccur.DBWS.AccountService.Test.main(Test.java:13) Caused by: org.xml.sax.SAXException: Invalid element in com.ccur.DBWS.AccountService.ResultType - AdultEntitlement at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258) at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384) at org.apache.axis.client.Call.invoke(Call.java:2467) ... 5 more
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2008-07-09
返回的是什么数据类型?
从wsdl中看不出来啊. 我觉得可能是对方的wsdl有问题,你贴出.net端发布的wsdl出来看看 |
|
| 返回顶楼 | |
|
时间:2008-07-09
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <sendTone xmlns="http://service.webservice.xring.gzjp.cn"> <sendToneEvt> <ns1:callNumber xmlns:ns1="http://parameter.webservice.xring.gzjp.cn"> 13055555555 </ns1:callNumber> <ns2:inaccessInfo xmlns:ns2="http://parameter.webservice.xring.gzjp.cn"> <ns2:DID>110</ns2:DID> <ns2:DIDPWD>0001</ns2:DIDPWD> <ns2:SEQ>1</ns2:SEQ> <ns2:role>123456789</ns2:role> <ns2:roleCode>0088</ns2:roleCode> <ns2:version>v1.00</ns2:version> </ns2:inaccessInfo> <ns3:sendNumber xmlns:ns3="http://parameter.webservice.xring.gzjp.cn"> 13255555555 </ns3:sendNumber> <ns4:toneID xmlns:ns4="http://parameter.webservice.xring.gzjp.cn"> 99770900000001 </ns4:toneID> <ns5:toneType xmlns:ns5="http://parameter.webservice.xring.gzjp.cn"> 1 </ns5:toneType> </sendToneEvt> </sendTone> </soapenv:Body> </soapenv:Envelope> 做客户端要注意命名空间,必须和服务器的一致,否则服务器就解析不了XML. |
|
| 返回顶楼 | |




