static private ValidateXml ( ITestSite testSite, bool ignoreSoapFaultSchemaValidationForSoap12 ) : ValidationResult | ||
testSite | ITestSite | Transfer ITestSite into this class, make this class can use ITestSite's function. |
ignoreSoapFaultSchemaValidationForSoap12 | bool | Indicate that whether ignore schema validation for SOAP fault in SOAP1.2. |
리턴 | ValidationResult |
/// <summary> /// Validate the response xml. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">An CustomerEventArgs that contains event data.</param> public void ValidateSchema(object sender, CustomerEventArgs e) { if (!string.IsNullOrEmpty(e.RawRequestXml)) { this.site.Log.Add(LogEntryKind.Debug, "The raw xml request message is:\r\n{0}", e.RawRequestXml); XmlDocument requestXml = new XmlDocument(); requestXml.LoadXml(e.RawRequestXml); SchemaValidation.LastRawRequestXml = requestXml.DocumentElement; } else { SchemaValidation.LastRawRequestXml = null; } if (!string.IsNullOrEmpty(e.RawResponseXml)) { this.site.Log.Add(LogEntryKind.Debug, "The raw xml response message is:\r\n{0}", e.RawResponseXml); MemoryStream ms = new MemoryStream(System.Text.ASCIIEncoding.ASCII.GetBytes(e.RawResponseXml)); XmlReader xmlReader = XmlReader.Create(ms); e.ValidationXmlReaderOut = xmlReader; XmlDocument responseDoc = new XmlDocument(); responseDoc.LoadXml(e.RawResponseXml); SchemaValidation.LastRawResponseXml = responseDoc.DocumentElement; if (this.performSchemaValidation) { SchemaValidation.ValidateXml(this.site, this.ignoreSoapFaultSchemaValidationForSoap12); if (this.throwException && ((ValidationResult.Error == SchemaValidation.ValidationResult) || (ValidationResult.Warning == SchemaValidation.ValidationResult))) { throw new XmlSchemaValidationException(SchemaValidation.GenerateValidationResult()); } } } else { SchemaValidation.LastRawResponseXml = null; } }