java.lang.Object
org.keycloak.protocol.saml.profile.util.Soap

public final class Soap extends Object
Author:
Pedro Igor
  • Constructor Details

    • Soap

      public Soap()
  • Method Details

    • createFault

      public static Soap.SoapFaultBuilder createFault()
    • createMessage

      public static Soap.SoapMessageBuilder createMessage()
    • toSamlHttpPostMessage

      public static String toSamlHttpPostMessage(Document document)

      Returns a string encoded accordingly with the SAML HTTP POST Binding specification based on the given inputStream which must contain a valid SOAP message.

      The resulting string is based on the Body of the SOAP message, which should map to a valid SAML message.

      Parameters:
      document - the document containing a valid SOAP message with a Body that contains a SAML message
      Returns:
      a string encoded accordingly with the SAML HTTP POST Binding specification
    • extractSoapMessage

      public static Document extractSoapMessage(InputStream inputStream)

      Returns Document based on the given inputStream which must contain a valid SOAP message.

      The resulting string is based on the Body of the SOAP message, which should map to a valid SAML message.

      Parameters:
      inputStream - an InputStream consisting of a SOAPMessage
      Returns:
      A document containing the body of the SOAP message
    • extractSoapMessage

      public static Document extractSoapMessage(jakarta.xml.soap.SOAPMessage soapMessage)

      Returns Document based on the given SOAP message.

      The resulting string is based on the Body of the SOAP message, which should map to a valid SAML message.

      Parameters:
      soapMessage - a SOAPMessage from which to extract the body
      Returns:
      A document containing the body of the SOAP message
    • getFirstChild

      public static Node getFirstChild(Node parent)
      Get the first direct child that is an XML element. In case of pretty-printed XML (with newlines and spaces), this method skips non-element objects (e.g. text) to really fetch the next XML tag.