org.apache.axis2
Class AxisFault

java.lang.Object
  extended byjava.lang.Throwable
      extended byjava.lang.Exception
          extended byjava.io.IOException
              extended byjava.rmi.RemoteException
                  extended byorg.apache.axis2.AxisFault
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
ClusteringFault, DataRetrievalException, DeploymentException, PhaseException

public class AxisFault
extends java.rmi.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 Summary
AxisFault(javax.xml.namespace.QName faultCode, java.lang.String faultReason, java.lang.String faultNode, java.lang.String faultRole, org.apache.axiom.om.OMElement faultDetail)
           
AxisFault(javax.xml.namespace.QName faultCode, java.lang.String faultReason, java.lang.Throwable cause)
          These are the absolute minimum to construct a meaningful SOAPFault from user's information
AxisFault(org.apache.axiom.soap.SOAPFault fault)
           
AxisFault(org.apache.axiom.soap.SOAPFaultCode soapFaultCode, org.apache.axiom.soap.SOAPFaultReason soapFaultReason, org.apache.axiom.soap.SOAPFaultNode soapFaultNode, org.apache.axiom.soap.SOAPFaultRole soapFaultRole, org.apache.axiom.soap.SOAPFaultDetail soapFaultDetail)
          This is just a convenience method for the user.
AxisFault(org.apache.axiom.soap.SOAPFault fault, MessageContext faultCtx)
           
AxisFault(java.lang.String message)
           
AxisFault(java.lang.String message, MessageContext faultMessageContext)
          Create an AxisFault by providing a textual message and a MessageContext that contains the actual fault representation.
AxisFault(java.lang.String messageText, javax.xml.namespace.QName faultCode)
           
AxisFault(java.lang.String messageText, javax.xml.namespace.QName faultCode, java.lang.Throwable cause)
           
AxisFault(java.lang.String messageText, java.lang.String faultCode)
           
AxisFault(java.lang.String messageText, java.lang.String faultCode, java.lang.Throwable cause)
           
AxisFault(java.lang.String message, java.lang.Throwable cause)
           
AxisFault(java.lang.Throwable cause)
          construct a fault from an exception TODO: handle AxisFaults or SOAPFaultException implementations differently?
 
Method Summary
 void addHeader(org.apache.axiom.soap.SOAPHeaderBlock header)
          Add a header to the list of fault headers
 void addReason(java.lang.String text)
          Add a reason for the fault in the empty "" language
 void addReason(java.lang.String text, java.lang.String language)
          Add a reason for the fault
 org.apache.axiom.om.OMElement getDetail()
          Get the current fault detail
 java.lang.String getFaultAction()
           
 javax.xml.namespace.QName getFaultCode()
           
 org.apache.axiom.soap.SOAPFaultCode getFaultCodeElement()
           
 org.apache.axiom.soap.SOAPFaultDetail getFaultDetailElement()
           
 MessageContext getFaultMessageContext()
          Returns the MessageContext representation of the fault if the fault was created by providing that.
 java.lang.String getFaultNode()
           
 org.apache.axiom.soap.SOAPFaultNode getFaultNodeElement()
           
 org.apache.axiom.soap.SOAPFaultReason getFaultReasonElement()
           
 java.lang.String getFaultRole()
           
 org.apache.axiom.soap.SOAPFaultRole getFaultRoleElement()
           
 java.util.List getFaultSubCodes()
           
 java.lang.String getMessage()
          Returns the detail message, including the message from the cause, if any, of this exception.
 java.lang.String getNodeURI()
          Get the faulting node uri.
 java.lang.String getReason()
          Returns the first fault reason, if available.
 java.util.ListIterator headerIterator()
          Iterate over all of the headers
 java.util.List headers()
          Get at the headers.
static AxisFault makeFault(java.lang.Exception e)
          Make an AxisFault based on a passed Exception.
 void setDetail(org.apache.axiom.om.OMElement detail)
          Set the entire detail element of the fault
 void setFaultAction(java.lang.String faultAction)
          Set the (OPTIONAL) action value for the fault message
 void setFaultCode(javax.xml.namespace.QName soapFaultCode)
           
 void setFaultCode(java.lang.String soapFaultCode)
           
 void setNodeURI(java.lang.String nodeURI)
          Set the faulting node uri.
 
Methods inherited from class java.rmi.RemoteException
getCause
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AxisFault

public AxisFault(java.lang.String message)
Parameters:
message -

AxisFault

public AxisFault(javax.xml.namespace.QName faultCode,
                 java.lang.String faultReason,
                 java.lang.Throwable cause)
These are the absolute minimum to construct a meaningful SOAPFault from user's information

Parameters:
faultCode - - fault code of the message as a QName
faultReason - - the reason for the fault. The language will be defaulted to 'en'
cause -

AxisFault

