Междоменная почта - потеря данных POST - PullRequest
0 голосов
/ 29 января 2011

У меня 2 сервера, оба работают на сайтах R2 / IIS7 / ASP Classic (не могу обойтись без этого)

Сервер A выполняет следующие вызовы:

Dim objXMLHTTP, xml
Set xml = Server.CreateObject("Msxml2.ServerXmlHTTP.6.0")

xml.Open "POST", templateName, false
xml.setRequestHeader "Content-Type", "application/xml"
xml.Send variables

Где templateName - это URL-адрес сервера B (это шаблон электронной почты) ... а переменные представляют собой строку пары «имя-значение», например строку запроса password = myPassword & customerEmail = Dear + Bob, ....

Сервер B получает POST, но все данные POST (пароль = myPassword & customerEmail = Dear + Bob, ....) отсутствуют в POST

password = Request.Form("Password")
customerEmail = Request.Form("CustomerEmail")

Все приведенные выше значения пусты.

Вот кикер. Все это работало на наших старых серверах (Windows Server 2003, IIS 6)

Но когда мы мигрировали, это перестало работать правильно.

Мой вопрос:

Что может привести к удалению данных POST в IIS 7, когда все это работает в IIS 6? Я провел около 3 дней, пытаясь понять, как это делается, и ничего не помогло.

Данные POST просто исчезли.

1 Ответ

0 голосов
/ 08 августа 2011

Проблема с вашей декларацией типа контента.Он указывает, что данные публикации являются XML, а не парами имя / значение.

xml.setRequestHeader "Content-Type", "application/xml"

Вы должны использовать это вместо ...

xml.setRequestHeader "Content-Type", "application x-www-form-urlencoded"
...