[ http://jira.codehaus.org/browse/XFIRE-771?page=all ]
Alexander Ananiev updated XFIRE-771: ------------------------------------ Attachment: JaxbType.java > Schema validation in JAXB does not return validation errors to the client > ------------------------------------------------------------------------- > > Key: XFIRE-771 > URL: http://jira.codehaus.org/browse/XFIRE-771 > Project: XFire > Issue Type: Improvement > Components: JAXB 2.0 > Affects Versions: 1.2.2 > Reporter: Alexander Ananiev > Assigned To: Dan Diephouse > Attachments: JaxbType.java > > > When schema validation is enabled for JAXB unmarshaling and it fails, the > following code is used in org.codehaus.xfire.jaxb2.JaxbType.readObject: > catch (JAXBException e) > { > throw new XFireFault("Could not unmarshall type.", e, > XFireFault.RECEIVER); > } > JAXBException in this case is the "Unmarshalling" exception, the actual > validation exception is its cause. Hence, this code looses the cause > exception since XFireFault does not handle exception chains. > I use the following patch instead: > catch (JAXBException jaxbEx) > { > Throwable ex = jaxbEx; > if (jaxbEx.getLinkedException()!=null) > ex=jaxbEx.getLinkedException(); > > //throw new XFireFault("Could not unmarshall type.", ex, > XFireFault.RECEIVER); > throw new XFireFault( ex ); > } > But a better solution would be to change XfireFault so it collects messages > from all exceptions in a chain, not just from the top one. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email