EasternWahoo created CXF-6312:
---------------------------------
Summary: Unusable error message for Unmarshall Error
Key: CXF-6312
URL: https://issues.apache.org/jira/browse/CXF-6312
Project: CXF
Issue Type: Bug
Components: JAXB Databinding
Affects Versions: 3.0.4, 3.0.3
Reporter: EasternWahoo
Priority: Critical
CXF soap faults for unmarshalling errors do not contain information useful in
locating the error. For example, invalid content in an element results in
this faultString: Unmarshalling Error: xxxx . (Where xxxx is the invalid data)
The full stack trace contains messages with location of the bad string, i.e. :
[com.sun.istack.SAXParseException2; lineNumber: 5; columnNumber: 38; xxxx].
This fragment in JAXBEncodeDecoder, extracts the message from the linked
exception, i.e., the last exception in the stack:
} catch (PrivilegedActionException e) {
Exception ex = e.getException();
if (ex instanceof Fault) {
throw (Fault)ex;
}
if (ex instanceof javax.xml.bind.UnmarshalException) {
javax.xml.bind.UnmarshalException unmarshalEx =
(javax.xml.bind.UnmarshalException)ex;
if (unmarshalEx.getLinkedException() != null) {
throw new Fault(new Message("UNMARSHAL_ERROR", LOG,
unmarshalEx.getLinkedException().getMessage()), ex);
For more info, see this mailing list thread:
http://cxf.547215.n5.nabble.com/Unmarshalling-error-content-usability-tt5755169.html
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)