You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Jim Ma (JIRA)" <ji...@apache.org> on 2013/08/23 11:27:53 UTC

[jira] [Resolved] (CXF-5219) @XmlJavaTypeAdapter ignored for exception members

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

Jim Ma resolved CXF-5219.
-------------------------

    Resolution: Fixed

Patch applied.Thanks, Kyle.
                
> @XmlJavaTypeAdapter ignored for exception members
> -------------------------------------------------
>
>                 Key: CXF-5219
>                 URL: https://issues.apache.org/jira/browse/CXF-5219
>             Project: CXF
>          Issue Type: Bug
>          Components: JAXB Databinding
>    Affects Versions: 2.5.11, 2.6.9, 2.7.6
>            Reporter: Kyle Lape
>            Assignee: Jim Ma
>             Fix For: 3.0.0, 2.6.10, 2.7.7
>
>         Attachments: cxf5219.diff
>
>
> Given the interface:
> {code:java}
> @javax.jws.WebService
> public interface WsIntfc {
>     public void test() throws MyException;
> }
> {code}
> And exception class:
> {code:java}
> public class MyException extends Exception {
>   private MyClass1 adapted = null;
>   
>   @XmlJavaTypeAdapter(Cl1ToCl2Adapter.class)
>   public MyClass1 getAdapted() {
>       return this.adapted;
>   }
>   
>   public void setAdapted(MyClass1 adapted) {
>       this.adapted = adapted;
>   }
> }
> {code}
> Along with:
> {code:java}
> public class Cl1ToCl2Adapter extends XmlAdapter<MyClass2, MyClass1> {
>   @Override
>   public MyClass1 unmarshal(MyClass2 v) throws Exception {
>       MyClass1 mc1 = new MyClass1();
>       mc1.setName(v.getFile());
>       return mc1;
>   }
>   @Override
>   public MyClass2 marshal(MyClass1 v) throws Exception {
>       MyClass2 mc2 = new MyClass2();
>       mc2.setFile(v.getName());
>       return mc2;
>   }
> }
> {code}
> {code:java}
> public class MyClass1 {
>   private String name = null;
>   
>   public String getName() {
>     return this.name;
>   }
>   
>   public void setName(String name) {
>     this.name = name;
>   }
>   
> }
> {code}
> {code:java}
> public class MyClass2 {
>   private String file = null;
>   
>   public String getFile() {
>     return this.file;
>   }
>   
>   public void setFile(String file) {
>     this.file = file;
>   }
> }
> {code}
> I get the following schema output:
> {code:xml}
> <xs:complexType name="myClass1">
>   <xs:sequence>
>     <xs:element minOccurs="0" name="name" type="xs:string"/>
>   </xs:sequence>
> </xs:complexType>
> <xs:complexType name="MyException">
>   <xs:sequence/>
> </xs:complexType>
> {code}
> I should expect {{myClass2}} defined in the schema and referenced by {{MyException}}.

--
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