我正在使用标准WebRequest代码从C#调用XML Web服务URL:
WebRequest request = WebRequest.Create(MethodCall);
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader streamReader = new StreamReader(stream);
string xml = streamReader.ReadToEnd();
有问题的服务返回XML;如果出现错误,您通常仍会返回带有详细错误信息的XML,但是它还会返回HTTP错误代码400。
通过Chrome运行查询我可以在开发工具中查看XML和错误代码,但我的C#代码会在 有没有办法可以告诉.Net不要抛出异常但仍然要报告错误代码,所以我可以检查返回的XML?WebException
调用中抛出.Net GetResponse()
,因此我从未看到详细的错误信息。< / p>
答案 0 :(得分:2)
将WebResponse response = request.GetResponse();
更改为
WebResponse response;
try
{
response = request.GetResponse();
}
catch (WebException ex)
{
response = (ex.Response as WebResponse);
if (response == null)
throw;
}
这应该有用。