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

Unusable error message for Unmarshall Error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 3.0.3, 3.0.4
    • 3.1.10
    • JAXB Databinding
    • None
    • Unknown

    Description

      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

      Attachments

        Issue Links

          Activity

            People

              jpell Jason Pell
              easternwahoo EasternWahoo
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: