com.sun.identity.saml.protocol
Class Response

java.lang.Object
  extended by com.sun.identity.saml.protocol.AbstractResponse
      extended by com.sun.identity.saml.protocol.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 Summary
protected  List assertions
           
protected  String issuer
           
protected  String signatureString
           
protected  Status status
           
protected  String xmlString
           
 
Fields inherited from class com.sun.identity.saml.protocol.AbstractResponse
inResponseTo, issueInstant, majorVersion, minorVersion, recipient, responseID, signature, signed, valid, validationDone
 
Constructor Summary
protected Response()
          default constructor
  Response(Element root)
          Constructor.
  Response(String responseID, Status status, List contents)
          This constructor shall only be used at the server side to construct a Response object.
  Response(String responseID, Status status, String recipient, List contents)
          This constructor shall only be used at the server side to construct a Response object.
  Response(String responseID, String inResponseTo, Status status, List contents)
          This constructor shall only be used at the server side to construct a Response object.
  Response(String responseID, String inResponseTo, Status status, String recipient, List contents)
          This constructor shall only be used at the server side to construct a Response object.
 
Method Summary
 boolean addAssertion(Assertion assertion)
          Add an assertion to the Response.
 List getAssertion()
          This method returns the set of Assertions that is the content of the response.
 Status getStatus()
          Gets the Status of the Response.
 boolean isSignatureValid()
          Return whether the signature on the object is valid or not.
static Response parseXML(InputStream is)
          Returns Response object based on the XML document received from server.
static Response parseXML(String xml)
          Returns Response object based on the XML document received from server.
 boolean setSignature(Element elem)
          Set the signature for the Response.
 boolean setStatus(Status status)
          Set the Status of the Response.
 void signXML()
          Method that signs the Response.
 String toString()
          This method translates the response to an XML document String based on the Response schema described above.
 String toString(boolean includeNS, boolean declareNS)
          Creates a String representation of the <samlp:Response> element.
 String toString(boolean includeNS, boolean declareNS, boolean includeHeader)
          Creates a String representation of the <samlp:Response> element.
 
Methods inherited from class com.sun.identity.saml.protocol.AbstractResponse
getInResponseTo, getIssueInstant, getMajorVersion, getMinorVersion, getRecipient, getResponseID, getSignature, isSigned, setInResponseTo, setIssueInstant, setMajorVersion, setMinorVersion, setRecipient, setResponseID
 

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.

Response

public Response(Element root)
         throws SAMLException
Constructor.

Parameters:
root - Response element
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.

signXML

public void signXML()
             throws SAMLException
Method that signs the Response.

Specified by:
signXML in class AbstractResponse
Throws:
SAMLException - if could not sign the Response.

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