public AxisFault(javax.xml.namespace.QName faultCode,
                 java.lang.String faultReason,
                 java.lang.String faultNode,
                 java.lang.String faultRole,
                 org.apache.axiom.om.OMElement faultDetail)

AxisFault

public AxisFault(org.apache.axiom.soap.SOAPFaultCode soapFaultCode,
                 org.apache.axiom.soap.SOAPFaultReason soapFaultReason,
                 org.apache.axiom.soap.SOAPFaultNode soapFaultNode,
                 org.apache.axiom.soap.SOAPFaultRole soapFaultRole,
                 org.apache.axiom.soap.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 -
soapFaultReason -
soapFaultNode -
soapFaultRole -

AxisFault

public AxisFault(org.apache.axiom.soap.SOAPFault fault)

AxisFault

public AxisFault(org.apache.axiom.soap.SOAPFault fault,
                 MessageContext faultCtx)

AxisFault

public AxisFault(java.lang.Throwable cause)
construct a fault from an exception TODO: handle AxisFaults or SOAPFaultException implementations differently?

Parameters:
cause -

AxisFault

public AxisFault(java.lang.String messageText,
                 java.lang.String faultCode)
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(java.lang.String messageText,
                 javax.xml.namespace.QName faultCode)
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(java.lang.String message,
                 java.lang.Throwable cause)
Parameters:
message -
cause -

AxisFault

public AxisFault(java.lang.String messageText,
                 javax.xml.namespace.QName faultCode,
                 java.lang.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(java.lang.String messageText,
                 java.lang.String faultCode,
                 java.lang.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(java.lang.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 -
Method Detail

addHeader

public void addHeader(org.apache.axiom.soap.SOAPHeaderBlock header)
Add a header to the list of fault headers

Parameters:
header - to add.

addReason

public void addReason(java.lang.String text)
Add a reason for the fault in the empty "" language

Parameters:
text - text message

addReason

public void addReason(java.lang.String text,
                      java.lang.String language)
Add a reason for the fault

Parameters:
text - text message
language - language

getReason

public java.lang.String getReason()
Returns the first fault reason, if available. If not found, returns null.

Returns:
faultReason

headerIterator

public java.util.ListIterator headerIterator()
Iterate over all of the headers

Returns:
iterator

headers

public java.util.List headers()
Get at the headers. Useful for java1.5 iteration.

Returns:
the headers for this fault

makeFault

public static AxisFault makeFault(java.lang.Exception 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 org.apache.axiom.om.OMElement getDetail()
Get the current fault detail

Returns:
om element

getFaultCode

public javax.xml.namespace.QName getFaultCode()

getFaultSubCodes

public java.util.List getFaultSubCodes()

getFaultCodeElement

public org.apache.axiom.soap.SOAPFaultCode getFaultCodeElement()
Returns:
SOAPFaultCode if, user has set a SOAPFaultCode element when constructing the AxisFault

getFaultReasonElement

public org.apache.axiom.soap.SOAPFaultReason getFaultReasonElement()
Returns:
SOAPFaultCode if, user has set a SOAPFaultReason element when constructing the AxisFault

getFaultNodeElement

public org.apache.axiom.soap.SOAPFaultNode getFaultNodeElement()
Returns:
SOAPFaultCode if, user has set a SOAPFaultNode element when constructing the AxisFault

getFaultRoleElement

public org.apache.axiom.soap.SOAPFaultRole getFaultRoleElement()
Returns:
SOAPFaultCode if, user has set a SOAPFaultRole element when constructing the AxisFault

getFaultDetailElement

public org.apache.axiom.soap.SOAPFaultDetail getFaultDetailElement()
Returns:
SOAPFaultCode if, user has set a SOAPFaultDetail element when constructing the AxisFault

getNodeURI

public java.lang.String getNodeURI()
Get the faulting node uri. SOAP1.2

Returns:
URI as a string or null

setDetail

public void setDetail(org.apache.axiom.om.OMElement detail)
Set the entire detail element of the fault

Parameters:
detail -

setFaultCode

public void setFaultCode(javax.xml.namespace.QName soapFaultCode)

setFaultCode

public void setFaultCode(java.lang.String soapFaultCode)

setNodeURI

public void setNodeURI(java.lang.String nodeURI)
Set the faulting node uri. SOAP1.2


getFaultNode

public java.lang.String getFaultNode()

getFaultRole

public java.lang.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 java.lang.String getFaultAction()
Returns:
the action value set for the fault message

setFaultAction

public void setFaultAction(java.lang.String faultAction)
Set the (OPTIONAL) action value for the fault message

Parameters:
faultAction -

getMessage

public java.lang.String getMessage()
Returns the detail message, including the message from the cause, if any, of this exception.

Returns:
the detail message


Copyright © 2004-2007 Apache Software Foundation. All Rights Reserved.