Module java.xml.soap
Package javax.xml.soap

## Class SOAPException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - javax.xml.soap.SOAPException

All Implemented Interfaces:
  `Serializable`

    public class SOAPException
    extends Exception

An exception that signals that a SOAP exception has occurred. A `SOAPException` object may contain a `String` that gives the reason for the exception, an embedded `Throwable` object, or both. This class provides methods for retrieving reason messages and for retrieving the embedded `Throwable` object.

Typical reasons for throwing a `SOAPException` object are problems such as difficulty setting a header, not being able to send a message, and not being able to get a connection with the provider. Reasons for embedding a `Throwable` object include problems such as input/output errors or a parsing problem, such as an error in parsing a header.

Since:
  1.6
See Also:
  Serialized Form

### Constructor Summary

Constructors
`SOAPException​()` Constructs a `SOAPException` object with no reason or embedded `Throwable` object.
`SOAPException​(String reason)` Constructs a `SOAPException` object with the given `String` as the reason for the exception being thrown.
`SOAPException​(String reason, Throwable cause)` Constructs a `SOAPException` object with the given `String` as the reason for the exception being thrown and the given `Throwable` object as an embedded exception.
`SOAPException​(Throwable cause)` Constructs a `SOAPException` object initialized with the given `Throwable` object.

### Method Summary

All Methods Instance Methods Concrete Methods
`Throwable` `getCause​()` Returns the `Throwable` object embedded in this `SOAPException` if there is one.
`String` `getMessage​()` Returns the detail message for this `SOAPException` object.
`Throwable` `initCause​(Throwable cause)` Initializes the `cause` field of this `SOAPException` object with the given `Throwable` object.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from class java.lang.Throwable

`addSuppressed, fillInStackTrace, getLocalizedMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

### Constructor Detail

#### SOAPException

    public SOAPException​()

Constructs a `SOAPException` object with no reason or embedded `Throwable` object.

#### SOAPException

    public SOAPException​(String reason)

Constructs a `SOAPException` object with the given `String` as the reason for the exception being thrown.

Parameters:
  `reason` - a description of what caused the exception

#### SOAPException

    public SOAPException​(String reason,
                         Throwable cause)

Constructs a `SOAPException` object with the given `String` as the reason for the exception being thrown and the given `Throwable` object as an embedded exception.

Parameters:
  `reason` - a description of what caused the exception
  `cause` - a `Throwable` object that is to be embedded in this `SOAPException` object

#### SOAPException

    public SOAPException​(Throwable cause)

Constructs a `SOAPException` object initialized with the given `Throwable` object.

Parameters:
  `cause` - a `Throwable` object that is to be embedded in this `SOAPException` object

### Method Detail

#### getMessage

    public String getMessage​()

Returns the detail message for this `SOAPException` object.

If there is an embedded `Throwable` object, and if the `SOAPException` object has no detail message of its own, this method will return the detail message from the embedded `Throwable` object.

Overrides:
  `getMessage` in class `Throwable`
Returns:
  the error or warning message for this `SOAPException` or, if it has none, the message of the embedded `Throwable` object, if there is one

#### getCause

    public Throwable getCause​()

Returns the `Throwable` object embedded in this `SOAPException` if there is one. Otherwise, this method returns `null`.

Overrides:
  `getCause` in class `Throwable`
Returns:
  the embedded `Throwable` object or `null` if there is none

#### initCause

    public Throwable initCause​(Throwable cause)

Initializes the `cause` field of this `SOAPException` object with the given `Throwable` object.

This method can be called at most once. It is generally called from within the constructor or immediately after the constructor has returned a new `SOAPException` object. If this `SOAPException` object was created with the constructor `SOAPException(Throwable)` or `SOAPException(String,Throwable)`, meaning that its `cause` field already has a value, this method cannot be called even once.

Overrides:
  `initCause` in class `Throwable`
Parameters:
  `cause` - the `Throwable` object that caused this `SOAPException` object to be thrown. The value of this parameter is saved for later retrieval by the `getCause()` method. A `null` value is permitted and indicates that the cause is nonexistent or unknown.
Returns:
  a reference to this `SOAPException` instance
Throws:
  `IllegalArgumentException` - if `cause` is this `Throwable` object. (A `Throwable` object cannot be its own cause.)
  `IllegalStateException` - if the cause for this `SOAPException` object has already been initialized