Web Service 异常处理方案
来源:互联网 发布:网络客户管理系统 编辑:程序博客网 时间:2024/05/30 04:35
在用Asp.net开发Webservice是简单而且轻松地,这就导致很多时候我们不去关心SOAP,UDDI,WDSL.对于刚写Webservice程序的时候,对提供方法的健壮和异常处理都未做考虑。
由于我也是初学者,对webservice没有关注,通过Google对SOAP和Asp.net下的Webservice Exceptiion 的搜索发现,其实SOAP对异常进行了很好的标签体
SOAP 的 Fault 元素用于下列子元素:
MS已经做好了Webservice异常处理的封装,我们其实不用做太多的处理就能很好的完成服务器端和客户端的异常
如果服务器端抛出一个简单异常:
Throw New Exception("发生了一些错误!");
客户端收到的SOAP的body内将是fault节点信息,如下:
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Exception: 发生了一些错误!at AYS17Sept2002.Service1.CallFault() in c:/inetpub/wwwroot/AYS17Sept2002/Service1.asmx.vb:line 49 --- End of inner exception stack trace ---</faultstring>
<detail />
</soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Exception: 发生了一些错误!at AYS17Sept2002.Service1.CallFault() in c:/inetpub/wwwroot/AYS17Sept2002/Service1.asmx.vb:line 49 --- End of inner exception stack trace ---</faultstring>
<detail />
</soap:Fault>
由于这样的异常信息会让调用端知道具体的代码结构,存在风险,MS推荐了SoapException异常类
Throw New SoapException( "Server was unable to process request.",SoapException.ServerFaultCode);
这样的异常只会显示"Server was unable to process request"异常信息,而不会过多显示堆栈信息,避免暴露代码结构。
<faultstring>Server was unable to process request</faultstring>
同时我们也可以通过配置 /configuration/system.web/customErrors/@mode来关闭和开启堆栈信息,默认是RemoteOnly,我们可以设置为:
- On
- Off
设置为On将不向客户端显示堆栈跟踪信息
- Web Service 异常处理方案
- Web Service异常处理
- web service异常处理
- C#:Web Service异常处理
- net调用web service如何处理异常
- Web Service中服务器端异常的处理
- C#开发之Web Service的异常处理(一)
- OracleSGA异常处理方案
- SSH异常处理方案
- web service 异常
- web service 异常
- web service 异常
- Web Service 异常信息!
- XFire Web Service验证方案
- XFire Web Service验证方案
- Web Service故障处理
- java的异常处理方案!
- #6JAVA异常处理方案#
- MdChecker
- 使用SQLServer模板来写规范的SQL语句
- Web Service的传输协议
- python的各种GUI开发框架介绍
- ANDROID Porting系列五、定制化
- Web Service 异常处理方案
- 发布元数据分录报name=parent mappingfiled not exits....的解决方法
- 动态IP的Web service调用
- 云计算:程序员重回个人英雄时代
- 面向对象的三大特性 基本问题
- Web Service 接口大量数据传输解决方案
- [sql server] win7 home basic 安装sql server 2005开发版与配置
- 动态添加对Web Service的引用
- VC常用数据类型使用转换详解 (转)