转载地址:http://blog.sina.com.cn/s/blog_4c925dca01014y3r.html

前几天公司要接入国外公司的一个业务功能,对方是提供的net产生的webservice,阿堂在用cxf的wsdl2java命令生成客户端的测试代码时,出现了如下故障

WSDLToJava Error: Thrown by JAXB:undefined element declaration 's:schema'

于是阿堂(网络时空)在网上查询大量资料和不断实践摸索后,最后发现了如下两种解决方法,希望阿堂(网络时空)的解决过程和总结,能对其它网友解决类似问题,提供借签和参考作用。
第一种方式(仍用cxf 解决)
step1
http://test.payserv.net/Paygate/ccservice.asmx?WSDL对应的内容另存为 ccservice.wsdl

这里要特别说明的是,只能通过网页中另存为ccservice.wsdl,不能简单的将网页中的复制后,再粘贴到一个文本文件中,另存为ccservice.wsdl,这样即使经过下述的step2后,仍然会报错

step2
首先将 ccservice.wsdl文件中的如下内容进行如下替换
即将 <s:element ref="s:schema"/><s:any /> 替换成<s:anyminOccurs="2" maxOccurs="2"/>

这样处理后,再次运行wsdl2java又报了如下错误

阿堂经过仔细查看和分析,原来在ccservice.wsdl文件中,有queryResponse 和
QueryResponse 两个名字的定义,可能在net中webservice是不区分大小写的,但是在java中生成webservice的客户端时,又是区分大小写的,所以会报上述错误。针对此,阿堂(网络时空)于时将其中的QueryResponse的名字改为了QueryResponse1,且
ccservice.wsdl文件中将所有引用QueryResponse的地方也改成了QueryResponse1。。然后再将运行就一切ok啦





阿堂总结一下

在用cxf的wsdl2java命令处理net或其它语言产生的webservice时,如出现报错,要仔细观察报错信息的描述,通过自己思考和查询网络资源,有针对性的修改,一定是可以解决的。

第二种方式(用axis的webservice框架 解决)

从阿堂(网络时空)的测试来看,不需要任何修改即可生成websercie的客户端

不过,要需要axis如下一些jar包才能保证axis产生的webservice的客户端代码正常运行

阿堂总结一下

如果用时候发现用cxf的wsdl2java命令不能正常执行时,不妨考用axix之类的其它webservice框架来解决问题,换一个角度去解决问题。

调用方式

Ccservice ccservice = new Ccservice();

CcserviceSoap ccserviceSoap = ccservice.getCcserviceSoap();

ccserviceSoap.query(参数1,参数2,...);

最新文章

  1. java.lang.IllegalStateException: Not allowed to create transaction on shared EntityManager - use Spring transactions or EJB CMT instead
  2. iOS开发-xcdatamodeld文件 CoreData的介绍和使用,sqlite的使用
  3. quaternion*Vector3的新理解
  4. iOS开发之 Xcode 6 创建一个Empty Application
  5. Extjs4-treepanel-解析json/fields中是否加入leaf的区别
  6. IPVS实现分析
  7. Java程序员需要注意的五大Docker误区
  8. Jquery获得 selection的text 和 option值
  9. jmeter的http cookies管理器使用
  10. 【复制粘贴】silverlight网格选择日期和时间
  11. (转)Java 读写Properties配置文件
  12. ReactiveObjC使用
  13. xBIM 插入复制功能
  14. Chapter 5 Blood Type——26
  15. C#enum使用Attribute求字段名
  16. dedecms模板中 if else怎么写
  17. Linux命令之rpm安装命令
  18. Python11/19--MySQL的基本使用
  19. IE浏览器打不开网页的解决方法
  20. centos7 php性能调优

热门文章

  1. python中selenium自动化常用关键字
  2. C语言程序设计|05
  3. JDK11 JAVA11下载安装与快速配置环境变量教程
  4. 《C++语言导学》小记
  5. java线程——notify通知的泄露
  6. 实现Action
  7. 黑马_13 Spring Boot:04.spring boot 配置文件
  8. Sort - Merge Sort
  9. Tensorflow学习教程------模型参数和网络结构保存且载入,输入一张手写数字图片判断是几
  10. 小程序外链跳转web-view系列问题