[
https://issues.apache.org/jira/browse/CXF-4750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13559878#comment-13559878
]
Daniel Kulp commented on CXF-4750:
----------------------------------
We'll likely need to see a full testcase. The test I added does a complete
echo of the enum:
https://fisheye6.atlassian.com/browse/cxf/trunk/systests/databinding/src/test/java/org/apache/cxf/systest/xmlbeans/GreeterImpl.java?r2=1433007&r1=1127624
which works. Thus, it looks like the incoming enum should work OK based on the
testcase.
> 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