使用CXF的wsdl2java,是否有更简单的方法从没有版本号的xml命名空间生成包名?

时间:2010-07-14 16:31:42

标签: java namespaces cxf wsdl2java

我正在使用Apache CXF的wsdl2java实用程序来创建一些JAXB对象和一些Web服务代码。我的WSDL中的模式有很多名称空间,最后有版本号。例如:

http://example.org/sample/namespace/1.0

当CXF生成我的JAXB对象时,程序包会以这样的包名结束:

org.example.sample.namespace.1_0

由于这是一个包含许多不同命名空间的大型模式,因此我需要花费相当多的时间来重新分解代码,或者使用-p选项手动将命名空间映射到包名称。这两个过程都非常耗时。

所以,我想知道是否有人知道是否有更简单的路线。或者我太挑剔了,我应该按原样接受包名?

1 个答案:

答案 0 :(得分:3)

看起来像一堆-p标志可能是将名称空间映射到包名称的最快方法。在我的研究中,我还发现你可以通过使用-b选项传入一个JAXB绑定文件来实现这一点(我对JAXB来说有点新)。这也是一个很好的解决方案,但需要比使用一堆-p标志更多的努力。此外,从长远来看,JAXB绑定文件可能更好,因此您可以在必要时重复此过程。