我有一些XSD文件和客户提供的WSDL。我已经构建了一个WCF服务。我想表明该服务符合提供的模式。如何针对这些模式验证我的WCF服务?如果有帮助,我有SoapUI和Altova XML Spy。这样做的标准方法是什么?我没有使用架构第一种方法来构建它。
答案 0 :(得分:-1)
使用它来传递XML和XSD。这适用于任何XML和架构,而不是特定于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("-------------------------------------------");
}
}