Class AxisFault

  • All Implemented Interfaces:
    Serializable
    Direct Known Subclasses:
    ClusteringFault, DataRetrievalException, DeploymentException, MexException, PhaseException

    public class AxisFault
    extends RemoteException
    An exception which maps cleanly to a SOAP fault. This is a base class for exceptions which are mapped to faults.
    See Also:
    SOAP1.2 specification, SOAP1.1 Faults

    SOAP faults contain

    1. A fault string
    2. A fault code
    3. A fault actor
    4. Fault details; an xml tree of fault specific elements

    As SOAP1.2 faults are a superset of SOAP1.1 faults, this type holds soap1.2 fault information. When a SOAP1.1 fault is created, spurious information can be discarded. Mapping

                                                                 SOAP1.2              SOAP1.1
                                                                 node                 faultactor
                                                                 reason(0).text       faultstring
                                                                 faultcode.value      faultcode
                                                                 faultcode.subcode    (discarded)
                                                                 detail               detail
                                                                 role                 (discarded)
                                                                 
    , Serialized Form
    • Constructor Detail

      • AxisFault

        public AxisFault​(String message)
        Constructor.
        Parameters:
        message - the human-readable text describing the fault
      • AxisFault

        public AxisFault​(QName faultCode,
                         String faultReason,
                         Throwable cause)
        Constructor
        Parameters:
        faultCode - - fault code of the message as a QName
        faultReason - - the reason for the fault. The language will be defaulted to 'en'
        cause - embedded fault which caused this one
      • AxisFault

        public AxisFault​(QName faultCode,
                         List<QName> faultSubCodes,
                         String faultReason,
                         Throwable cause)
        Constructor
        Parameters:
        faultCode - - fault code of the message as a QName
        faultSubCodes - - list sub fault codes as a list if QNames
        faultReason - - the reason for the fault. The language will be defaulted to 'en'
        cause - embedded fault which caused this one
      • AxisFault

        public AxisFault​(QName faultCode,
                         String faultReason,
                         String faultNode,
                         String faultRole,
                         OMElement faultDetail)
        Constructor
        Parameters:
        faultCode - a QName for the fault code
        faultReason - the reason for the fault. The language will be defaulted to 'en'
        faultNode - a URL identifying the SOAP node generating this fault, or null
        faultRole - a URL identifying the SOAP role active when generating this fault, or null
        faultDetail - arbitrary XML containing application-specific fault data
      • AxisFault

        public AxisFault​(SOAPFaultCode soapFaultCode,
                         SOAPFaultReason soapFaultReason,
                         SOAPFaultNode soapFaultNode,
                         SOAPFaultRole soapFaultRole,
                         SOAPFaultDetail soapFaultDetail)
        This is just a convenience method for the user. If you set these, do not use other methods in this class to get and set things. Any of the parameters can be null
        Parameters:
        soapFaultCode - the fault code
        soapFaultReason - the fault reason
        soapFaultNode - the SOAPFaultNode representing the source node for this fault
        soapFaultRole - the SOAPFaultRole representing the source role for this fault
        soapFaultDetail - the SOAPFaultDetail containing any application-specific info
      • AxisFault

        public AxisFault​(SOAPFault fault)
      • AxisFault

        protected AxisFault​(Throwable cause)
        Construct a fault from a Throwable. This is a protected constructor - in general to make an AxisFault from an Exception, you should be calling AxisFault.makeFault(e), which prevents AxisFaults within AxisFaults.
        Parameters:
        cause - the Throwable that caused the problem
      • AxisFault

        public AxisFault​(String messageText,
                         String faultCode)
        Constructor.
        Parameters:
        messageText - - this will appear as the Text in the Reason information item of SOAP Fault
        faultCode - - this will appear as the Value in the Code information item of SOAP Fault
      • AxisFault

        public AxisFault​(String messageText,
                         QName faultCode)
        Constructor
        Parameters:
        messageText - this will appear as the Text in the Reason information item of SOAP Fault
        faultCode - this will appear as the Value in the Code information item of SOAP Fault
      • AxisFault

        public AxisFault​(String message,
                         Throwable cause)
        Constructor
        Parameters:
        message - this will appear as the Text in the Reason information item of SOAP Fault
        cause - the embedded Throwable that caused this fault
      • AxisFault

        public AxisFault​(String messageText,
                         QName faultCode,
                         Throwable cause)
        Parameters:
        messageText - - this will appear as the Text in the Reason information item of SOAP Fault
        faultCode - - this will appear as the Value in the Code information item of SOAP Fault
        cause - - this will appear under the Detail information item of SOAP Fault
      • AxisFault

        public AxisFault​(String message,
                         MessageContext faultMessageContext,
                         Throwable cause)
        Parameters:
        message -
        faultMessageContext -
        cause -
      • AxisFault

        public AxisFault​(String messageText,
                         String faultCode,
                         Throwable cause)
        Parameters:
        messageText - - this will appear as the Text in the Reason information item of SOAP Fault
        faultCode - - this will appear as the Value in the Code information item of SOAP Fault
        cause - - this will appear under the Detail information item of SOAP Fault
      • AxisFault

        public AxisFault​(String message,
                         MessageContext faultMessageContext)
        Create an AxisFault by providing a textual message and a MessageContext that contains the actual fault representation.
        Parameters:
        message - A string that's really only useful for logging.
        faultMessageContext - A MessageContext which must contain SOAP fault info
    • Method Detail

      • addHeader

        public void addHeader​(SOAPHeaderBlock header)
        Add a header to the list of fault headers
        Parameters:
        header - to add.
      • addReason

        public void addReason​(String text)
        Add a reason for the fault in the empty "" language
        Parameters:
        text - text message
      • addReason

        public void addReason​(String text,
                              String language)
        Add a reason for the fault
        Parameters:
        text - text message
        language - language
      • getReason

        public String getReason()
        Returns the first fault reason, if available. If not found, returns null.
        Returns:
        faultReason
      • headers

        public List<SOAPHeaderBlock> headers()
        Get at the headers. Useful for java1.5 iteration.
        Returns:
        the headers for this fault
      • makeFault

        public static AxisFault makeFault​(Throwable e)
        Make an AxisFault based on a passed Exception. If the Exception is already an AxisFault, simply use that. Otherwise, wrap it in an AxisFault. If the Exception is an InvocationTargetException (which already wraps another Exception), get the wrapped Exception out from there and use that instead of the passed one.
        Parameters:
        e - the Exception to build a fault for
        Returns:
        an AxisFault representing e
      • getDetail

        public OMElement getDetail()
        Get the current fault detail. If the fault has several detail elements, only the first one is returned.
        Returns:
        the (first) detail element, or null if there is no detail element
      • getDetails

        public List<OMElement> getDetails()
        Get the SOAP fault detail elements.
        Returns:
        the list of SOAP fault detail elements, or null if no detail elements have been set for this fault
      • getFaultCode

        public QName getFaultCode()
      • getFaultSubCodes

        public List<QName> getFaultSubCodes()
      • getNodeURI

        public String getNodeURI()
        Get the faulting node uri. SOAP1.2
        Returns:
        URI as a string or null
      • setDetail

        public void setDetail​(OMElement detail)
        Set the entire detail element of the fault
        Parameters:
        detail - an OMElement which MUST be
      • setDetails

        public void setDetails​(List<OMElement> details)
        Set the SOAP fault details.
        Parameters:
        details - a list of elements for the SOAP fault details
      • setFaultCode

        public void setFaultCode​(QName soapFaultCode)
      • setFaultSubCodes

        public void setFaultSubCodes​(List<QName> faultSubCodes)
      • setFaultCode

        public void setFaultCode​(String soapFaultCode)
      • setNodeURI

        public void setNodeURI​(String nodeURI)
        Set the faulting node uri. (SOAP1.2)
        Parameters:
        nodeURI - a String containing a URI indicating which SOAP Node faulted
      • getFaultNode

        public String getFaultNode()
      • getFaultRole

        public String getFaultRole()
      • getFaultMessageContext

        public MessageContext getFaultMessageContext()
        Returns the MessageContext representation of the fault if the fault was created by providing that.
        Returns:
        The MessageContext representing the fault message or null if the fault was not created with MessageContext representation.
      • getFaultAction

        public String getFaultAction()
        Returns:
        the action value set for the fault message
      • setFaultAction

        public void setFaultAction​(String faultAction)
        Set the (OPTIONAL) action value for the fault message
        Parameters:
        faultAction - a String containing an action URI for the fault
      • getMessage

        public String getMessage()
        Returns the detail message, including the message from the cause, if any, of this exception.
        Overrides:
        getMessage in class RemoteException
        Returns:
        the detail message
      • getFaultType

        public int getFaultType()
      • setFaultType

        public void setFaultType​(int faultType)