正在阅读:Web服务中的异常处理(3)Web服务中的异常处理(3)

2004-02-14 09:34 出处:PConline 作者:happlyin/CSDN 责任编辑:linjixiong
以上代码首先把被添加的XML数据传递给构造函数,创建一个XmlValidatingReader类实例。然后,把Categories.xsd添加到XmlValidatingReader对象的Schemas集合中。接着,设置ValidationType为ValidationType.Schema,表明我们是在根据XML模式来验证XML数据。当你在使用XmlValidatingReader类验证XML数据时,你必须创建一个事件处理对象,并把它与ValidationEventHandler事件相关联。一旦做完这些后,校验错误和警告就通过这个回调事件处理对象被报告出来。ValidationEventHandler具有一个ValidationEventArgs类型的参数。ValidationEventArgs类提供两个重要属性,Message和Serverity。这两个属性提供更多的有关于校验错误的信息。      在这种情况下,我们把ValidationEventHandler事件与ValidationHandler方法相关联。在这个方法中,我们附加错误信息到StringBuilder对象中,而该StringBuilder对象定义在模块中。如果没有任何校验错误,那么StringBuilder对象的Length属性将返回0。我们就是使用这个来检查XML模式校验是否失败。ValidationHandler方法定义如下。      publicvoidValidationHandler(objectsender,      ValidationEventArgsargs)      {      builder.Append("Validationerror"+"
");      builder.Append("Severity:"+args.Severity+"
");      builder.Append("Message:"+args.Message+"
");      }       下面,让我们来看看RaiseException方法的代码。   publicSoapExceptionRaiseException(stringuri,      stringwebServiceNamespace,      stringerrorMessage,      stringerrorNumber,      stringerrorSource,      FaultCodecode)      {      XmlQualifiedNamefaultCodeLocation=null;      //IdentifythelocationoftheFaultCode      switch(code)      {      caseFaultCode.Client:      faultCodeLocation=SoapException.ClientFaultCode;      break;      caseFaultCode.Server:      faultCodeLocation=SoapException.ServerFaultCode;      break;      }
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品