我正在使用Apache CXF的wsdl2java实用程序来创建一些JAXB对象和一些Web服务代码。我的WSDL中的模式有很多名称空间,最后有版本号。例如:
http://example.org/sample/namespace/1.0
当CXF生成我的JAXB对象时,程序包会以这样的包名结束:
org.example.sample.namespace.1_0
由于这是一个包含许多不同命名空间的大型模式,因此我需要花费相当多的时间来重新分解代码,或者使用-p选项手动将命名空间映射到包名称。这两个过程都非常耗时。
所以,我想知道是否有人知道是否有更简单的路线。或者我太挑剔了,我应该按原样接受包名?
答案 0 :(得分:3)
看起来像一堆-p
标志可能是将名称空间映射到包名称的最快方法。在我的研究中,我还发现你可以通过使用-b
选项传入一个JAXB绑定文件来实现这一点(我对JAXB来说有点新)。这也是一个很好的解决方案,但需要比使用一堆-p
标志更多的努力。此外,从长远来看,JAXB绑定文件可能更好,因此您可以在必要时重复此过程。