You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Roland Mueller (JIRA)" <ji...@apache.org> on 2013/01/14 12:18:12 UTC

[jira] [Created] (CXF-4750) Wrong return type for enumeration in generated service interface using xmlbeans

Roland Mueller created CXF-4750:
-----------------------------------

             Summary: 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.7.2, 2.3.11
            Reporter: Roland Mueller
         Attachments: 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