我正在使用Maven,因为没有生成,所以生成了一个不正确的java存根文件 的xmlns:T = \" http://docs.oasis-open.org/ws-sx/ws-trust/200512 \" 在java存根文件中的相应行上。 我是新手,但下面是我正在使用的片段。 想知道adb vs xmlbeans是否可能出现问题?
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.6.2</version> <!-- do not want to change since rebuilding existing webapp -->
<configuration>
<wsdlFile>src/main/resource/wsdl/wsdlfile.wsdl</wsdlFile>
<databindingName>adb</databindingName>
<packageName>com.vendorproduct.ws.wsdl</packageName>
<outputDirectory>src/main/java</outputDirectory>
<unpackClasses>true</unpackClasses>
<unwrap>true</unwrap>
<syncMode>sync</syncMode>
</configuration>
<executions>
<execution>
<goals>
<goal>wsdl2code</goal>
</goals>
</execution>
</executions>
</plugin>
由于需要10个信誉点才能发布超过2个链接,因此无法提供生成的代码,但问题是生成的代码缺少xmlns:t = \&#34; http://docs.oasis-open.org/ws-sx/ws-trust/200512 \&#34;因此得到运行时错误&#39;未声明的命名空间前缀&#34; t&#34;&#39;。
尝试使用jaxws-maven-plugin(下面的剪辑),但得到: 无法执行目标org.jvnet.jax-ws-commons:jaxws-maven-plugin:2.1:项目vendorproduct上的wsimport(wsdla):执行错误:wsimport [-s,H:\ Folder \ src \ main \ java \ src ,-d,H:\ Folder \ target \ classes,-verbose,-p,com.vendorproduct,-Xnocompile,H:\ Folder \ src \ main \ resources \ filename.wsdl]
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>wsdla</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
<packageName>com.vendorproduct</packageName>
<sourceDestDir>src/main/java</sourceDestDir>
<wsdlFiles>
<wsdlFile>
${basedir}/src/main/resources/filename.wsdl
</wsdlFile>
</wsdlFiles>
<bindingDirectory> <!-- Is this only used for generation output? -->
${basedir}/src/wsdl/binding
</bindingDirectory>
<verbose>true</verbose>
</configuration>
</plugin>
回到axis2-wsdl2code-maven-plugin并尝试使用xmlbeans进行数据绑定,但得到编译错误:(相信所有的axis2依赖包括axiom-api-1.2.13和axiom-impl-1.2.13) 没有为toEnvelope找到合适的方法(org.apache.axiom.soap.SOAPFactory,com.rightnow.ws.messages.GetMetaDataDocument,boolean) 方法com.rightnow.ws.wsdl.RightNowSyncServiceStub.toEnvelope(org.apache.axiom.soap.SOAPFactory,org.apache.xmlbeans.XmlString,org.apache.xmlbeans.XmlString,com.rightnow.ws.messages.GetValuesForNamedIDDocument,boolean )不适用 (实际和正式的参数列表长度不同)
即使有编译错误,它确实以不同的方式生成Stub文件而没有xmlns:t。
切换回使用adb。 我使用maven 3.5.0验证并尝试了“mvn package&#39;在命令行上,但在没有xmlns:t。
的情况下以相同的不正确方式生成Stub文件Axis2开发者邮件列表表示Axis2 1.6.2已超过5年且不受支持。 将不得不重做旧的&#39;源代码使用最新(和支持)的Axis2版本。 Axis2 1.7.5是最佳选择吗?
答案 0 :(得分:0)
此问题的根源是使用Axis2 1.6.2。 Axis2开发人员邮件列表称Axis2 1.6.2已超过5年,不受支持。