public void SchemaValidationMessageInspector_AfterReceiveRequest_InvalidRequest()
        {
            /* Create the schema set and test subject */
            XmlSchemaSet schemaSet = new XmlSchemaSet();

            using (Stream stream = File.OpenRead(@"SchemaValidationMessageInspectorTest\AfterReceiveRequest_InvalidRequest\TestDataContract.xsd")) {
                using (XmlReader reader = XmlReader.Create(stream)) {
                    XmlSchema schema = XmlSchema.Read(reader, null);
                    schemaSet.Add(schema);
                }
            }

            SchemaValidationMessageInspector testSubject = new SchemaValidationMessageInspector(schemaSet);
            Message message = Message.CreateMessage(MessageVersion.Soap11, "POST", XmlReader.Create(@"SchemaValidationMessageInspectorTest\AfterReceiveRequest_InvalidRequest\InvalidRequest.xml"));

            try {
                object result = testSubject.AfterReceiveRequest(ref message, null, null);
                Assert.Fail("The expected FaultException<string> was not thrown");
            }
            catch (FaultException <string> ex) {
                Assert.IsNotNull(ex.Code);
                Assert.IsTrue(ex.Code.IsSenderFault);
                Assert.AreEqual("InvalidMessage", ex.Code.SubCode.Name);
                Assert.IsNotNull(ex.Reason);
                Assert.AreEqual("The received message does not comply with the required schema", ex.Reason.GetMatchingTranslation(CultureInfo.InvariantCulture).Text);
            }
        }
        public void SchemaValidationMessageInspector_AfterReceiveRequest_ValidRequest()
        {
            /* Create the schema set and test subject */
            XmlSchemaSet schemaSet = new XmlSchemaSet();

            using (Stream stream = File.OpenRead(@"SchemaValidationMessageInspectorTest\AfterReceiveRequest_ValidRequest\TestDataContract.xsd")) {
                using (XmlReader reader = XmlReader.Create(stream)) {
                    XmlSchema schema = XmlSchema.Read(reader, null);
                    schemaSet.Add(schema);
                }
            }

            SchemaValidationMessageInspector testSubject = new SchemaValidationMessageInspector(schemaSet);
            Message message = Message.CreateMessage(MessageVersion.Soap11, "POST", XmlReader.Create(@"SchemaValidationMessageInspectorTest\AfterReceiveRequest_ValidRequest\ValidRequest.xml"));
            object  result  = testSubject.AfterReceiveRequest(ref message, null, null);

            Assert.IsNull(result);
        }