折腾了好长时间,今天终于把这次web service对接的需求完全开发完了,在此总结一下
spring的版本是3.0.6,cxf的版本是2.0.13,jboss版本是jboss4.2.3 GA,jdk6。此外客户端和服务端的wsdl文件,都是客户提供好现成的,我们只能照着开发
主要用wsdl2java命令,根据第1个wsdl开发比较顺利,见另外一篇博客http://kyfxbl.iteye.com/blog/1481330
可是根据第2个wsdl文件开发就悲剧了,用的命令也是wsdl2java -p packageName -d distLocation -all xxx.wsdl
结果报以下错误:
WSDLToJava Error: Thrown by JAXB : A class/interface with the same name "xxx.xxx.Message" is already in use. Use a class customization to resolve this conflict.
不知道是不是wsdl文件本身的问题,我们也没法改,于是就用了以下命令:
wsdl2java -p packageName -d distLocation -all -autoNameResolution xxx.wsdl
这次倒是生成了,可是发布起来的时候,又报了以下错误:
Schema name conflict in collection. Namespace:xxxxxx
卡了一天也没搞定,今天一个同事发现了一个办法,改用以下命令:
spring的版本是3.0.6,cxf的版本是2.0.13,jboss版本是jboss4.2.3 GA,jdk6。此外客户端和服务端的wsdl文件,都是客户提供好现成的,我们只能照着开发
主要用wsdl2java命令,根据第1个wsdl开发比较顺利,见另外一篇博客http://kyfxbl.iteye.com/blog/1481330
可是根据第2个wsdl文件开发就悲剧了,用的命令也是wsdl2java -p packageName -d distLocation -all xxx.wsdl
结果报以下错误:
WSDLToJava Error: Thrown by JAXB : A class/interface with the same name "xxx.xxx.Message" is already in use. Use a class customization to resolve this conflict.
不知道是不是wsdl文件本身的问题,我们也没法改,于是就用了以下命令:
wsdl2java -p packageName -d distLocation -all -autoNameResolution xxx.wsdl
这次倒是生成了,可是发布起来的时候,又报了以下错误:
Schema name conflict in collection. Namespace:xxxxxx
卡了一天也没搞定,今天一个同事发现了一个办法,改用以下命令: