Class SOAPFaultBuilder

java.lang.Object
com.sun.xml.ws.fault.SOAPFaultBuilder

public abstract class SOAPFaultBuilder extends Object
Base class that represents SOAP 1.1 or SOAP 1.2 fault. This class can be used by the invocation handlers to create an Exception from a received messge.
Author:
Vivek Pandey
  • Field Details

    • captureStackTrace

      public static final boolean captureStackTrace
      Set to false if you don't want the generated faults to have stack trace in it.
  • Constructor Details

    • SOAPFaultBuilder

      protected SOAPFaultBuilder()
      Default constructor.
  • Method Details

    • getFirstDetailEntryName

      @Nullable public QName getFirstDetailEntryName()
    • createException

      public Throwable createException(Map<QName,CheckedExceptionImpl> exceptions) throws jakarta.xml.bind.JAXBException
      This should be called from the client side to throw an Exception for a given soap mesage
      Throws:
      jakarta.xml.bind.JAXBException
    • createSOAPFaultMessage

      @NotNull public static Message createSOAPFaultMessage(@NotNull SOAPVersion soapVersion, @NotNull jakarta.xml.ws.ProtocolException ex, @Nullable QName faultcode)
      To be called to convert a ProtocolException and faultcode for a given SOAPVersion in to a Message.
      Parameters:
      soapVersion - SOAPVersion.SOAP_11 or SOAPVersion.SOAP_12
      ex - a ProtocolException
      faultcode - soap faultcode. Its ignored if the ProtocolException instance is SOAPFaultException and it has a faultcode present in the underlying SOAPFault.
      Returns:
      Message representing SOAP fault
    • createSOAPFaultMessage

      public static Message createSOAPFaultMessage(SOAPVersion soapVersion, CheckedExceptionImpl ceModel, Throwable ex)
      To be called by the server runtime in the situations when there is an Exception that needs to be transformed in to a soapenv:Fault payload.
      Parameters:
      ceModel - CheckedExceptionImpl model that provides useful informations such as the detail tagname and the Exception associated with it. Caller of this constructor should get the CheckedException model by calling JavaMethodImpl.getCheckedException(Class), where Class is t.getClass().

      If its null then this is not a checked exception and in that case the soap fault will be serialized only from the exception as described below.

      ex - Exception that needs to be translated into soapenv:Fault, always non-null.
      • If t is instance of SOAPFaultException then its serilaized as protocol exception.
      • If t.getCause() is instance of SOAPFaultException and t is a checked exception then the soap fault detail is serilaized from t and the fault actor/string/role is taken from t.getCause().
      soapVersion - non-null
    • createSOAPFaultMessage

      public static Message createSOAPFaultMessage(SOAPVersion soapVersion, CheckedExceptionImpl ceModel, Throwable ex, QName faultCode)
      Create the Message with the specified faultCode
      See Also:
    • createSOAPFaultMessage

      public static Message createSOAPFaultMessage(SOAPVersion soapVersion, String faultString, QName faultCode)
      Server runtime will call this when there is some internal error not resulting from an exception.
      Parameters:
      soapVersion - SOAPVersion.SOAP_11 or SOAPVersion.SOAP_12
      faultString - must be non-null
      faultCode - For SOAP 1.1, it must be one of For SOAP 1.2
      Returns:
      non-null Message
    • createSOAPFaultMessage

      public static Message createSOAPFaultMessage(SOAPVersion soapVersion, jakarta.xml.soap.SOAPFault fault)
    • getProtocolException

      protected abstract Throwable getProtocolException()
    • create

      public static SOAPFaultBuilder create(Message msg) throws jakarta.xml.bind.JAXBException
      Parses a fault Message and returns it as a SOAPFaultBuilder.
      Returns:
      always non-null valid object.
      Throws:
      jakarta.xml.bind.JAXBException - if the parsing fails.