[ https://issues.apache.org/jira/browse/CXF-5706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13979882#comment-13979882 ]
Sergey Beryozkin commented on CXF-5706: --------------------------------------- > An option that could be interesting would be a smilar one to > -noVoidForEmptyResponses, but instead of generating a Response type only the > method that don't return a result (void) it will generate a Resposne for all > methods. I'll be working on such an option where it will be possible to apply it to individual or all methods Cheers, Sergey > wadl2java: Return types aren't generated properly on server interfaces for > methods with more than 1 response element. > --------------------------------------------------------------------------------------------------------------------- > > Key: CXF-5706 > URL: https://issues.apache.org/jira/browse/CXF-5706 > Project: CXF > Issue Type: Bug > Components: Tooling > Affects Versions: 3.0.0-milestone2 > Environment: Java version "1.6.0_45" > Windows 7 64 bit > Reporter: Claude-Alain > > Regarding this subject, a fix has been done (CXF-3662) but I have some > reasons to think that it has not been done in the right way. > In the given example, there is one normal response (status code = 200) and > one response which is an error (status code = 400). In that case the fix is > doing the right thing, the first type is take into account and the error type > can be managed by an exception mapper (from what I see in the documentation > of RESTEasy and Jersey). > But in the case we introduce another response like shown in the example just > below: > {code:xml} > <method name="GET" id="getUserDefaults"> > <doc>Gets default user configuration values.</doc> > <response status="200"> > <representation mediaType="application/xml" > element="fmc:userDefaults" /> > </response> > <response status="204"> > <representation mediaType="application/xml" > element="fmc:noContent" /> > </response> > <response status="400"> > <representation mediaType="application/xml" > element="fmc:errorList" /> > </response> > </method> > {code} > then the return type for the corresponding method in the generated interface > will be "userDefaults". Since a Java method can only return an object of a > given type then it will never be possible to return an object of type > "noContent". > So I think the only way to solve this case is to return a type > "javax.ws.rs.core.Response". > The only workaround I found is to remove the type type specified in the > response to make sure that we always have a return type "Response". -- This message was sent by Atlassian JIRA (v6.2#6252)