我实现别人的一个ws接口,用axis2实现的,报一个这个错!
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement result
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
有没有个也遇到过呢?
还有就是想向各位请教下,axis,axis2,cxf 都可以实现哪些形式的webservice.
RPC/Encoded
RPC/Literal
Document/Literal
Document /Literal
这几中有什么区别,分别是是什么意思,因为我想用cxf实现一个rpc/encoded的webservice,用wsdl2java的时候就报了错。然后改用axis2又报了上边的错。最后找了个axis1算是实现了吧!
就是对方一个远程方法,比如String getXML();然后你调用后就是返回的经过转义的xml文本了是吧?就是<变成了<。。。。那这样就是对方处理的不正确,是对方使用dom4j的问题,没有使用XMLWriter.setEscapeText(false);设置成不对<,&等特殊字数进行转义。加上XMLWriter.setEscapeText(false);就好。。。
咱们讨论了这么多不会是这个原因吧。。。。
看看这个是否能帮助你[url]http://hi.baidu.com/k_boy/blog/item/071bd2542d448754d109062a.html[/url]
RPC/Encoded
RPC/Literal
Document/Literal
Document /Literal
这几个的区别可以参考下这个文章:
[url]http://tongyizhu.spaces.live.com/blog/cns!6A210CFDC8BB2BB4!279.entry[/url]
至于这个错误:
org.apache.axis2.databinding.ADBException
情况太多了! 建议去网上转转! 可能就有思路了! :arrow:
解决了 就好! 一起研究 一起进步! :idea:
这样你可以把<再替换回来<。
晕乎。怎么这么怪,我以前用axis2生成的wsdl就没有转换啊,用浏览器看也好好的,你这个怎么会有呢,你这个类我没有用过!
恩。也有可能,你用axis1都没有问题,2才有问题,可能因为版本原因,那边给你提供接口的时候应该使用的1,你也统一一下试试。
还是你在本地存根解析的时候把<给替换了啊!我见好几个xml生成问题就把<给替换了。他们使用的是dom4j生成的!你看看你的本地村更生成的时候有没有设置阻止"<"的替换,dom4j有阻止替换的方法。