ProtocolException (Java Platform SE 8 )
Keywords: javax.xml.ws.ProtocolException class
Date: 2026-03-16

javax.xml.ws

## Class ProtocolException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.lang.RuntimeException
      - - javax.xml.ws.WebServiceException
        - - javax.xml.ws.ProtocolException

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    HTTPException, SOAPFaultException

      public class ProtocolException
      extends WebServiceException

  The `ProtocolException` class is a base class for exceptions related to a specific protocol binding. Subclasses are used to communicate protocol level fault information to clients and may be used on the server to control the protocol specific fault representation.
  Since:
    JAX-WS 2.0
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ProtocolException()` Constructs a new protocol exception with `null` as its detail message.
    `ProtocolException(String message)` Constructs a new protocol exception with the specified detail message.
    `ProtocolException(String message, Throwable cause)` Constructs a new runtime exception with the specified detail message and cause.
    `ProtocolException(Throwable cause)` Constructs a new runtime exception with the specified cause and a detail message of `(cause==null ? null : cause.toString())` (which typically contains the class and detail message of cause).

  - ### Method Summary

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

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, 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

    - #### ProtocolException

          public ProtocolException()

      Constructs a new protocol exception with `null` as its detail message. The cause is not initialized, and may subsequently be initialized by a call to `Throwable.initCause(java.lang.Throwable)`.

    - #### ProtocolException

          public ProtocolException(String message)

      Constructs a new protocol exception with the specified detail message. The cause is not initialized, and may subsequently be initialized by a call to `Throwable.initCause(java.lang.Throwable)`.
      Parameters:
        `message` - the detail message. The detail message is saved for later retrieval by the Throwable.getMessage() method.

    - #### ProtocolException

          public ProtocolException(String message,
                                   Throwable cause)

      Constructs a new runtime exception with the specified detail message and cause. Note that the detail message associated with cause is not automatically incorporated in this runtime exception's detail message.
      Parameters:
        `message` - the detail message (which is saved for later retrieval by the Throwable.getMessage() method).
        `cause` - the cause (which is saved for later retrieval by the `Throwable.getCause()` method). (A `null` value is permitted, and indicates that the cause is nonexistent or unknown.)

    - #### ProtocolException

          public ProtocolException(Throwable cause)

      Constructs a new runtime exception with the specified cause and a detail message of `(cause==null ? null : cause.toString())` (which typically contains the class and detail message of cause). This constructor is useful for runtime exceptions that are little more than wrappers for other throwables.
      Parameters:
        `cause` - the cause (which is saved for later retrieval by the `Throwable.getCause()` method). (A `null` value is permitted, and indicates that the cause is nonexistent or unknown.)

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.