/// <summary> /// Deserializes an RSTR and returns a RequestSecurityTokenRespone object. /// </summary> /// <param name="reader">Reader over the RSTR.</param> /// <param name="context">Current Serialization context.</param> /// <returns>RequestSecurityTokenResponse object if deserialization was successful.</returns> /// <exception cref="ArgumentNullException">The given reader or context parameter is null</exception> public override RequestSecurityTokenResponse ReadXml(XmlReader reader, WSTrustSerializationContext context) { if (reader == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reader"); } if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } bool isFinal = false; if (reader.IsStartElement(WSTrust13Constants.ElementNames.RequestSecurityTokenResponseCollection, WSTrust13Constants.NamespaceURI)) { reader.ReadStartElement(WSTrust13Constants.ElementNames.RequestSecurityTokenResponseCollection, WSTrust13Constants.NamespaceURI); isFinal = true; } RequestSecurityTokenResponse rstr = WSTrustSerializationHelper.CreateResponse(reader, context, this, WSTrustConstantsAdapter.Trust13); rstr.IsFinal = isFinal; if (isFinal) { reader.ReadEndElement(); } return(rstr); }
/// <summary> /// Deserializes the RSTR from the XmlReader to a RequestSecurityTokenResponse object. /// </summary> /// <param name="reader">XML reader over the RSTR</param> /// <param name="context">Current Serialization context.</param> /// <returns>RequestSecurityTokenResponse object if the deserialization was successful</returns> /// <exception cref="ArgumentNullException">The given reader or context parameter is null</exception> /// <exception cref="WSTrustSerializationException">There was an error parsing the RSTR</exception> public override RequestSecurityTokenResponse ReadXml(XmlReader reader, WSTrustSerializationContext context) { if (reader == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reader"); } if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } return(WSTrustSerializationHelper.CreateResponse(reader, context, this, WSTrustConstantsAdapter.TrustFeb2005)); }