vb.net - SOAP 请求如果没有 try-catch-exception 直接返回错误 500 而不是 200
问题描述
关于我的情况,我有几个问题:
- 如果我注释掉 try-catch-exception,服务器直接返回错误 500,说明遇到内部服务器错误。但是,我目前的回应是
Bad.SecuritySystem.Web.Services.Protocols.SoapException: The security information supplied was not valid. at WebServices.WebServiceController.Execute(HttpContext http_context, Hashtable parameters) at WebServices.Services.one_of_the_method(parameters)
我认为只有在实现 try-catch-exception 时才会更加友好。所以我的问题是错误 500 是否意味着我的请求未被确认?
- 服务器代码 200 是否意味着我的请求已被服务器成功接收,尽管存在凭据或值无效问题?
代码背后:
Try
Dim Request As WebRequest
Dim WResponse As WebResponse
Dim DataStream As Stream
Dim Reader As StreamReader
Dim SoapByte() As Byte
Dim SoapStr As String
SoapStr = "Pretty sure this SoapStr is valid"
SoapByte = System.Text.Encoding.UTF8.GetBytes(SoapStr)
Request = WebRequest.Create("url goes here")
Request.Headers.Add("SOAPAction", "same to here")
Request.ContentType = "text/xml; charset=utf-8"
Request.ContentLength = SoapByte.Length
Request.Method = "POST"
DataStream = Request.GetRequestStream()
DataStream.Write(SoapByte, 0, SoapByte.Length)
WResponse = Request.GetResponse()
DataStream = WResponse.GetResponseStream()
Reader = New StreamReader(DataStream)
'Dim SD2Request As String = Reader.ReadToEnd()
'Response.Write(Response)
DataStream.Close()
Reader.Close()
Response.Close()
Catch ex As WebException
Dim err As String = New System.IO.StreamReader(ex.Response.GetResponseStream()).ReadToEnd()
Response.Write(err)
'& "<br/>Status Code: " & Response.StatusCode & " " & Response.StatusDescription)
End Try
在谷歌浏览器中检查网络选项卡的标题时,我上面的代码显示了以下结果:
请求 URL:我的请求 URL
请求方法:GET
状态代码:200
远程地址:IP
Referrer Policy:strict-origin-when-cross-origin
谢谢你。
解决方案
推荐阅读
- perf - Perf 不显示应用程序本身的构建 ID
- python - 使用 thrift rpc 调用时出现 Socket.timeout 错误?
- javascript - 使用 React js 的 Youtube Data Api V3 显示先前获取的结果
- reactjs - Redux 存储元素似乎为 null 或未定义
- angular - 仅在 childRoutes 上使用 CanActive 制作角度
- python-3.x - Scipy 是否认识到这个矩阵的特殊结构可以更快地分解它?
- javascript - 将引号内的内容计算为一个参数
- libreoffice - Libreoffice Java API 无法导出 PDF
- python - 无法使用 Django 创建注册页面
- git - 当客户端已经有一个 git repo 时,将客户端和服务器推送到 github