public interface SOAPFault extends SOAPBodyElement
An element in the SOAPBody
object that contains error and/or status information. This information may relate to errors in the SOAPMessage
object or to problems that are not related to the content in the message itself. Problems not related to the message itself are generally errors in processing, such as the inability to communicate with an upstream server.
Depending on the protocol
specified while creating the MessageFactory
instance, a SOAPFault
has sub-elements as defined in the SOAP 1.1/SOAP 1.2 specification.
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
void setFaultCode(Name faultCodeQName) throws SOAPException
Sets this SOAPFault
object with the given fault code.
Fault codes, which give information about the fault, are defined in the SOAP 1.1 specification. A fault code is mandatory and must be of type Name
. This method provides a convenient way to set a fault code. For example,
SOAPEnvelope se = ...; // Create a qualified name in the SOAP namespace with a localName // of "Client". Note that prefix parameter is optional and is null // here which causes the implementation to use an appropriate prefix. Name qname = se.createName("Client", null, SOAPConstants.URI_NS_SOAP_ENVELOPE); SOAPFault fault = ...; fault.setFaultCode(qname);It is preferable to use this method over
setFaultCode(String)
.faultCodeQName
- a Name
object giving the fault code to be set. It must be namespace qualified.SOAPException
- if there was an error in adding the faultcode element to the underlying XML tree.getFaultCodeAsName()
void setFaultCode(QName faultCodeQName) throws SOAPException
Sets this SOAPFault
object with the given fault code. It is preferable to use this method over setFaultCode(Name)
.
faultCodeQName
- a QName
object giving the fault code to be set. It must be namespace qualified.SOAPException
- if there was an error in adding the faultcode
element to the underlying XML tree.getFaultCodeAsQName()
, setFaultCode(Name)
, getFaultCodeAsQName()
void setFaultCode(String faultCode) throws SOAPException
Sets this SOAPFault
object with the give fault code.
Fault codes, which given information about the fault, are defined in the SOAP 1.1 specification. This element is mandatory in SOAP 1.1. Because the fault code is required to be a QName it is preferable to use the setFaultCode(Name)
form of this method.
faultCode
- a String
giving the fault code to be set. It must be of the form "prefix:localName" where the prefix has been defined in a namespace declaration.SOAPException
- if there was an error in adding the faultCode
to the underlying XML tree.setFaultCode(Name)
, getFaultCode()
, SOAPElement.addNamespaceDeclaration(java.lang.String, java.lang.String)
Name getFaultCodeAsName()
Gets the mandatory SOAP 1.1 fault code for this SOAPFault
object as a SAAJ Name
object. The SOAP 1.1 specification requires the value of the "faultcode" element to be of type QName. This method returns the content of the element as a QName in the form of a SAAJ Name object. This method should be used instead of the getFaultCode
method since it allows applications to easily access the namespace name without additional parsing.
Name
representing the faultcodesetFaultCode(Name)
QName getFaultCodeAsQName()
Gets the fault code for this SOAPFault
object as a QName
object.
QName
representing the faultcodesetFaultCode(QName)
Iterator getFaultSubcodes()
Gets the Subcodes for this SOAPFault
as an iterator over QNames
.
Iterator
that accesses a sequence of QNames
. This Iterator
should not support the optional remove
method. The order in which the Subcodes are returned reflects the hierarchy of Subcodes present in the fault from top to bottom.UnsupportedOperationException
- if this message does not support the SOAP 1.2 concept of Subcode.void removeAllFaultSubcodes()
Removes any Subcodes that may be contained by this SOAPFault
. Subsequent calls to getFaultSubcodes
will return an empty iterator until a call to appendFaultSubcode
is made.
UnsupportedOperationException
- if this message does not support the SOAP 1.2 concept of Subcode.void appendFaultSubcode(QName subcode) throws SOAPException
Adds a Subcode to the end of the sequence of Subcodes contained by this SOAPFault
. Subcodes, which were introduced in SOAP 1.2, are represented by a recursive sequence of subelements rooted in the mandatory Code subelement of a SOAP Fault.
subcode
- a QName containing the Value of the Subcode.SOAPException
- if there was an error in setting the SubcodeUnsupportedOperationException
- if this message does not support the SOAP 1.2 concept of Subcode.String getFaultCode()
Gets the fault code for this SOAPFault
object.
String
with the fault codegetFaultCodeAsName()
, setFaultCode(javax.xml.soap.Name)
void setFaultActor(String faultActor) throws SOAPException
Sets this SOAPFault
object with the given fault actor.
The fault actor is the recipient in the message path who caused the fault to happen.
If this SOAPFault
supports SOAP 1.2 then this call is equivalent to setFaultRole(String)
faultActor
- a String
identifying the actor that caused this SOAPFault
objectSOAPException
- if there was an error in adding the faultActor
to the underlying XML tree.getFaultActor()
String getFaultActor()
Gets the fault actor for this SOAPFault
object.
If this SOAPFault
supports SOAP 1.2 then this call is equivalent to getFaultRole()
String
giving the actor in the message path that caused this SOAPFault
objectsetFaultActor(java.lang.String)
void setFaultString(String faultString) throws SOAPException
Sets the fault string for this SOAPFault
object to the given string.
If this SOAPFault
is part of a message that supports SOAP 1.2 then this call is equivalent to:
addFaultReasonText(faultString, Locale.getDefault());
faultString
- a String
giving an explanation of the faultSOAPException
- if there was an error in adding the faultString
to the underlying XML tree.getFaultString()
void setFaultString(String faultString, Locale locale) throws SOAPException
Sets the fault string for this SOAPFault
object to the given string and localized to the given locale.
If this SOAPFault
is part of a message that supports SOAP 1.2 then this call is equivalent to:
addFaultReasonText(faultString, locale);
faultString
- a String
giving an explanation of the faultlocale
- a Locale
object indicating the native language of the faultString
SOAPException
- if there was an error in adding the faultString
to the underlying XML tree.getFaultString()
String getFaultString()
Gets the fault string for this SOAPFault
object.
If this SOAPFault
is part of a message that supports SOAP 1.2 then this call is equivalent to:
String reason = null; try { reason = (String) getFaultReasonTexts().next(); } catch (SOAPException e) {} return reason;
String
giving an explanation of the faultsetFaultString(String)
, setFaultString(String, Locale)
Locale getFaultStringLocale()
Gets the locale of the fault string for this SOAPFault
object.
If this SOAPFault
is part of a message that supports SOAP 1.2 then this call is equivalent to:
Locale locale = null; try { locale = (Locale) getFaultReasonLocales().next(); } catch (SOAPException e) {} return locale;
Locale
object indicating the native language of the fault string or null
if no locale was specifiedsetFaultString(String, Locale)
boolean hasDetail()
Returns true if this SOAPFault
has a Detail
subelement and false otherwise. Equivalent to (getDetail()!=null)
.
SOAPFault
has a Detail
subelement and false otherwise.Detail getDetail()
Returns the optional detail element for this SOAPFault
object.
A Detail
object carries application-specific error information, the scope of the error information is restricted to faults in the SOAPBodyElement
objects if this is a SOAP 1.1 Fault.
Detail
object with application-specific error information if present, null otherwiseDetail addDetail() throws SOAPException
Creates an optional Detail
object and sets it as the Detail
object for this SOAPFault
object.
It is illegal to add a detail when the fault already contains a detail. Therefore, this method should be called only after the existing detail has been removed.
Detail
objectSOAPException
- if this SOAPFault
object already contains a valid Detail
objectIterator getFaultReasonLocales() throws SOAPException
Returns an Iterator
over a distinct sequence of Locale
s for which there are associated Reason Text items. Any of these Locale
s can be used in a call to getFaultReasonText
in order to obtain a localized version of the Reason Text string.
Iterator
over a sequence of Locale
objects for which there are associated Reason Text items.SOAPException
- if there was an error in retrieving the fault Reason locales.UnsupportedOperationException
- if this message does not support the SOAP 1.2 concept of Fault Reason.Iterator getFaultReasonTexts() throws SOAPException
Returns an Iterator
over a sequence of String
objects containing all of the Reason Text items for this SOAPFault
.
Iterator
over env:Fault/env:Reason/env:Text items.SOAPException
- if there was an error in retrieving the fault Reason texts.UnsupportedOperationException
- if this message does not support the SOAP 1.2 concept of Fault Reason.String getFaultReasonText(Locale locale) throws SOAPException
Returns the Reason Text associated with the given Locale
. If more than one such Reason Text exists the first matching Text is returned
locale
- -- the Locale
for which a localized Reason Text is desiredlocale
SOAPException
- if there was an error in retrieving the fault Reason text for the specified locale .UnsupportedOperationException
- if this message does not support the SOAP 1.2 concept of Fault Reason.getFaultString()
void addFaultReasonText(String text, Locale locale) throws SOAPException
Appends or replaces a Reason Text item containing the specified text message and an xml:lang derived from locale
. If a Reason Text item with this xml:lang already exists its text value will be replaced with text
. The locale
parameter should not be null
Code sample:
SOAPFault fault = ...; fault.addFaultReasonText("Version Mismatch", Locale.ENGLISH);
text
- -- reason message stringlocale
- -- Locale object representing the locale of the messageSOAPException
- if there was an error in adding the Reason text or the locale
passed was null
.UnsupportedOperationException
- if this message does not support the SOAP 1.2 concept of Fault Reason.String getFaultNode()
Returns the optional Node element value for this SOAPFault
object. The Node element is optional in SOAP 1.2.
null
if noneUnsupportedOperationException
- if this message does not support the SOAP 1.2 concept of Fault Node.void setFaultNode(String uri) throws SOAPException
Creates or replaces any existing Node element value for this SOAPFault
object. The Node element is optional in SOAP 1.2.
SOAPException
- if there was an error in setting the Node for this SOAPFault
object.UnsupportedOperationException
- if this message does not support the SOAP 1.2 concept of Fault Node.String getFaultRole()
Returns the optional Role element value for this SOAPFault
object. The Role element is optional in SOAP 1.2.
null
if noneUnsupportedOperationException
- if this message does not support the SOAP 1.2 concept of Fault Role.void setFaultRole(String uri) throws SOAPException
Creates or replaces any existing Role element value for this SOAPFault
object. The Role element is optional in SOAP 1.2.
uri
- - the URI of the RoleSOAPException
- if there was an error in setting the Role for this SOAPFault
object.UnsupportedOperationException
- if this message does not support the SOAP 1.2 concept of Fault Role.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.