Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-6821

XMLJavaTypeAdapter not working in Exception Classes

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.7.17, 2.7.18
    • Invalid
    • JAXB Databinding
    • None
    • XMLJavaTypeAdapter not working in Exception Classes

    • Unknown

    Description

      @XMLJavaTypeAdapter usage in Exception Classes does not work when mapping to a list of objects not in the JAXB Context.

      MyEJB.java

      @Stateless
      @WebService
      public class MyEJB {

      public void launcheMyException() throws MyException

      { return; }

      }

      MyException.java

      @XmlAccessorType(XmlAccessType.FIELD)
      public class MyException extends Exception {

      @XmlJavaTypeAdapter(Cl1ToCl2Adapter.class)
      List<MyClass1> obj1;

      public MyClass1 getObj1()

      { return obj1; }

      public void setObj1(MyClass1 obj1)

      { this.obj1 = obj1; }

      }

      Cl1ToCl2Adapter.java

      public class Cl1ToCl2Adapter extends XmlAdapter<MyClass2,MyClass1> {

      @Override
      public MyClass2 marshal(MyClass1 v) throws Exception

      { return new MyClass2(); }

      @Override
      public MyClass1 unmarshal(MyClass2 v) throws Exception

      { MyClass1 mc1 = new MyClass1(v.getS2()); return mc1; }

      }

      This is what the resulting WSDL contains.
      List of MyClass1 is ignored. XMLJavaTypeAdapter takes no effect on the list.
      If only one MyClass1 is present (not a list, single object) it works fine.

      <xs:complexType name="MyException">
      <xs:sequence>
      <xs:element name="message" type="xs:string"/>
      </xs:sequence>
      </xs:complexType>

      Attachments

        Activity

          People

            Unassigned Unassigned
            marco.santoro03 Marco
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: