如何在Web方法中显示错误信息?

时间:2010-10-19 19:14:57

标签: c# web-services asmx

我有一个ASMX Web服务,我有几个方法,在他们最初的实现中是返回类型bool。

将错误返回给客户端的正确方法是什么?目前他们只是返回虚假。有没有办法返回一个更复杂的类型,它会告诉客户一个问题,例如为所需参数传递的空值?

4 个答案:

答案 0 :(得分:2)

  • 使用SOAP执行此操作的方法是返回SOAP Fault消息。
  • 不幸的是,ASMX Web服务不能正确支持SOAP Fault消息。

好消息是您应该使用WCF进行Web服务客户端和服务器的所有开发,并且WCF完全支持SOAP错误。

请记住,无论你做什么,你的客户都需要知道你在做什么。 ASMX支持故障的一个问题是关于哪个操作发送哪个错误没有发送到WSDL的信息,因此客户端将不知道您正在返回错误。

答案 1 :(得分:0)

当然,您可以创建一个具有bool的对象(如果它是否通过)以及一个公开消息的字符串。 Web服务的消费者可以像访问原始bool一样访问该对象。

答案 2 :(得分:-1)

如果您正在处理.NET客户端的.NET服务,您可以在异常中传递此数据,只需将其放入您在服务中调用的方法中。如果您正在处理不同的技术,您仍然可以通过在WS方法中抛出异常来在某种程度上执行它,但是您不会像在两侧使用WCF / .NET或Axis2 / Java那样获得交织行为例如。

答案 3 :(得分:-1)

我认为你正在寻找SoapException Class