我在服务器A上有一个应用程序。它接受HTTP请求中的XML数据和来自该HTTP请求数据的makefile。 (的 urlABC )
我的其他应用服务器B 使用该网址 urlABC ,并使用HTTP请求在该网址上发送数据。
在requestXml中发送数据
Request sending code : HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.myurl.com/payment");
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(requestXml);
request.ContentType = "text/xml; encoding='utf-8'";
request.ContentLength = bytes.Length;
request.Method = "POST";
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream responseStream = response.GetResponseStream();
string responseStr = new StreamReader(responseStream).ReadToEnd();
return responseStr;
}
return null;
但有时服务器B上的应用程序从HTTP服务器返回 500但未在服务器A上获得任何异常。
服务器B仅使用上述功能发送数据。没有其他的。 服务器A具有所有逻辑。但没有给出任何错误/异常。
答案 0 :(得分:0)
由于服务器A充当请求客户端和服务器B之间的网关,因此服务器A需要处理服务器B返回的HTTP状态代码500(内部服务器错误)并返回5xx系列HTTP代码客户。
服务器A的响应中的这些HTTP状态代码中的任何一个都应该有效。