code: public String getMessage() {
          String message = super.getMessage();
          if (message == null && cause != null) {
              return cause.getMessage();
          } else {
              return message;
          }
      }
docs: Returns the detail message for this <code>SOAPException</code>
  object.
  <P>
  If there is an embedded <code>Throwable</code> object, and if the
  <code>SOAPException</code> object has no detail message of its
  own, this method will return the detail message from the embedded
  <code>Throwable</code> object.
  
  @return the error or warning message for this
  <code>SOAPException</code> or, if it has none, the
  message of the embedded <code>Throwable</code> object,
  if there is one