美文网首页
cxf wsdl2Java 通过参数-p 解决多个namespa

cxf wsdl2Java 通过参数-p 解决多个namespa

作者: 见云开 | 来源:发表于2016-11-14 01:24 被阅读662次

前段时间公司需要对接一个采用Windows Communication Foundation(WCF)开发的平台,我们通过web service的方式访问对方提供的服务。期间遇到一个问题,在生产代码的过程中如果通过-p指定生成代码的包名时总会报冲突的异常。如果不指定包名生成的代码因为包名没有逻辑性所以不能直接使用,需要手工改包名个人觉得这个过程容易出错且完全没必要。

通过maven提供的插件cxf-gencode-plugin生产代码的过程这里不展开讲

有兴趣的同志可移步官网http://cxf.apache.org/docs/maven-cxf-codegen-plugin-wsdl-to-java.html楼主亲测还是相当好用的

图中的-p命令让一个namespace映射到一个我们自己定义的包

再结合官网-p的介绍(楼主因为文档是英文的就没有认真看,白找了半天博文…………)

更多介绍请移步http://cxf.apache.org/docs/wsdl-to-java.html

其实-p参数是可以反复使用映射多个namespace到不同的package。

打开wsdl发现namespace确实不止一个,如果只是用一个-p(-p xx.xx.package)则所有的代码将会被生成到一个package下,如果类名没有冲突当然不会发生任何问题。但是楼主要对接的接口不同namespace中有相同名称的类。这就是冲突的根源。

通过-p为每个namespace指定一个package,至此问题完美解决。

-p http://schemas.microsoft.com/2003/10/Serialization/=**.**.serialization

-p http://schemas.microsoft.com/2003/10/Serialization/Arrays=**.**.serialization.arrays

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

相关文章

网友评论

      本文标题:cxf wsdl2Java 通过参数-p 解决多个namespa

      本文链接:https://www.haomeiwen.com/subject/qxgpjttx.html