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

Sergey Beryozkin commented on CXF-3797:
---------------------------------------

OK, I updated the generator to support multiple in XML representations for a 
given method.
By default, a single method with a single javax.xml.transform.Source in 
parameter will be created in such cases - because on the server side it will 
produce a non-compliant code otherwise. However if you have a case where the 
server is not implemented with JAX-RS and effectively you are only interested 
in consuming that services then setting a "supportMultipleXmlReps" switch will 
do it for you, I think it's a good compromise :-)

Many thanks for your input. I'm also going to blog about this effort. 
                
> WADL2Java Generator improvements
> --------------------------------
>
>                 Key: CXF-3797
>                 URL: https://issues.apache.org/jira/browse/CXF-3797
>             Project: CXF
>          Issue Type: Improvement
>          Components: JAX-RS
>            Reporter: Christos Fragoulides
>            Assignee: Sergey Beryozkin
>              Labels: patch
>             Fix For: 2.4.4, 2.5
>
>         Attachments: SourceGenerator.java, SourceGenerator_patch2.patch, 
> wadl2java_patch.zip
>
>
> Given a relatively complex WADL file (such as the one provided by Rackspace 
> Cloud Servers API), JAX-RS WADL2Java Generator has many difficulties 
> generating the proper Java classes.
> To name a few:
> - Generated method parameter names may be invalid. For example a header 
> parameter named 'X-Auth-Token' will not have the dashes removed before being 
> converted to a Java method parameter. This results in invalid generated 
> source.
> - @Produces annotation is not applied to methods, when the corresponding 
> <response> element contains more that one representation elements.
> - Resolved XML-schemata(from the <grammars> section of the WADL) may contain 
> included schemata.
> - The status attribute of the <response> element may contain a list of status 
> codes. The generator is expecting none or a single entry. Also the generator 
> looks only for HTTP status 200, while there are more valid codes, like 203.
> - The generated class names may collide with names of JAXB generated classes. 
> For example a resource named 'Limits' may need to import a JAXB generated 
> class also named 'Limits' this will trigger compilation errors.
> We were trying to use the generator in order to create and use CXF Client 
> Proxies for the RESTful web service mentioned above. This was necessary for 
> us since we need to use the API for managing Radiojar, the main project we 
> are currently working on.
> I ended up checking out the source for JAX-RS Frontend and trying to fix the 
> bugs in SourceGenerator.
> Finally I managed to address the problems, so I will attach a patch to this 
> issue, along with the WADL file and the imported XSDs.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to