我们有一堆首先设计合约的网络服务。在各种WSDL文件中包含来自相同XML模式定义的公共XML片段。但是,结果是为各种Web服务(wsimport)创建了几次类Address
这样的类。
是否可以首先使用合同,但首先要定义一堆或几个在各种WSDL文件中引用的Java类? 这将使前端和后端的编程更容易。
答案 0 :(得分:0)
我建议切换到cxf-codegen-plugin。它允许更多自定义代码生成过程。
使用cxf-codegen-plugin,您可以将类型名称空间映射到具体包。只需为共享类指定通用包:
<wsdlOption>
<wsdl>${basedir}/src/main/resources/service1/Service1.wsdl</wsdl>
<extraargs>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/types=com.namespace.types</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/service1=com.namespace.service1</extraarg>
</extraargs>
</wsdlOption>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/service2/Service2.wsdl</wsdl>
<extraargs>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/types=com.namespace.types</extraarg>
<extraarg>-p</extraarg>
<extraarg>http://yournamespace.com/service2=com.namespace.service2</extraarg>
</extraargs>
</wsdlOption>