首先,这是我尝试使用的第一个wsdl,也许有一些我看不到的愚蠢错误。
我正在尝试从第三方使用wsdl,但是出现此错误“具有相同名称-name-的类/接口已在使用中。请使用类定制或-autoNameResolution选项来解决此冲突。”
要使用的wsdl是此网址的第二个SOAP服务:
https://ec.europa.eu/cefdigital/DSS/webapp-demo/services/
我已将此Webapp演示部署在apache-tomcat上以访问wsdl。
我调查了这可能是由于类和atribtes具有相同的名称造成的,但是还找到了很多信息,说明为什么这可能是我无法真正理解软件包等方面的变化的原因…… wsdl太长而无法手动更改名称。
我也尝试使用<argLine>-autoNameResolution</argline>
,但也没有用。
这是我在pom.xml中使用的用于消耗wsdl的插件:
<plugin>
<groupId>org.jboss.ws.plugins</groupId>
<artifactId>maven-jaxws-tools-plugin</artifactId>
<version>1.1.2.Final</version>
<configuration>
<verbose>true</verbose>
<goalPrefix>wsconsume</goalPrefix>
<extension>true</extension>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<targetPackage>org.fundaciobit.esginature.ws.api.v1</targetPackage>
<!--<bindingFiles>
<bindingFile>${basedir}/bindings/bindings.xjc</bindingFile>
</bindingFiles>-->
</configuration>
<executions>
<execution>
<id>WSDL to Java API Validation</id>
<goals>
<goal>wsconsume</goal>
</goals>
<configuration>
<wsdls>
<wsdl>${basedir}/src/main/resources/wsdl/esignatureValidation.wsdl</wsdl>
</wsdls>
<wsdlLocation>http://localhost:8080/services/soap/validation?wsdl</wsdlLocation>
<argLine>-n</argLine>
</configuration>
</execution>
</executions>
</plugin>
正如我之前所说,我对使用wsdls并不了解,但是我想我需要的是使用maven-plugin自动重新绑定名称,我并不在乎结果名称的格式,我只是希望它现在生成类。