You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/03/13 19:33:51 UTC

[jira] Resolved: (CXF-1875) CXF adds @WebParam annotation without import section when async binding is turned on

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

Daniel Kulp resolved CXF-1875.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.4


This seems to have been fixed in 2.1.4 or maybe 2.1.3.

> CXF adds @WebParam annotation without import section when async binding is turned on
> ------------------------------------------------------------------------------------
>
>                 Key: CXF-1875
>                 URL: https://issues.apache.org/jira/browse/CXF-1875
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.1.2
>         Environment: Windows XP 64-bit, Java JDK 1.5. update 14 (32-bit)
>            Reporter: Slobodan Marjanovic
>            Priority: Minor
>             Fix For: 2.1.4
>
>
> I use CXF to generate a WS client classes. There are some smaller issues in generated code. CXF uses @Webparam annotation but it doesn't adds it to the import section of the class.  This happens only when async-binding is turned on.
> ========================
> CXF ant task:
> <target name="generate">
> 		<java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
> 			<arg value="-client" />
> 			<arg value="-b" />
> 			<arg value="async_binding.xml" />
> 			<arg value="-d" />
> 			<arg value="src" />
> 			<arg value="${wsdl.url}" />
> 			<classpath>
> 				<fileset dir="${basedir}/lib">
> 					<include name="*.jar" />
> 				</fileset>
> 			</classpath>
> 		</java>
> 	</target>
> ========================
> ========================
> async_binding.xml
> <bindings
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>     xmlns="http://java.sun.com/xml/ns/jaxws">
>     <bindings node="wsdl:definitions">
>         <enableAsyncMapping>true</enableAsyncMapping>
>     </bindings>
> </bindings>
> ========================
> ========================
> WSDL in question:
> <definitions name='HelloWorldSecurityService' targetNamespace='http://session.poc.prozone.com/' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap12='http://schemas.xmlsoap.org/wsdl/soap12/' xmlns:tns='http://session.poc.prozone.com/' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
>  <types></types>
>  <message name='HelloWorldSecurityBean_helloWorldResponse'>
>   <part name='return' type='xsd:string'></part>
>  </message>
>  <message name='HelloWorldSecurityBean_helloWorld'></message>
>  <portType name='HelloWorldSecurityBean'>
>   <operation name='helloWorld'>
>    <input message='tns:HelloWorldSecurityBean_helloWorld'></input>
>    <output message='tns:HelloWorldSecurityBean_helloWorldResponse'></output>
>   </operation>
>  </portType>
>  <binding name='HelloWorldSecurityBeanBinding' type='tns:HelloWorldSecurityBean'>
>   <soap12:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
>   <operation name='helloWorld'>
>    <soap12:operation soapAction=''/>
>    <input>
>     <soap12:body namespace='http://session.poc.prozone.com/' use='literal'/>
>    </input>
>    <output>
>     <soap12:body namespace='http://session.poc.prozone.com/' use='literal'/>
>    </output>
>   </operation>
>  </binding>
>  <service name='HelloWorldSecurityService'>
>   <port binding='tns:HelloWorldSecurityBeanBinding' name='HelloWorldSecurityPort'>
>    <soap12:address location='http://127.0.0.1:8080/HelloWorldSecurity-app/HelloWorldSecurityBean'/>
>   </port>
>  </service>
> </definitions>
> ========================
> ========================
> Problematic generate class:
> package com.prozone.poc.session;
> import java.util.concurrent.Future;
> import javax.jws.WebMethod;
> import javax.jws.WebResult;
> import javax.jws.WebService;
> import javax.jws.soap.SOAPBinding;
> import javax.jws.soap.SOAPBinding.Style;
> import javax.xml.ws.AsyncHandler;
> import javax.xml.ws.Response;
> /**
>  * This class was generated by Apache CXF 2.1.2
>  * Thu Oct 16 11:33:29 CEST 2008
>  * Generated source version: 2.1.2
>  * 
>  */
>  
> @WebService(targetNamespace = "http://session.poc.prozone.com/", name = "HelloWorldSecurityBean")
> @SOAPBinding(style = SOAPBinding.Style.RPC)
> public interface HelloWorldSecurityBean {
>     @WebResult(name = "return", targetNamespace = "http://session.poc.prozone.com/", partName = "return")
>     @WebMethod
>     public java.lang.String helloWorld();
>     @WebMethod(operationName = "helloWorld")
>     public Response<java.lang.String> helloWorldAsync();
>     @WebMethod(operationName = "helloWorld")
>     public Future<?> helloWorldAsync(
>         @WebParam(name = "asyncHandler", targetNamespace = "")
>         AsyncHandler<java.lang.String> asyncHandler
>     );
> }
> ========================
> As you can see annotation @WebParam has no import declaration in class, so it has to be imported manually when ever the client is generated.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.