我正在使用 Apache CXF 的 wsdl2java 实用程序来创建一些 JAXB 对象和一些 Web 服务代码。我的 WSDL 中的模式有很多 namespace ,末尾带有版本号。例如:
http://example.org/sample/namespace/1.0
当 CXF 生成我的 JAXB 对象时,包最终的包名称如下:
org.example.sample.namespace.1_0
由于这是一个包含许多不同命名空间的大型架构,我必须花费大量时间重构代码,或使用 -p 选项手动将命名空间映射到包名称。这两个过程都非常耗时。
所以,我想知道是否有人知道是否有更简单的路线。还是我太挑剔了,我应该按原样接受包名称?
最佳答案
看起来一堆 -p
标志可能是将 namespace 映射到包名称的最快方法。在我的研究中,我还发现您可以通过使用 -b
选项传入 JAXB 绑定(bind)文件来实现此目的(我对 JAXB 有点陌生)。这也是一个很好的解决方案,但比使用一堆 -p
标志需要更多的努力。此外,从长远来看,JAXB 绑定(bind)文件可能更好,因此您可以根据需要重复该过程。
关于java - 使用CXF的wsdl2java,是否有更简单的方法从xml namespace 生成没有版本号的包名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3248364/