cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roland Mueller (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CXF-4750) Wrong return type for enumeration in generated service interface using xmlbeans
Date Mon, 28 Jan 2013 13:19:13 GMT

    [ https://issues.apache.org/jira/browse/CXF-4750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13564255#comment-13564255
] 

Roland Mueller edited comment on CXF-4750 at 1/28/13 1:18 PM:
--------------------------------------------------------------

Hi, I created two test projects, one using CXF 2.7.2, the other one using CXF 2.7.3-SNAPSHOT,
which I will attach.
You can run them via Maven, first "mvn clean install" and then "mvn jetty:run". The projects
only differ in the CXF version in the pom.xml and in the implementation of the generated service
interface.
I use soapUI for generating test requests from the wsdl and for requesting the server. The
problematic request is called "sampleMethod" and looks like the following:
{code:xml}
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:test="http://test.apache.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <test:sampleMethod>
         <sampleValue>LEFT</sampleValue>
      </test:sampleMethod>
   </soapenv:Body>
</soapenv:Envelope>
{code}
It works on 2.7.2, but does not on 2.7.3-SNAPSHOT where I get the exception from above. For
completeness, I also added the previous testFunction, which works on 2.7.3-SNAPSHOT, but does
not on 2.7.2.
                
      was (Author: rmueller):
    Hi, I created two test projects, one using CXF 2.7.2, the other one using CXF 2.7.3-SNAPSHOT,
which I will attach.
You can run them via Maven, first "mvn clean install" and then "mvn jetty:run". The projects
only differ in the CXF version in the pom.xml and in the implementation of the generated service
interface.
I use soapUI for generating test requests from the wsdl and for requesting the server. The
problematic request is called "sampleMethod" and looks like the following:
{code:xml}
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:test="http://test.apache.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <test:sampleMethod>
         <sampleValue>LEFT</sampleValue>
      </test:sampleMethod>
   </soapenv:Body>
</soapenv:Envelope>
{code}
It works on 2.7.2, but does not on 2.7.3-SNAPSHOT. For completeness, I also added the previous
testFunction, which works on 2.7.3-SNAPSHOT, but does not on 2.7.2.
                  
> Wrong return type for enumeration in generated service interface using xmlbeans
> -------------------------------------------------------------------------------
>
>                 Key: CXF-4750
>                 URL: https://issues.apache.org/jira/browse/CXF-4750
>             Project: CXF
>          Issue Type: Bug
>          Components: OtherDatabindings, Tooling
>    Affects Versions: 2.3.11, 2.7.2
>            Reporter: Roland Mueller
>            Assignee: Daniel Kulp
>             Fix For: 2.5.9, 2.6.6, 2.7.3
>
>         Attachments: enumtest-2.7.2.zip, enumtest-2.7.3-SNAPSHOT.zip, enumtest.zip
>
>
> I have a WSDL which has an enumeration as the response type for a SOAP operation. From
that, I am generating Java classes using the cxf-codegen-plugin with xmlbeans.
> The generated service interface has a String as response type. If my implementation returns
a String containing one of the specified enum values, I get an Exception (using CXF 2.3.11):
> org.apache.cxf.interceptor.Fault
> 	at org.apache.cxf.databinding.AbstractWrapperHelper.createWrapperObject(AbstractWrapperHelper.java:107)
> 	at org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessage(WrapperClassOutInterceptor.java:105)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
> 	at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
> 	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
> 	at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:102)
> 	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:464)
> 	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188)
> 	at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:751)
> 	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
> If I manually change the return type of the generated interface and my implementation
from String to "org.apache.test.ETestResponseType.Enum", everything works well.
> I could only test the wsdl2java generation with a newer CXF version, but 2.7.2 also generates
a String as the response type.
> I will attach a sample project.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message