[ 
https://issues.apache.org/jira/browse/CXF-9133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vincent Meunier closed CXF-9133.
--------------------------------
    Resolution: Information Provided

Lack of knowledge/doc on how to use xjc

 

Sorry for the issue

> WSDL2Java with JAXB
> -------------------
>
>                 Key: CXF-9133
>                 URL: https://issues.apache.org/jira/browse/CXF-9133
>             Project: CXF
>          Issue Type: Improvement
>    Affects Versions: 4.1.1
>            Reporter: Vincent Meunier
>            Priority: Major
>
> Hello
> We are using cxf maven plugin to generate our services and DTOs from WSDL and 
> XSD.
> It generates JAXB jakarta annotations as expected since the version 4.x. 
> We use an ObjectMapper (jackson) to serialize and deserialize those DTO, and 
> we try as much as we can to avoid the use of the Reflection API in Java.
> But at the moment, the DTO generated via CXF annotates every class with 
> *@XmlAccessorType(XmlAccessType.FIELD)* 
>  
> This forces the libraries that read it, to use the fields directly (which are 
> protected), and we have to use some JVM options --add-opens and so on, in 
> order to make it work. If we wanted to use the get/set, the correct 
> annotation would be *@XmlAccessorType(XmlAccessType.PROPERTY)* - or maybe 
> even better, 
> *@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER).* 
> If i'm not mistaken, it appears we are stuck at the moment, since there is no 
> way to customize the plugin in a way to make it change this specific 
> annotation.
>  
> In my opinion, we should offer the possibility to users to be able to 
> annotate how they want if the default value does not fit their needs.
>  
>  
> Exemple of a class generated : 
>  
>  
> {code:java}
> @XmlAccessorType(XmlAccessType.PROPERTY)
> @XmlType(name = "someClass", propOrder = {
> "oneString",
> "twoString"
> })
> public class SomeClass {     
>   @XmlElement(required = true)
>   @NotNull
>   @Valid
>   protected String oneString;
>   
>   @XmlElement(required = true)
>   @NotNull
>   @Valid
>   protected String twoString; 
>   
>   // get/set
> }{code}
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to