I think I found the problem. The web service I need to call uses soap encoding
style (http://schemas.xmlsoap.org/soap/encoding/), hence EncodedTypeMapping is
used which registers type mapping for xsd:anyType as this:
// register mapping for xsd:anyType
registerInternal(SOAPElement.class, Constants.TYPE_SOAP11_ANYTYPE, new
SOAPElementSerializerFactory(), new SOAPElementDeserializerFactory());
registerInternal(Element.class, Constants.TYPE_SOAP11_ANYTYPE, new
ElementSerializerFactory(), new ElementDeserializerFactory());
In above code, it registers (De)SerializerFactory for a wrong QName. While the
fix in LiteralTypeMapping is correct:
// register mapping for xsd:anyType
registerInternal(SOAPElement.class, Constants.TYPE_LITERAL_ANYTYPE, new
SOAPElementSerializerFactory(), new SOAPElementDeserializerFactory());
registerInternal(Element.class, Constants.TYPE_LITERAL_ANYTYPE, new
ElementSerializerFactory(), new ElementDeserializerFactory());
So I think the above lines of code should be moved to
TypeMappingImpl.registerStandardLiteralTypes() in order to fix the problem with
both literal and soap encoding styles.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4032888#4032888
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4032888
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user