У меня проблема с платежным шлюзом (Realex RealVault), и ни я, ни Realex не можем решить, в чем проблема, поэтому я решил поставить это здесь, чтобы посмотреть, сможет ли кто-нибудь помочь пролить свет на это странный вопрос.
Каждый раз, когда я пытаюсь отправить в Realex по ссылке: https://epage.payandshop.com/epage-remote-plugins.cgi я получаю сообщение об ошибке:
502 - веб-сервер получил недействительный
ответ, выступая в качестве шлюза или
прокси-сервер. Eсть
проблема со страницей, которую вы ищете
для, и это не может быть отображено. когда
веб-сервер (действуя как
шлюз или прокси) связался с
вышестоящий контент-сервер, он получил
неверный ответ от содержания
сервер.
Я отправляю свой запрос, используя следующий код (убрал код отладки, который у меня здесь, чтобы вернуть ошибку 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 + ан-ГБ + с.в.: 1.9.2.13) +. Геккон / 20101203 + Firefox / 3.6.13 + GTB7.1 + (+ NET + CLR +3.5.30729 +. NET4.0E)
200 0 0
Странно то, что если я пытаюсь отправить в другую платежную систему Realex (она использует другую ссылку), все в порядке (я имею в виду, что я получаю ответ от их сервера, к сожалению, я не могу использовать этот сервис для их сервис RealVault). Сначала это заставило меня поверить, что все было до того URL, который я использовал, но потому что я могу поместить этот URL в браузер и получить ответ, я думаю, что проблема может быть связана с IIS или моим кодом.
Я использую код asp.net 3.5 на IIS6 / Win Server 05. В IIS веб-сайт имеет SSL и статический IP-адрес.
Я знаю, что это немного, но если у кого-то есть какие-то идеи, которые я мог бы попробовать, это было бы очень признательно.
Спасибо за вашу помощь,
Рич