捕获 SOAP 错误并处理异常

Ale*_*aro 5 c# soap web-services fault

我正在使用网络服务。例如,当我调用某些方法时会抛出异常,因为参数是无效值。我想处理异常,但它不包含任何数据信息,只有消息“错误请求”。这是我的http响应: 在此处输入图片说明

        try
        {
            var data = client.SomeMethod(4);
        }
        catch (Exception exception)
        {
            // exception.Message = Bad Request
            // exception don't contains any more data information
        }   
Run Code Online (Sandbox Code Playgroud)

我如何捕获其他信息

pep*_*pOS 6

FaultException当 http 状态代码为 2xx 或 5xx,而不是 4xx 时,您可以捕获异常。您可以使用 4xx 捕获 http 状态代码System.ServiceModel.ProtocolException,然后从中获取流InnerException并解析它或从此流中获取 FaultException。有关更多详细信息,请参阅http://blogs.msdn.com/b/nathana/archive/2011/03/31/deciphering-a-soap-fault-with-a-400-status-code.aspx