[ https://issues.apache.org/jira/browse/CXF-4104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Liu updated CXF-4104: --------------------------- Description: It looks like CXF 2.2.10 can only generate a wrapped async method when we set enableAsyncMapping. After I change enableWrapperStyle=false, it failed to generate Bare style Async method. Is it a known issue? Do we have workaround? thanks. Please see test below: {code:title=binding.xml} <jaxws:bindings wsdlLocation="http://localhost:7650/Calculator?wsdl" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <jaxws:bindings node="wsdl:definitions"> <jaxws:enableAsyncMapping>true</jaxws:enableAsyncMapping> <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle> </jaxws:bindings> </jaxws:bindings> {code} {code:title=generated HelloWorld.java} @WebService(targetNamespace = "http://helloworld.webservice.com", name = "HelloWorld") @XmlSeeAlso({ObjectFactory.class}) @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) public interface HelloWorld { @WebMethod(operationName = "sayHello") public Response<test.client.generated.SayHelloResponse> sayHelloAsync( @WebParam(name = "name", targetNamespace = "http://helloworld.webservice.com") java.lang.String name, @WebParam(name = "another", targetNamespace = "http://helloworld.webservice.com") java.lang.String another, @WebParam(name = "timestamp", targetNamespace = "http://helloworld.webservice.com") java.lang.String timestamp ); @WebMethod(operationName = "sayHello") public Future<?> sayHelloAsync( @WebParam(name = "name", targetNamespace = "http://helloworld.webservice.com") java.lang.String name, @WebParam(name = "another", targetNamespace = "http://helloworld.webservice.com") java.lang.String another, @WebParam(name = "timestamp", targetNamespace = "http://helloworld.webservice.com") java.lang.String timestamp, @WebParam(name = "asyncHandler", targetNamespace = "") AsyncHandler<test.client.generated.SayHelloResponse> asyncHandler ); @WebResult(name = "sayHelloResponse", targetNamespace = "http://helloworld.webservice.com", partName = "parameters") @WebMethod public SayHelloResponse sayHello( @WebParam(partName = "parameters", name = "sayHello", targetNamespace = "http://helloworld.webservice.com") SayHello parameters ); } {code} David was: It looks like CXF 2.2.10 can only generate a wrapped async method when we set enableAsyncMapping. After I change enableWrapperStyle=false, it failed to generate Bare style Async method. Please see test below: {code:title=binding.xml} <jaxws:bindings wsdlLocation="http://localhost:7650/Calculator?wsdl" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <jaxws:bindings node="wsdl:definitions"> <jaxws:enableAsyncMapping>true</jaxws:enableAsyncMapping> <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle> </jaxws:bindings> </jaxws:bindings> {code} {code:title=generated HelloWorld.java} @WebService(targetNamespace = "http://helloworld.webservice.com", name = "HelloWorld") @XmlSeeAlso({ObjectFactory.class}) @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) public interface HelloWorld { @WebMethod(operationName = "sayHello") public Response<test.client.generated.SayHelloResponse> sayHelloAsync( @WebParam(name = "name", targetNamespace = "http://helloworld.webservice.com") java.lang.String name, @WebParam(name = "another", targetNamespace = "http://helloworld.webservice.com") java.lang.String another, @WebParam(name = "timestamp", targetNamespace = "http://helloworld.webservice.com") java.lang.String timestamp ); @WebMethod(operationName = "sayHello") public Future<?> sayHelloAsync( @WebParam(name = "name", targetNamespace = "http://helloworld.webservice.com") java.lang.String name, @WebParam(name = "another", targetNamespace = "http://helloworld.webservice.com") java.lang.String another, @WebParam(name = "timestamp", targetNamespace = "http://helloworld.webservice.com") java.lang.String timestamp, @WebParam(name = "asyncHandler", targetNamespace = "") AsyncHandler<test.client.generated.SayHelloResponse> asyncHandler ); @WebResult(name = "sayHelloResponse", targetNamespace = "http://helloworld.webservice.com", partName = "parameters") @WebMethod public SayHelloResponse sayHello( @WebParam(partName = "parameters", name = "sayHello", targetNamespace = "http://helloworld.webservice.com") SayHello parameters ); } {code} > wsdl2java generates Wrapped async method for Bare > ------------------------------------------------- > > Key: CXF-4104 > URL: https://issues.apache.org/jira/browse/CXF-4104 > Project: CXF > Issue Type: Bug > Components: Core, Tooling > Affects Versions: 2.2.10 > Reporter: David Liu > > It looks like CXF 2.2.10 can only generate a wrapped async method when we > set enableAsyncMapping. After I change enableWrapperStyle=false, it failed to > generate Bare style Async method. > Is it a known issue? Do we have workaround? thanks. > Please see test below: > {code:title=binding.xml} > <jaxws:bindings wsdlLocation="http://localhost:7650/Calculator?wsdl" > xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" > xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:xs="http://www.w3.org/2001/XMLSchema"> > <jaxws:bindings node="wsdl:definitions"> > <jaxws:enableAsyncMapping>true</jaxws:enableAsyncMapping> > <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle> > </jaxws:bindings> > </jaxws:bindings> > {code} > {code:title=generated HelloWorld.java} > @WebService(targetNamespace = "http://helloworld.webservice.com", name = > "HelloWorld") > @XmlSeeAlso({ObjectFactory.class}) > @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) > public interface HelloWorld { > @WebMethod(operationName = "sayHello") > public Response<test.client.generated.SayHelloResponse> sayHelloAsync( > @WebParam(name = "name", targetNamespace = > "http://helloworld.webservice.com") > java.lang.String name, > @WebParam(name = "another", targetNamespace = > "http://helloworld.webservice.com") > java.lang.String another, > @WebParam(name = "timestamp", targetNamespace = > "http://helloworld.webservice.com") > java.lang.String timestamp > ); > @WebMethod(operationName = "sayHello") > public Future<?> sayHelloAsync( > @WebParam(name = "name", targetNamespace = > "http://helloworld.webservice.com") > java.lang.String name, > @WebParam(name = "another", targetNamespace = > "http://helloworld.webservice.com") > java.lang.String another, > @WebParam(name = "timestamp", targetNamespace = > "http://helloworld.webservice.com") > java.lang.String timestamp, > @WebParam(name = "asyncHandler", targetNamespace = "") > AsyncHandler<test.client.generated.SayHelloResponse> asyncHandler > ); > @WebResult(name = "sayHelloResponse", targetNamespace = > "http://helloworld.webservice.com", partName = "parameters") > @WebMethod > public SayHelloResponse sayHello( > @WebParam(partName = "parameters", name = "sayHello", targetNamespace > = "http://helloworld.webservice.com") > SayHello parameters > ); > } > {code} > David -- 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