I need to generate java code from two wsdl files. The pom.xml below works for me.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.luvva</groupId>
<artifactId>cxf-test</artifactId>
<version>1.0.0-SNAPSHOT</version>
<properties>
<cxf.sourceRoot>${project.build.directory}/generated-sources/annotations</cxf.sourceRoot>
<cxf.version>3.4.2</cxf.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<configuration>
<wsdlRoot>${project.basedir}/src/main/resources/wsdl</wsdlRoot>
<includes>
<include>*.wsdl</include>
</includes>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
The problem is that these wsdl files declare some elements with the same name and namespace. So, one of them overwrites the other during code generation. I tried the following pom.xml, but all the configuration is simply ignored.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.luvva</groupId>
<artifactId>cxf-test-2</artifactId>
<version>1.0.0-SNAPSHOT</version>
<properties>
<cxf.version>3.4.2</cxf.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<configuration>
<sourceRoot>${project.build.directory}/generated-sources/annotations</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/vw_proposals.wsdl</wsdl>
<extraargs>
<extraarg>-P</extraarg>
<extraarg>http://www.vwfsbr.com.br/servicebus=br.com.vwfsbr.proposals</extraarg>
</extraargs>
</wsdlOption>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/vw_tables.wsdl</wsdl>
<extraargs>
<extraarg>-P</extraarg>
<extraarg>http://www.vwfsbr.com.br/servicebus=br.com.vwfsbr.tables</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
How can I make the plugin work properly? I also tried -autoNameResolution and packageNames. Nothing works, it's as if the configuration were being ignored.
The wsdl files are available here and here. (Use the command below to download them).
curl [link] >> [fileName]
question from:
https://stackoverflow.com/questions/65838430/apache-cxf-codegen-plugin-wsdl2java-ignore-wsdl-options 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…