kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
Louis Salin
Louis Salin
Вопрос

Вызов веб-служб REST из классической страницы asp

Я'хотел бы начать перемещать бизнес-слои нашего приложения в набор веб-сервисов REST. Однако большая часть нашего интранета была построена с использованием Classic ASP, и большинство разработчиков, где я работаю, продолжают программировать на Classic ASP. Поэтому в идеале, чтобы они могли воспользоваться преимуществами уникального набора веб-интерфейсов API, его нужно было бы вызывать со страниц Classic ASP.

Я не имею ни малейшего представления о том, как это сделать.

26 2008-08-14T15:34:26+00:00 7
 Uwe
Uwe
Редактировал вопрос 14-го декабря 2017 в 9:51
Программирование
rest
web-services
asp-classic
Решение / Ответ
 KP.
KP.
14-го августа 2008 в 3:49
2008-08-14T15:49:27+00:00
Дополнительно
Источник
Редактировать
#8415014

Вы можете использовать комбинацию JQuery с вызовами JSON для потребления REST-сервисов с клиента

или

если вам нужно взаимодействовать с REST-сервисами из слоя ASP, вы можете использовать

MSXML2.ServerXMLHTTP

например:

Set HttpReq = Server.CreateObject("MSXML2.ServerXMLHTTP")
HttpReq.open "GET", "Rest_URI", False
HttpReq.send
 KP.
KP.
Редактировал ответ 14-го августа 2008 в 4:10
28
0
 Kev
Kev
14-го августа 2008 в 3:59
2008-08-14T15:59:58+00:00
Дополнительно
Источник
Редактировать
#8415016

KP

Вы должны на самом деле использовать 'MSXML2. ServerXMLHTTP' от приложений стороны ASP/сервера. 'XMLHTTP' должен только быть используемой стороной клиента, потому что это использует WinInet, который не поддержан для использования в приложениях для сервера/обслуживания.

Посмотрите http://support.microsoft.com/kb/290761, вопросы 3, 4 & 5 и

http://support.microsoft.com/kb/238425/.

Это довольно важно, иначе you' ll испытывают Ваше веб-вывешивание приложения и все виды странного продолжения ерунды.

 Community
Community
Редактировал ответ 23-го мая 2017 в 12:34
IServerXMLHTTPRequest-ServerXMLHTTP | Microsoft Docs
support.microsoft.com
WinInet not supported in services - Browsers | Microsoft Docs
Win32 Internet Functions (exported from WinInet.dll) are not supported in services. This article discusses using the WinInet.dll in a service or in Internet Information Server applications.
support.microsoft.com
9
0
 SitWalkStand
SitWalkStand
14-го августа 2008 в 3:49
2008-08-14T15:49:01+00:00
Дополнительно
Источник
Редактировать
#8415012

Вот несколько статей, описывающих, как вызвать веб-службу из ASP-страницы класса:

  • Integrating ASP.NET XML Web Services with 'Classic' ASP Applications
  • Потребление XML веб-служб в классическом ASP
  • Потребление WSDL веб-сервиса из ASP
6
0
 ianmayo
ianmayo
12-го января 2011 в 3:39
2011-01-12T15:39:19+00:00
Дополнительно
Источник
Редактировать
#8415018

Много ответов, представленных здесь, кажется, касаются, как ClassicASP может использоваться, чтобы потреблять веб-сервисы & требования ОТДЫХА.

По-моему, более опрятное решение может быть для Вашего ClassicASP, чтобы просто служить данным в форматах ОТДЫХА. Позвольте своему основанному на браузере клиенту закодировать, обращаются с ' mashup' если это возможно. Вам необходимо сделать это, не включая никакие другие компоненты ASP.

Так, here' s, как я был бы макет новейшая поддержка ОТДЫХА в ClassicASP:

  1. обеспечьте единственную веб-страницу ASP, которая действует как посадочная площадка
  2. Посадочная площадка будет обращаться с двумя параметрами: глагол и URL, плюс ряд содержания формы
  3. Используйте некоторый блок выключателя, осматривают URL и направляют глагол (и содержание формы) соответствующему укладчику
  4. Укладчик тогда обработает глагол (ПОМЕЩАЛ/ОТПРАВЛЯЛ/ПОЛУЧАЛ/УДАЛЯЛ) вместе с содержанием формы, возвращая кодекс успеха/неудачи плюс данные как соответствующий.
  5. Ваша посадочная площадка осмотрит кодекс успеха/неудачи и возвратит соответствующий статус HTTP плюс любые возвращенные данные

Вы извлекли бы выгоду из класса поддержки, который расшифровывает/кодирует данные о форме из JSON, так как это ослабит Ваше клиентское внедрение (и потенциально оптимизирует объем переданных данных). Посмотрите разговор здесь в Какие-либо хорошие библиотеки для парсинга JSON в Классическом ASP?

Наконец, в клиентском, предоставьте метод, который берет Глагол, URL и полезный груз данных. В ближайшей перспективе метод сопоставит параметры и отправит им Вашей посадочной площадке. В дальнейшей перспективе (как только Вы переключаетесь далеко от Классического ASP) Ваш метод может послать данные в ' real' URL.

Удача...

 Community
Community
Редактировал ответ 23-го мая 2017 в 11:55
3
0
 grahamesd
grahamesd
21-го ноября 2017 в 9:02
2017-11-21T21:02:43+00:00
Дополнительно
Источник
Редактировать
#8415019

Другое возможное решение состоит в том, чтобы написать.NET DLL, который делает звонки и возвращается, результаты (возможно, обертывают что-то как RESTSharp - дают ему простой API, настроенный к Вашим потребностям). Тогда Вы регистрируете DLL как COM DLL и используете его в Вашем кодексе ASP с помощью метода CreateObject.

I' ve, сделанный это для вещей как создание подписанного JWTs и соление и хеширование паролей. Это работает приятно (в то время как Вы работаете как сумасшедший, чтобы переписать ASP).

1
0
Vincent Robert
Vincent Robert
14-го августа 2008 в 3:54
2008-08-14T15:54:08+00:00
Дополнительно
Источник
Редактировать
#8415015

Все, что вам нужно, - это HTTP-клиент. В .Net хорошо работает WebRequest. Для классического ASP вам понадобится специальный компонент, например вот этот.

0
0
 garretmagin
garretmagin
13-го сентября 2008 в 5:14
2008-09-13T05:14:17+00:00
Дополнительно
Источник
Редактировать
#8415017

Другая возможность состоит в том, чтобы использовать объект WinHttp COM [Используя Объект WinHttpRequest COM] [1].

WinHttp был разработан, чтобы использоваться из кодекса сервера.

[1]: http://msdn.microsoft.com/en-us/library/aa384079 (Против 85) .aspx

0
0
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 1 день назад
2
Денис Васьков
Зарегистрирован 2 дня назад
3
Dima Patrushev
Зарегистрирован 5 дней назад
4
sirojidddin otaboyev
Зарегистрирован 1 неделю назад
5
Елена Гайдамамакинат
Зарегистрирован 1 неделю назад
ID
JA
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией