Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.7.17, 2.7.18
-
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
@Override
public MyClass1 unmarshal(MyClass2 v) throws Exception
}
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>