You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Jose Eduardo Slompo (Updated) (JIRA)" <ji...@apache.org> on 2012/03/26 01:28:28 UTC

[jira] [Updated] (CXF-4202) Maven-codegin-plugin ignores option "frontend" if there is more than one wsdl file

     [ https://issues.apache.org/jira/browse/CXF-4202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jose Eduardo Slompo updated CXF-4202:
-------------------------------------

    Description: 
If we have more than one WSDL file for the execution of maven-codegen-plugin and we specify the extraargs "frontend" and "jaxws21", only one of the WSDL generates JAXWS21 compliant Java files.

POM.XML:
--------

<plugin>
	<groupId>org.apache.cxf</groupId>
	<artifactId>cxf-codegen-plugin</artifactId>
	<version>2.5.2.</version>
	<executions>
		<execution>
			<id>generate-wsdl-stubs</id>
			<phase>generate-sources</phase>
			<configuration>
				<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
				<wsdlOptions>
					<wsdlOption>
						<wsdl>${basedir}/src/main/resources/wsdl/ServiceONE.wsdl</wsdl>
						<wsdl>${basedir}/src/main/resources/wsdl/ServiceTWO.wsdl</wsdl>
						<extraargs>
							<extraarg>-frontend</extraarg>
							<extraarg>jaxws21</extraarg>
							<extraarg>-xjc-Xts</extraarg>
							<extraarg>-xjc-Xdv</extraarg>
						</extraargs>
					</wsdlOption>
				</wsdlOptions>
			</configuration>
			<goals>
				<goal>wsdl2java</goal>
			</goals>
		</execution>
	</executions>
	<dependencies>
		<dependency>
			<groupId>org.apache.cxf.xjcplugins</groupId>
			<artifactId>cxf-xjc-ts</artifactId>
			<version>2.5.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf.xjcplugins</groupId>
			<artifactId>cxf-xjc-dv</artifactId>
			<version>2.5.2</version>
		</dependency>
	</dependencies>
</plugin>

--> WSDL "ServiceONE" generates, in its correspondent XXXX_Service.java, the following method calls, JAXWS21 compliant:
    public XXXX_Service(URL wsdlLocation) {
        super(wsdlLocation, SERVICE);
    }
    public XXXX_Service(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }
    public XXXX_Service() {
        super(WSDL_LOCATION, SERVICE);
    }

.........BUT........

--> WSDL "ServiceTWO" generates, in its correspondent XXXX_Service.java, the following method calls, NON-JAXWS21 compliant:
    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public XXXX_Service(WebServiceFeature ... features) {
        super(WSDL_LOCATION, SERVICE, features);
    }

    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public XXXX_Service(URL wsdlLocation, WebServiceFeature ... features) {
        super(wsdlLocation, SERVICE, features);
    }

    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public XXXX_Service(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
        super(wsdlLocation, serviceName, features);
    }


If I use only one WSDL file, everything works fine, but when I use two, the second one doesn't work. I also tried to use to separate executions but had no success.

  was:
If we have more than one WSDL file for the execution of maven-codegen-plugin and we specify the extraargs "frontend" and "jaxws21", only one of the WSDL generates JAXWS21 compliant Java files.

POM.XML:
--------

<plugin>
	<groupId>org.apache.cxf</groupId>
	<artifactId>cxf-codegen-plugin</artifactId>
	<version>2.5.2.</version>
	<executions>
		<execution>
			<id>generate-wsdl-stubs</id>
			<phase>generate-sources</phase>
			<configuration>
				<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
				<wsdlOptions>
					<wsdlOption>
						<wsdl>${basedir}/src/main/resources/wsdl/ServiceONE.wsdl</wsdl>
						<wsdl>${basedir}/src/main/resources/wsdl/ServiceTWO.wsdl</wsdl>
						<extraargs>
							<extraarg>-frontend</extraarg>
							<extraarg>jaxws21</extraarg>
							<extraarg>-xjc-Xts</extraarg>
							<extraarg>-xjc-Xdv</extraarg>
						</extraargs>
					</wsdlOption>
				</wsdlOptions>
			</configuration>
			<goals>
				<goal>wsdl2java</goal>
			</goals>
		</execution>
	</executions>
	<dependencies>
		<dependency>
			<groupId>org.apache.cxf.xjcplugins</groupId>
			<artifactId>cxf-xjc-ts</artifactId>
			<version>2.5.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf.xjcplugins</groupId>
			<artifactId>cxf-xjc-dv</artifactId>
			<version>2.5.2</version>
		</dependency>
	</dependencies>
</plugin>

--> WSDL "ServiceONE" generates, in its correspondent XXXX_Service.java, the following method calls, JAXWS21 compliant:
    public XXXX_Service(URL wsdlLocation) {
        super(wsdlLocation, SERVICE);
    }
    public XXXX_Service(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }
    public XXXX_Service() {
        super(WSDL_LOCATION, SERVICE);
    }

!!!...BUT...!!!
--> WSDL "ServiceTWO" generates, in its correspondent XXXX_Service.java, the following method calls, NON-JAXWS21 compliant:
    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public XXXX_Service(WebServiceFeature ... features) {
        super(WSDL_LOCATION, SERVICE, features);
    }

    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public XXXX_Service(URL wsdlLocation, WebServiceFeature ... features) {
        super(wsdlLocation, SERVICE, features);
    }

    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public XXXX_Service(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
        super(wsdlLocation, serviceName, features);
    }


If I use only one WSDL file, everything works fine, but when I use two, the second one doesn't work. I also tried to use to separate executions but had no success.

    
> Maven-codegin-plugin ignores option "frontend" if there is more than one wsdl file
> ----------------------------------------------------------------------------------
>
>                 Key: CXF-4202
>                 URL: https://issues.apache.org/jira/browse/CXF-4202
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.5.2
>         Environment: Ubuntu 11.10, Eclipse 3.6.2 (classic), m2e plugin version 0.12.1.20110112-1712, maven-codegen-plugin version 2.5.2
>            Reporter: Jose Eduardo Slompo
>            Priority: Minor
>              Labels: codegen, frontend, maven, wsdl2java
>
> If we have more than one WSDL file for the execution of maven-codegen-plugin and we specify the extraargs "frontend" and "jaxws21", only one of the WSDL generates JAXWS21 compliant Java files.
> POM.XML:
> --------
> <plugin>
> 	<groupId>org.apache.cxf</groupId>
> 	<artifactId>cxf-codegen-plugin</artifactId>
> 	<version>2.5.2.</version>
> 	<executions>
> 		<execution>
> 			<id>generate-wsdl-stubs</id>
> 			<phase>generate-sources</phase>
> 			<configuration>
> 				<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
> 				<wsdlOptions>
> 					<wsdlOption>
> 						<wsdl>${basedir}/src/main/resources/wsdl/ServiceONE.wsdl</wsdl>
> 						<wsdl>${basedir}/src/main/resources/wsdl/ServiceTWO.wsdl</wsdl>
> 						<extraargs>
> 							<extraarg>-frontend</extraarg>
> 							<extraarg>jaxws21</extraarg>
> 							<extraarg>-xjc-Xts</extraarg>
> 							<extraarg>-xjc-Xdv</extraarg>
> 						</extraargs>
> 					</wsdlOption>
> 				</wsdlOptions>
> 			</configuration>
> 			<goals>
> 				<goal>wsdl2java</goal>
> 			</goals>
> 		</execution>
> 	</executions>
> 	<dependencies>
> 		<dependency>
> 			<groupId>org.apache.cxf.xjcplugins</groupId>
> 			<artifactId>cxf-xjc-ts</artifactId>
> 			<version>2.5.2</version>
> 		</dependency>
> 		<dependency>
> 			<groupId>org.apache.cxf.xjcplugins</groupId>
> 			<artifactId>cxf-xjc-dv</artifactId>
> 			<version>2.5.2</version>
> 		</dependency>
> 	</dependencies>
> </plugin>
> --> WSDL "ServiceONE" generates, in its correspondent XXXX_Service.java, the following method calls, JAXWS21 compliant:
>     public XXXX_Service(URL wsdlLocation) {
>         super(wsdlLocation, SERVICE);
>     }
>     public XXXX_Service(URL wsdlLocation, QName serviceName) {
>         super(wsdlLocation, serviceName);
>     }
>     public XXXX_Service() {
>         super(WSDL_LOCATION, SERVICE);
>     }
> .........BUT........
> --> WSDL "ServiceTWO" generates, in its correspondent XXXX_Service.java, the following method calls, NON-JAXWS21 compliant:
>     //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
>     //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
>     //compliant code instead.
>     public XXXX_Service(WebServiceFeature ... features) {
>         super(WSDL_LOCATION, SERVICE, features);
>     }
>     //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
>     //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
>     //compliant code instead.
>     public XXXX_Service(URL wsdlLocation, WebServiceFeature ... features) {
>         super(wsdlLocation, SERVICE, features);
>     }
>     //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
>     //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
>     //compliant code instead.
>     public XXXX_Service(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
>         super(wsdlLocation, serviceName, features);
>     }
> If I use only one WSDL file, everything works fine, but when I use two, the second one doesn't work. I also tried to use to separate executions but had no success.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira