2011-11-18 121 views
0

我开发一个asp.net 2.0 Web服务(的.asmx),现在我的客户说,自定义异常处理

“没有可用的故障异常。它包含了唯一的要求和 反应。我们需要处理异常的情况,而我们是 调用web服务,可否请你更新故障 例外WSDL和发回更新WSDL,将我们与 客户存根进行。

Webservice的反应应该具有下面提到的错误代码如下面提到从WebService失败的案例:

  Error code: Error Information 
      002   Server Down 
      003  Invalid Input Format 

等 我不知道我怎样才能使“故障异常”标签中ASMX WSDL文件&生成更新我的代码我应该如何抛出这样的例外。 任何帮助/建议请或请让我知道如果你需要进一步的解释。

+0

我喜欢看到一个服务器,它下来响应与'服务器下降' –

回答

0

据我所知,ASP.NET Web服务(ASMX)不支持自定义SOAP错误。另一方面,它是considered as legacy technology(由微软提供) - 在其中开发新服务没有意义。

使用WCF服务(在所有方面更灵活) - 请参阅this simple tutorial以开始使用WCF。

回到你的问题,WCF支持自定义SOAP故障(在WCF术语中称为故障契约) - 请参阅this simple tutorial将故障契约添加到WCF服务。

+0

不幸的是客户端服务器支持.net只有2.0,这就是为什么我必须使用asmx。 – SaQiB

+1

@SaQiB,唯一的建议是,您可能应该尝试教育并说服客户从.NET 2.0升级(主流支持在2011年4月结束)。此外,.NET 3.0和3.5的运行时版本在2.0版本中保持不变 - 因此升级是相当无风险的。从本质上讲,在3.5中只有对核心库的错误修复,除非你的代码利用了这些错误,否则你将是安全的! – VinayC

+0

+1您的评论。是的,我已经告诉客户升级是必要的:-),直到我开始在wcf中开发这个web服务。如果我在这个解决方案中遇到任何问题,我会回来 – SaQiB

1

您应该添加有异常信息FaultContract属性,以你的方法头

+0

谢谢,它有点帮助,但看起来像这是在.net框架4.0不是2.0?我对吗。 – SaQiB

+0

支持:4,3.5,3.0 –

+0

但我需要2.0中的解决方案:-( – SaQiB