我有以下目录结构
Root
CommonSchema
1.xsd
2.xsd
Service1
XSD
3.xsd ( importing 1 and 2 xsd )
WSDL
A.wsdl ( importing 3.xsd )
Service2
XSD
4.xsd ( importing 1 and 2 xsd )
WSDL
B.wsdl ( importing 4.xsd )
我正在尝试生成源代码并使用 XMLBeans+CXF 将它们编译到单个 jar 中。CommonSchema 文件夹包含由 Service1 和 2 共享的模式。
当我尝试生成源源时,似乎 1 和 2 xsd 的源有命名冲突,可以在下面看到:
第一代 WSDL
第二代 WSDL
关于我应该如何编译这个通用模式的任何想法?
这是我的蚂蚁脚本:
<target name="cxfWSDLToJava">
<java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
<arg value="-databinding"/>
<arg value="xmlbeans"/>
<arg value="-client"/>
<arg value="-d"/>
<arg value="cxfsrc"/>
<arg value="D:\Generation\Services\CBS-CustAccountInfo-I\WSDL\CBS-CustAccountInfo-I-Concrete.wsdl"/>
<classpath>
<path refid="cxf.classpath"/>
</classpath>
</java>
</target>
<target name="cxfWSDLTXNToJava">
<java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
<arg value="-databinding"/>
<arg value="xmlbeans"/>
<arg value="-client"/>
<arg value="-d"/>
<arg value="cxfsrc"/>
<arg value="D:\Generation\Services\CBS-DirectDebCredTransfer-C\WSDL\CBS-DirectDebCredTransfer-C-Concrete.wsdl"/>
<classpath>
<path refid="cxf.classpath"/>
</classpath>
</java>
</target>
我的项目位于:在CXF-Generation 下。
整个架构 + WSDL 可以在 CXF-Generation/Generation 下找到