Как я могу проверить данные, возвращенные из службы WCF, по файлам схемы xsd, которые определяют, что служба должна соответствовать - PullRequest
2 голосов
/ 10 ноября 2010

У меня есть некоторые XSD-файлы и WSDL, предоставленные заказчиком.Я построил сервис WCF.Я хотел бы показать, что сервис соответствует предоставленным схемам.Как я могу проверить свою службу WCF по этим схемам?У меня есть SoapUI и Altova XML Spy, если это поможет.Какой стандартный способ сделать это?Я не построил это с первым подходом схемы.

1 Ответ

0 голосов
/ 10 ноября 2010

Используйте это для передачи XML и XSD.Это относится к любому XML и Sxhema и не относится к веб-службам:

    private static void ValidateSchema(string xmlName, string schemaName)
    {

        try
        {
            ValidationEventHandler validationHandler = new ValidationEventHandler(ValidationCallBack);
            XmlTextReader schemaReader = new XmlTextReader( schemaName);
            XmlSchema schema =XmlSchema.Read(schemaReader, validationHandler);

            XmlTextReader docReader = new XmlTextReader (xmlName);
            XmlValidatingReader vr = new XmlValidatingReader( docReader); 
            vr.Schemas.Add (schema);  
            vr.ValidationType = ValidationType.Schema;
            vr.ValidationEventHandler += new ValidationEventHandler( ValidationCallBack);

            try 
            {
                while (vr.Read())
                {
                ;   //Console.Write(" {0} = \"{1}\";", vr.Name, vr.Value);
                }
            }

            catch 
            {
                //Console.WriteLine("Validation error!");

            }
        }


        catch(Exception ex)
        {
            Console.WriteLine(ex); 
        }

    }

    private static void ValidationCallBack(object sender, ValidationEventArgs e) 
    {
        Console.WriteLine("Validation Error: {0}", e.Message);
        Console.WriteLine("-------------------------------------------");
    }       

}
...