我目前正在使用Axis2替换IBM WebService框架.从WSDL文件生成代码时,我使用Maven插件WSDL2Code.但是,创建的代码总是错误的.或者更确切地说,包名称总是错误的,这反过来使得每个方法都被称为不可调用(在eclipse中创建更多错误,高达10.000+错误).
这是一个实际发生的例子(这只是我专门为获得建议而做的一个例子):
org.apache.axis2 axis2-wsdl2code-maven-plugin 1.4.1 Test wsdl2code test.testpackage xmlbeans ${basedir}/wsdl/service.wsdl ${basedir}/testdirectory
理论上,这应该在testdirectory/test/testpackage目录中生成包名为"test.testpackage"的代码.但是,它会在testdirectory.src.test.testpackage目录中创建以下包:Src.test.testpackage.它总是在包名和目录中添加"src" - 如果我将包名更改为src.test.testpackage,它将生成以下包:src.src.test.testpackage.
当然,这会导致一个巨大的问题,因为每个生成的文件都有以下错误:"声明的包"src.test.testpackage"与预期的包"src.src.test.testpackage"不匹配"
我在这里完全失败了.我根本找不到任何理由为什么它应该在任何地方添加"src".我注意到一个自动生成的build.xml文件,其中包含一个名为sourcedirectory = x/src(或类似的东西)的值,但我无法做任何事情来影响这个值(尝试更改它然后保存文件没有区别很明显,因为它是在我下次运行maven时再次生成的.
哦,我通常使用命令"mvn clean install"和WSDL2Code的1.4.1版本,因此它不是旧的wsdl2code:wsdl2code错误之一.
如果有人知道这里究竟出了什么问题,我会非常感激.
提前致谢.
版本1.4.1还有一些未真正记录的配置选项(请查看org.apache.axis2.maven2.wsdl2code.WSDL2CodeMojo的源代码)...
只需使用