本文转自:http://blog.sina.com.cn/s/blog_4c925dca01014y3r.html
前几天公司要接入国外公司的一个业务功能,对方是提供的net产生的webservice,阿堂在用cxf的wsdl2java命令生成客户端的测试代码时,出现了如下故障
WSDLToJava Error: Thrown by JAXB: undefined element declaration 's:schema'
<wbr></wbr>
于是阿堂(网络时空)在网上查询大量资料和不断实践摸索后,最后发现了如下两种解决方法,希望阿堂(网络时空)的解决过程和总结,能对其它网友解决类似问题,提供借签和参考作用。
第一种方式(仍用cxf 解决)
step1
<wbr></wbr>
这里要特别说明的是,只能通过网页中另存为ccservice.wsdl,不能简单的将网页中的复制后,再粘贴到一个文本文件中,另存为ccservice.wsdl,这样即使经过下述的
step2后,仍然会报错
<wbr></wbr>
<wbr></wbr>
step2
首先将ccservice.wsdl文件中的如下内容进行如下替换
即将<s:element ref="s:schema" /><s:any />替换成<s:any minOccurs="2" maxOccurs="2"/>
<wbr></wbr>
这样处理后,再次运行wsdl2java又报了如下错误
<wbr></wbr>
阿堂经过仔细查看和分析,原来在ccservice.wsdl文件中,有queryResponse和QueryResponse两个名字的定义,可能在
net中webservice是不区分大小写的,但是在java中生成webservice的客户端时,又是区分大小写的,所以会报上述错误。针对此,阿堂(网络时空)于时将其中的QueryResponse的名字改为了QueryResponse1,且在ccservice.wsdl文件中将所有引用QueryResponse的地方也改成了QueryResponse1。。然后再将运行就一切ok啦
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
阿堂总结一下
在用cxf的wsdl2java命令处理net或其它语言产生的webservice时,如出现报错,要仔细观察报错信息的描述,通过自己思考和查询网络资源,有针对性的修改,一定是可以解决的。
<wbr></wbr>
<wbr></wbr>
第二种方式(用axis的webservice框架 解决)
从阿堂(网络时空)的测试来看,不需要任何修改即可生成websercie的客户端
<wbr></wbr>
<wbr></wbr>
不过,要需要axis如下一些jar包才能保证axis产生的webservice的客户端代码正常运行
<wbr></wbr>
阿堂总结一下
如果用时候发现用cxf的 wsdl2java命令不能正常执行时,不妨考用axix之类的其它webservice框架来解决问题,换一个角度去解决问题。
<wbr></wbr>
调用方式
Ccservice ccservice = new Ccservice();
CcserviceSoap ccserviceSoap = ccservice.getCcserviceSoap();
ccserviceSoap.query(参数1,参数2,...);
分享到:
相关推荐
java android 调用webservice,java android 调用webservice
调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...
java调用webservicejava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava...
java 调用https发布的webservice接口实例及axis包及详细说明
java调用json参数的webservice 涉及技术: JAVA JSON WEBSERVICE
根据C++开发的webservice接口提供的WSDL文件,调用接口
JAVA 调用SAP SOAP webservice需要注意的一些坑,请务必按步骤一步步来。
JAVA调用WEBSERVICE接口
java调用.net webservice时所需的jar包
java客户端程序调用webservice接口
Java使用SOAP获取webservice实例解析 具体实例分析说明。
在Java中使用Xfire调用C#的WebService例子
java 调用 webService大多数情况下的通用工具类,具体使用见里面的说明
文档详细介绍了用myeclipse生成webservice的方法步骤,以及abap调用webservice 第一步:myeclipse生成webservice 第二部:发布webservice 第三步:在sap系统生成webservice代理 第四步:生成port 第五步:用实例调用...
Java调用.NET的WebService接口实例,jar包删减到三个,干净清爽,里面包含注多注释和图解,搞了半天的家伙拿出来与大家分享,无任何BUG,修改里面的参数即可直接运行,对于这种好东西,花了半天时间10分不算高,重在...
java使用XFire调用webService接口
java 调用webservice的各种方法总结 现在webservice加xml技术已经逐渐成熟,但要真正要用起来还需时日!! 由于毕业设计缘故,我看了很多关于webservice方面的知识,今天和大家一起来研究研究webservice的各种使用...
java调用webservice工程,下载这个工程必须要java调用webservice工程
JAVA调用WebService所需要的JAR
java调用webservice