Я нахожусь на IIS 6, и у меня есть сайт ASP.Net 4.0, который представляет собой одну страницу, служащую обратным прокси-сервером SOAP. Мне нужно изменить содержимое возврата, чтобы удалить проблемный узел из ответа и добавить отслеживающий узел.
Чтобы упростить его функцию обратного прокси-сервера для всех адресов, у меня на сервере 404 настроен собственный URL-адрес «/default.aspx» (страница моего приложения)
Для запросов без полезной нагрузки он отлично работает - например, для? URL-адресов WSDL. Он запрашивает правильный URL-адрес у целевой системы, получает ответ и отправляет его обратно - в этом отношении он совершенно прозрачен.
Однако, когда SOAP-запрос выполняется с входной полезной нагрузкой, Request.InputStream в коде всегда пуст. Пусто - за одним исключением - используя SOAPUI, я могу переопределить конечную точку и отправить запрос непосредственно в /default.aspx, и он получит входную полезную нагрузку. Таким образом, я определил, что пользовательский обработчик 404 - при передаче запроса на стороне сервера - удаляет полезную нагрузку. Я знаю, что полезная нагрузка отправляется - я даже проверил ее на сервере, чтобы быть уверенным. Но затем, когда я добавляю код для регистрации содержимого Request.InputStream, он становится пустым - даже несмотря на то, что Request.ContentLength показывает правильную длину содержимого для исходного запроса.
Я также искал хороший способ использовать ASP.Net для непосредственного перехвата запросов, вместо того, чтобы позволить обычному обработчику IIS 404 позаботиться об этом, но даже при отображении с подстановочными знаками я не могу получить настройки правильные, и я не уверен, что это поможет. (Но я надеюсь, что это будет?)
Наконец, у меня нет корпоративного разрешения на установку инфраструктуры MVC.
Таким образом, мне нужна либо какая-то конфигурация для IIS, которую я пропускаю, чтобы эта работа работала должным образом, либо какой-либо другой метод обеспечения получения полезной нагрузки запроса на мою веб-страницу.
Спасибо!