簡體   English   中英

如何針對定義該服務應遵循的xsd模式文件驗證從WCF服務返回的數據

[英]How can I validate data returned from a WCF service, against xsd schema files that define what the service should conform to

我有一些XSD文件和客戶提供的WSDL。 我已經建立了WCF服務。 我想表明該服務符合所提供的架構。 如何針對這些架構驗證WCF服務? 如果有幫助,我有SoapUI和Altova XML Spy。 這樣做的標准方法是什么? 我沒有使用架構優先方法構建它。

使用它來傳遞XML和XSD。 這適用於任何XML和Sxhema,並且不適用於Web服務:

    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("-------------------------------------------");
    }       

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM