Class Response

  • Direct Known Subclasses:
    FSAuthnResponse, FSResponse

    public class Response
    extends AbstractResponse
    This Response class represents a Response XML document. The schema of Response is defined as the following:
    • Field Detail

      • status

        protected Status status
      • assertions

        protected List assertions
      • xmlString

        protected String xmlString
      • signatureString

        protected String signatureString
      • issuer

        protected String issuer
    • Constructor Detail

      • Response

        protected Response()
        default constructor
      • Response

        public Response​(String responseID,
                        String inResponseTo,
                        Status status,
                        List contents)
                 throws SAMLException
        This constructor shall only be used at the server side to construct a Response object. NOTE: The content here is just the body for the Response. The constructor will add the unique ResponseID, MajorVersion, etc. to form a complete Response object.
        Parameters:
        responseID - If it's null, the constructor will create one.
        inResponseTo - the RequestID that this response is corresponding. It could be null or empty string "".
        status - The status of the response.
        contents - A List of Assertions that are the content of the Response. It could be null when there is no Assertion.
        Throws:
        SAMLException - if error occurs.
      • Response

        public Response​(String responseID,
                        String inResponseTo,
                        Status status,
                        String recipient,
                        List contents)
                 throws SAMLException
        This constructor shall only be used at the server side to construct a Response object. NOTE: The content here is just the body for the Response. The constructor will add the unique ResponseID, MajorVersion, etc. to form a complete Response object.
        Parameters:
        responseID - If it's null, the constructor will create one.
        inResponseTo - the RequestID that this response is corresponding. It could be null or empty string "".
        status - The status of the response.
        recipient - The intended recipient of the response. It could be null or empty string since it's optional.
        contents - A List of Assertions that are the content of the Response. It could be null when there is no Assertion.
        Throws:
        SAMLException - if error occurs.
      • Response

        public Response​(String responseID,
                        Status status,
                        String recipient,
                        List contents)
                 throws SAMLException
        This constructor shall only be used at the server side to construct a Response object. NOTE: The content here is just the body for the Response. The constructor will add the unique ResponseID, MajorVersion, etc. to form a complete Response object.
        Parameters:
        responseID - If it's null, the constructor will create one.
        status - The status of the response.
        recipient - The intended recipient of the response. It could be null or empty string since it's optional.
        contents - A List of Assertions that are the content of the Response. It could be null when there is no Assertion.
        Throws:
        SAMLException - if error occurs.
      • Response

        public Response​(String responseID,
                        Status status,
                        List contents)
                 throws SAMLException
        This constructor shall only be used at the server side to construct a Response object. NOTE: The content here is just the body for the Response. The constructor will add the unique ResponseID, MajorVersion, etc. to form a complete Response object.
        Parameters:
        responseID - If it's null, the constructor will create one.
        status - The status of the response.
        contents - A List of Assertions that are the content of the Response. It could be null when there is no Assertion.
        Throws:
        SAMLException - if error occurs.
    • Method Detail

      • isSignatureValid

        public boolean isSignatureValid()
        Return whether the signature on the object is valid or not.
        Overrides:
        isSignatureValid in class AbstractResponse
        Returns:
        true if the signature on the object is valid; false otherwise.
      • parseXML

        public static Response parseXML​(String xml)
                                 throws SAMLException
        Returns Response object based on the XML document received from server. This method is used primarily at the client side. The schema of the XML document is describe above.
        Parameters:
        xml - The Response XML document String. NOTE: this is a complete SAML response XML string with ResponseID, MajorVersion, etc.
        Returns:
        Response object based on the XML document received from server.
        Throws:
        SAMLException - if XML parsing failed
      • parseXML

        public static Response parseXML​(InputStream is)
                                 throws SAMLException
        Returns Response object based on the XML document received from server. This method is used primarily at the client side. The schema of the XML document is describe above.
        Parameters:
        is - The Response XML InputStream. NOTE: The InputStream contains a complete SAML response with ResponseID, MajorVersion, etc.
        Returns:
        Response object based on the XML document received from server.
        Throws:
        SAMLException - if XML parsing failed
      • getAssertion

        public List getAssertion()
        This method returns the set of Assertions that is the content of the response.
        Returns:
        The set of Assertions that is the content of the response. It could be Collections.EMPTY_LIST when there is no Assertion in the response.
      • addAssertion

        public boolean addAssertion​(Assertion assertion)
        Add an assertion to the Response.
        Parameters:
        assertion - The assertion to be added.
        Returns:
        A boolean value: true if the operation is successful; false otherwise.
      • getStatus

        public Status getStatus()
        Gets the Status of the Response.
        Returns:
        The Status of the response.
      • setStatus

        public boolean setStatus​(Status status)
        Set the Status of the Response.
        Parameters:
        status - The Status of the Response to be set.
        Returns:
        true if the operation is successful.
      • setSignature

        public boolean setSignature​(Element elem)
        Set the signature for the Response.
        Overrides:
        setSignature in class AbstractResponse
        Parameters:
        elem - ds:Signature element
        Returns:
        A boolean value: true if the operation succeeds; false otherwise.
      • toString

        public String toString()
        This method translates the response to an XML document String based on the Response schema described above.
        Overrides:
        toString in class Object
        Returns:
        An XML String representing the response. NOTE: this is a complete SAML response XML string with ResponseID, MajorVersion, etc.
      • toString

        public String toString​(boolean includeNS,
                               boolean declareNS)
        Creates a String representation of the <samlp:Response> element.
        Parameters:
        includeNS - Determines whether or not the namespace qualifier is prepended to the Element when converted
        declareNS - Determines whether or not the namespace is declared within the Element.
        Returns:
        A string containing the valid XML for this element
      • toString

        public String toString​(boolean includeNS,
                               boolean declareNS,
                               boolean includeHeader)
        Creates a String representation of the <samlp:Response> element.
        Parameters:
        includeNS - Determines whether or not the namespace qualifier is prepended to the Element when converted
        declareNS - Determines whether or not the namespace is declared within the Element.
        includeHeader - Determines whether the output include the XML declaration header.
        Returns:
        A string containing the valid XML for this element