cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Liu (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CXF-4104) wsdl2java generates Wrapped async method for Bare
Date Tue, 14 Feb 2012 02:02:59 GMT

     [ 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. 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}

  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. 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}

--
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

        

Mime
View raw message