sha*_*adi 5 c# asp.net soap asmx
我正在一个旧网站上工作。它正在调用ASP.Net Web服务(旧的.asmx文件)。每当Web服务中发生异常时,它将抛出SoapException。客户端捕获了此异常,但无法解析它。
我正在使用Fiddler和SOAP UI查看SOAP请求和响应,并阅读本文http://msdn.microsoft.com/zh-cn/library/aa480514.aspx,我希望以以下格式获取响应:
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Server was unable to process request. Something bad happened</faultstring>
<detail />
Run Code Online (Sandbox Code Playgroud)
但是,我得到以下响应:
HTTP/1.1 500 Internal Server Error
Server: ASP.NET Development Server/10.0.0.0
Date: Thu, 12 Jun 2014 05:27:14 GMT
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Type: text/plain; charset=utf-8
Content-Length: 164
Connection: Close
System.Web.Services.Protocols.SoapException: Something bad happened
at WebService1.Service1.HelloWorld() in ...
Run Code Online (Sandbox Code Playgroud)
我认为这是客户端无法处理异常的原因。
即使在示例Hello World Web服务中,也会发生这种情况。
有什么事吗
更新:当我调用不引发异常的Web服务方法时,我将获得以下格式的响应:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ords="http://mydomain.com/">
<soapenv:Header/>
<soapenv:Body>
...
</soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)
这就是我抛出SoapException的方式:
[WebMethod]
public string HelloWorld()
{
throw new SoapException("Something bad happened", SoapException.ClientFaultCode);
//return "Hello World";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2524 次 |
| 最近记录: |