How to return WebService Exception

How to return WebService Exception [Q&A]

 

Question was:

vWhat is the best way to return an error from webservice? Can I simply throw the exception in my service or do I have to do some work to package the error message into the SOAP return?

Answer:

Only possible way to pass exception is to build SOAP Exception and to generate XML which contains all necessary info - Type of exception, message, fields. Actually, in general case you need wrapper in EVERY WebMethod:

[WebMethod]
public void Method()
{
try { /* code here */ }
catch (Exception e)
{
throw ExceptionWrapper.WrapException(e); }
}
Warning:

For some reason, Application.OnError event do not invoked for WebServices.

Some code fragments concentrated on wrapping/unwrapping Exception properties to xml which I hope could be helpful and includes example of custom WrapException method:

http://dotnet.osypchuk.com/Sources/WsExceptionsClues.txt

The same technics could be used for any dotNet language - VB.NET, C#, or J#.

Update: Thanks to Martin Bohm [http://www.theserverside.net/user/userthreads.tss?user_id=587623]

It is possible to catch all exceptions in one place by Soap extenson, more details on

http://www.codeproject.com/aspnet/ASPNETExceptionHandling.asp


Applies to all dotnet languages: C#, VB.NET, C++.NET, J#  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值