自己构建soap request,调用webservice,怎么显示详细错误信息

wangsen2235068 2012-08-16 06:02:29
有人知道,自己构建soap request,调用webservice,怎么显示详细错误信息吗? 现在是值显示错误类型,500内部服务器错误。

添加web引用方式,直接调用,是可以显示详细错误信息的。

soap request方式错误提示信息:
“/truCare”应用程序中的服务器错误。
远程服务器返回错误: (500) 内部服务器错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Net.WebException: 远程服务器返回错误: (500) 内部服务器错误。

源错误:

行 43: WriteRequestData(request, data);
行 44:
行 45: XmlDocument doc = ReadXmlResponse(request.GetResponse());行 46:
行 47: return doc;


源文件: c:\Documents and Settings\Administrator\桌面\truCare\App_Code\HttpHelper.cs 行: 45

堆栈跟踪:

[WebException: 远程服务器返回错误: (500) 内部服务器错误。]
System.Net.HttpWebRequest.GetResponse() +5381629
HttpHelper.GetServiceResponse(String url, String username, String password, String methodName, String methodSoapString) in c:\Documents and Settings\Administrator\桌面\truCare\App_Code\HttpHelper.cs:45
_Default.Test1(String para) in c:\Documents and Settings\Administrator\桌面\truCare\Default.aspx.cs:30
_Default.Button1_Click(Object sender, EventArgs e) in c:\Documents and Settings\Administrator\桌面\truCare\Default.aspx.cs:35
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565


版本信息: Microsoft .NET Framework 版本:2.0.50727.3634; ASP.NET 版本:2.0.50727.3634

通过.net添加web引用调用的错误提示信息:
“/truCare”应用程序中的服务器错误。
System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.FormatException: 输入字符串的格式不正确。
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
在 System.Int32.Parse(String s)
在 WebService.HelloWorld(String msg) 位置 e:\测试\TestDemo\App_Code\WebService.cs:行号 25
--- 内部异常堆栈跟踪的结尾 ---
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.FormatException: 输入字符串的格式不正确。
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
在 System.Int32.Parse(String s)
在 WebService.HelloWorld(String msg) 位置 e:\测试\TestDemo\App_Code\WebService.cs:行号 25
--- 内部异常堆栈跟踪的结尾 ---

源错误:

行 55: [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/HelloWorld", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
行 56: public string HelloWorld(string msg) {
行 57: object[] results = this.Invoke("HelloWorld", new object[] {行 58: msg});
行 59: return ((string)(results[0]));


源文件: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\trucare\c5981712\8169f74e\App_WebReferences.-qdudkf2.0.cs 行: 57

堆栈跟踪:

[SoapException: System.Web.Services.Protocols.SoapException: 服务器无法处理请求。 ---> System.FormatException: 输入字符串的格式不正确。
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
在 System.Int32.Parse(String s)
在 WebService.HelloWorld(String msg) 位置 e:\测试\TestDemo\App_Code\WebService.cs:行号 25
--- 内部异常堆栈跟踪的结尾 ---]
System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +431766
System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +204
localhost.WebService.HelloWorld(String msg) in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\trucare\c5981712\8169f74e\App_WebReferences.-qdudkf2.0.cs:57
添加web引用调用.Page_Load(Object sender, EventArgs e) in c:\Documents and Settings\Administrator\桌面\truCare\添加web引用调用.aspx.cs:13
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627


版本信息: Microsoft .NET Framework 版本:2.0.50727.3634; ASP.NET 版本:2.0.50727.3634
...全文
1000 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangsen2235068 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
捕获到WebException可以通过WebException对象.GetResponse()方法,把远程错误的响应获取到
[/Quote]

说错了,是WebException对象.Response属性

可以参考http://msdn.microsoft.com/en-us/library/153tkf4f(v=vs.90)
杰拉尔 2012-08-21
  • 打赏
  • 举报
回复
System.InvalidOperationException: 已有打开的与此连接相关联的 DataReader,必须首先将它关闭

这时因为多次从一个表用dataset或者datareader读造成的,可以用后面的时候把前面的关掉就可
requiemforadream 2012-08-21
  • 打赏
  • 举报
回复
捕获到WebException可以通过WebException对象.GetResponse()方法,把远程错误的响应获取到
wangsen2235068 2012-08-21
  • 打赏
  • 举报
回复
捕获到WebException可以通过WebException对象.GetResponse()方法,把远程错误的响应获取到
wangsen2235068 2012-08-16
  • 打赏
  • 举报
回复
等待高手.................

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