[ https://issues.apache.org/jira/browse/CXF-4750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-4750. ------------------------------ Resolution: Fixed Fix Version/s: 2.7.3 2.6.6 2.5.9 Assignee: Daniel Kulp > 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.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