GetHttpRequestData() и запрос веб-службы SOAP в ColdFusion 8

В настоящее время мы используем GetHttpRequestData().headers для получения реального IP-адреса пользователя. Однако мы столкнулись со следующей проблемой. когда мы пытаемся вызвать запрос веб-службы SOAP, мы получаем следующую ошибку Premature end of file. Я уже искал в Интернете и обнаружил, что в ColdFusion 8.0 есть ошибка.

Я не знаю, исправлена ​​ли еще эта ошибка.

Есть ли альтернативное решение?

Пожалуйста помогите.

Благодарность


person Big A    schedule 20.10.2010    source источник


Ответы (2)


Является ли запрос SOAP поступающим в ColdFusion от клиента, и именно здесь вы получаете сообщение об ошибке, или пользователь переходит на страницу coldfusion, которая затем отправляет запрос SOAP какой-либо другой службе и генерирует ошибку?

person Max    schedule 20.10.2010
comment
Я разработал веб-службу Coldfusion (не что иное, как компонент Coldfusion), которую клиент может использовать для доступа к данным. Клиент отправляет запрос веб-службы с использованием SOAP. У меня есть все компоненты веб-службы в направлении \webservice, где у меня есть файл application.cfm. В файле application.cfm у меня есть один включаемый файл (block.cfm). Цель этого, чтобы убедиться, что кто-то не взламывает сайт. В этом файле у меня есть код для извлечения РЕАЛЬНОГО IP-адреса клиента с помощью GetHttpRequestData().headers. Вот у меня ошибка. Перейдите по этой ссылке для получения дополнительной информации…petefreitag.com/item/733.cfm - person Big A; 20.10.2010
comment
Если вы закомментируете строку, которая получает IP-адрес, она будет работать нормально? Будет ли cgi.remote_addr давать вам ту же информацию? - person Max; 20.10.2010
comment
Нет, нам нужно получить реальный IP-адрес клиента. Причина, мы используем балансировщик нагрузки. - person Big A; 20.10.2010
comment
Попался. Нашел еще один пост об этом здесь: bennadel.com/blog/ . Удивительно, что нигде об этом не сказали. - person Max; 20.10.2010
comment
Да, ты прав. У меня есть проверка Adobe и некоторых других веб-сайтов. Не повезло. - person Big A; 20.10.2010
comment
любое другое предложение о получении реального IP-адреса клиента без использования GetHttpRequestData().headers - person Big A; 20.10.2010

У нас была точно такая же проблема. Я не знаю, нашли ли вы решение, но найденный мной обходной путь заключается в использовании getPageContext().getRequest().getHeader("имя заголовка здесь") для получения заголовка запроса, который я ищу. Это не нарушает вызовы SOAP, такие как getHttpRequestData.

person Scott Chantry    schedule 28.07.2011