Package org.apache.axis2
Class AxisFault
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.io.IOException
-
- java.rmi.RemoteException
-
- org.apache.axis2.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
- A fault string
- A fault code
- A fault actor
- Fault details; an xml tree of fault specific elements
SOAP1.2 SOAP1.1 node faultactor reason(0).text faultstring faultcode.value faultcode faultcode.subcode (discarded) detail detail role (discarded)
, Serialized Form
-
-
Field Summary
-
Fields inherited from class java.rmi.RemoteException
detail
-
-
Constructor Summary
Constructors Modifier Constructor Description AxisFault(String message)
Constructor.AxisFault(String messageText, String faultCode)
Constructor.AxisFault(String messageText, String faultCode, Throwable cause)
AxisFault(String message, Throwable cause)
ConstructorAxisFault(String messageText, QName faultCode)
ConstructorAxisFault(String messageText, QName faultCode, Throwable cause)
AxisFault(String message, MessageContext faultMessageContext)
Create an AxisFault by providing a textual message and a MessageContext that contains the actual fault representation.AxisFault(String message, MessageContext faultMessageContext, Throwable cause)
protected
AxisFault(Throwable cause)
Construct a fault from a Throwable.AxisFault(QName faultCode, String faultReason, String faultNode, String faultRole, OMElement faultDetail)
ConstructorAxisFault(QName faultCode, String faultReason, Throwable cause)
ConstructorAxisFault(QName faultCode, List<QName> faultSubCodes, String faultReason, Throwable cause)
ConstructorAxisFault(SOAPFault fault)
AxisFault(SOAPFaultCode soapFaultCode, SOAPFaultReason soapFaultReason, SOAPFaultNode soapFaultNode, SOAPFaultRole soapFaultRole, SOAPFaultDetail soapFaultDetail)
This is just a convenience method for the user.AxisFault(SOAPFault fault, MessageContext faultCtx)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addHeader(SOAPHeaderBlock header)
Add a header to the list of fault headersvoid
addReason(String text)
Add a reason for the fault in the empty "" languagevoid
addReason(String text, String language)
Add a reason for the faultOMElement
getDetail()
Get the current fault detail.List<OMElement>
getDetails()
Get the SOAP fault detail elements.String
getFaultAction()
QName
getFaultCode()
SOAPFaultCode
getFaultCodeElement()
SOAPFaultDetail
getFaultDetailElement()
MessageContext
getFaultMessageContext()
Returns the MessageContext representation of the fault if the fault was created by providing that.String
getFaultNode()
SOAPFaultNode
getFaultNodeElement()
SOAPFaultReason
getFaultReasonElement()
String
getFaultRole()
SOAPFaultRole
getFaultRoleElement()
List<QName>
getFaultSubCodes()
int
getFaultType()
String
getMessage()
Returns the detail message, including the message from the cause, if any, of this exception.String
getNodeURI()
Get the faulting node uri.String
getReason()
Returns the first fault reason, if available.ListIterator<SOAPHeaderBlock>
headerIterator()
Iterate over all of the headersList<SOAPHeaderBlock>
headers()
Get at the headers.static AxisFault
makeFault(Throwable e)
Make an AxisFault based on a passed Exception.void
setDetail(OMElement detail)
Set the entire detail element of the faultvoid
setDetails(List<OMElement> details)
Set the SOAP fault details.void
setFaultAction(String faultAction)
Set the (OPTIONAL) action value for the fault messagevoid
setFaultCode(String soapFaultCode)
void
setFaultCode(QName soapFaultCode)
void
setFaultSubCodes(List<QName> faultSubCodes)
void
setFaultType(int faultType)
void
setNodeURI(String nodeURI)
Set the faulting node uri.-
Methods inherited from class java.rmi.RemoteException
getCause
-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
-
-
-
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 QNamefaultReason
- - 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 QNamefaultSubCodes
- - list sub fault codes as a list if QNamesfaultReason
- - 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 codefaultReason
- the reason for the fault. The language will be defaulted to 'en'faultNode
- a URL identifying the SOAP node generating this fault, or nullfaultRole
- a URL identifying the SOAP role active when generating this fault, or nullfaultDetail
- 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 codesoapFaultReason
- the fault reasonsoapFaultNode
- the SOAPFaultNode representing the source node for this faultsoapFaultRole
- the SOAPFaultRole representing the source role for this faultsoapFaultDetail
- the SOAPFaultDetail containing any application-specific info
-
AxisFault
public AxisFault(SOAPFault fault)
-
AxisFault
public AxisFault(SOAPFault fault, MessageContext faultCtx)
-
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 FaultfaultCode
- - 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 FaultfaultCode
- 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 Faultcause
- 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 FaultfaultCode
- - this will appear as the Value in the Code information item of SOAP Faultcause
- - 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 FaultfaultCode
- - this will appear as the Value in the Code information item of SOAP Faultcause
- - 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 messagelanguage
- language
-
getReason
public String getReason()
Returns the first fault reason, if available. If not found, returns null.- Returns:
- faultReason
-
headerIterator
public ListIterator<SOAPHeaderBlock> headerIterator()
Iterate over all of the headers- Returns:
- iterator
-
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
- theException
to build a fault for- Returns:
- an
AxisFault
representinge
-
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()
-
getFaultCodeElement
public SOAPFaultCode getFaultCodeElement()
- Returns:
- SOAPFaultCode if, user has set a
SOAPFaultCode
element when constructing theAxisFault
-
getFaultReasonElement
public SOAPFaultReason getFaultReasonElement()
- Returns:
- SOAPFaultCode if, user has set a
SOAPFaultReason
element when constructing theAxisFault
-
getFaultNodeElement
public SOAPFaultNode getFaultNodeElement()
- Returns:
- SOAPFaultCode if, user has set a
SOAPFaultNode
element when constructing theAxisFault
-
getFaultRoleElement
public SOAPFaultRole getFaultRoleElement()
- Returns:
- SOAPFaultCode if, user has set a
SOAPFaultRole
element when constructing theAxisFault
-
getFaultDetailElement
public SOAPFaultDetail getFaultDetailElement()
- Returns:
- SOAPFaultCode if, user has set a
SOAPFaultDetail
element when constructing theAxisFault
-
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)
-
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 classRemoteException
- Returns:
- the detail message
-
getFaultType
public int getFaultType()
-
setFaultType
public void setFaultType(int faultType)
-
-