c# - 尝试使用 C# 发送 XML 时出现错误网关 502 错误

标签 c# xml payment-gateway realex-payments-api

我的支付网关 (Realex RealVault) 出现问题,Realex 或我自己都无法弄清楚问题所在,因此我想将其放在这里,看看是否有人可以帮助解决这个问题奇怪的问题。

每次我尝试通过链接发送到 Realex 时:https://epage.payandshop.com/epage-remote-plugins.cgi我收到一条错误消息:

502 - Web server received an invalid response while acting as a gateway or proxy server. There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server.

我使用以下代码发送我的请求(为了简洁起见,删除了我在此处返回 502 错误的调试代码):

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(LinkToRealex);
        req.ContentType = "text/xml";
        req.Method = "POST";
        req.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";

        req.Proxy = WebRequest.DefaultWebProxy;
        req.Timeout = 15000;

        byte[] bytes = Encoding.ASCII.GetBytes(XMLTosend);
        req.ContentLength = bytes.Length;

        Stream os = req.GetRequestStream();
        os.Write(bytes, 0, bytes.Length);
        os.Close();

        HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
        if (resp == null) return null;
        StreamReader sr = new StreamReader(resp.GetResponseStream());
        return sr.ReadToEnd().Trim();

我检查了 IIS 日志,一切看起来都正常 -

2011-01-06 12:44:04 W3SVC636984653 IP_Of_Server POST /RealexTest.aspx - 80 - My_IP_Address Mozilla/5.0+(Windows;+U;+Windows+NT+6.0;+en-GB;+rv:1.9.2.13)+Gecko/20101203+Firefox/3.6.13+GTB7.1+(+.NET+CLR+3.5.30729;+.NET4.0E) 200 0 0

奇怪的是,如果我尝试发送到 Realex 的其他支付系统(它使用不同的链接),一切都很好(我的意思是我从他们的服务器收到响应,不幸的是我无法使用此服务他们的 RealVault 服务)。起初,这让我相信一切都取决于我使用的 URL,但因为我可以将该 URL 放入浏览器并获得响应,所以我认为问题可能在于 IIS 或我的代码。

我在 IIS6/Win Server 05 上运行 asp.net 3.5 代码。在 IIS 中,网站具有 SSL 和静态 IP 地址。

我知道这有点遥远,但如果有人有任何想法我可以尝试,我将不胜感激。

感谢您的帮助, 丰富

最佳答案

事实证明,如果您的 XML 在发送到 Realex 时格式不正确,您就会看到此错误。

与普通 Realex XML 调用不同,普通 Realex XML 调用会通知您 XML 设置不正确,RealVault XML 系统不会告诉您这一点,您将看到我在问题中提到的错误消息。

希望这对其他人有帮助。

关于c# - 尝试使用 C# 发送 XML 时出现错误网关 502 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4615191/

相关文章:

java - 使用 startActivityForResult 时应用程序崩溃

paypal - 如何使用 Paypal 客户端 rest api 创建订阅付款?

e-commerce - 带有付款网关回调的Google Analytics(分析)电子商务数据

c# - 整数格式,填充到给定长度

c# - .NET 维恩图库

c# - 用逗号和小数点显示数字

c# - 获取 XML 文件的版本而不从服务器下载它

java - 如何从格式不正确的xml中获取值

c# - 获取 StringLength 值的扩展方法

php - 根据支付网关和国家/地区对 WooCommerce 海关费用征税