联通VAC WebService接口

调试青海联通VAC接口,根据VAC SP接口规范1212中的wsdl文件,采用axis生成WebService服务,调试时发现青海联通VAC发送的请求解析老是出错:

 

 

2010-07-09 13:52:44,627[DEBUG]org.apache.axis.enterprise(325) - Mapping Exception to AxisFault

org.xml.sax.SAXException: Invalid element in com.unicom.vac.bossagent.soap.sync.req.OrderRelationUpdateNotifyRequest - userIdType

        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.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)

        at org.apache.axis.encoding.ser.BeanDeserializer.startElement(BeanDeserializer.java:154)

        at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)

        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)

..............

 

 

后来通过axis的SOAPMonitor,发现联通给过来的VAC同步请求消息和规范中的wsdl定义不一样,修改了wsdl文件,重新生成WebService代码,再次测试成功。

 

修改后的wsdl如下:

 

 

规范中的wsdl文件如下:

 

 

联通VAC接口发过来的WebService请求消息如下:

 

 

问了一下青海联通,他们的VAC是华为做的,而且很多业务已经在跑了,真的搞不明白他们怎么调试通过的?

也许是我拿到的wsdl文件就不对,或是他们按照http+xml去自行解析了?

 

当然这个问题没出去说,也找不到华为的兄弟来讨论,既然已经有那么多业务在跑了,即使是他们未按照正确的规范来做现在也不能改了。只不过希望使用WebService来做规范的开发人员以后一定要按照规范来做,否则还采用WebService干嘛呢,徒增许多麻烦。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值