Использование SOAP в Classic ASP - PullRequest
       24

Использование SOAP в Classic ASP

4 голосов
/ 30 октября 2008

Уточнение: речь идет не о пользовательских агентах обращениях к страницам, а о классическом ASP, вызывающем ASP.NET!

У меня есть приложения, которые находятся в середине перехода от классического ASP к ASP.NET. Полмиллиона строк кода, поэтому полное переписывание всего за один раз было просто неправдоподобным или откровенно осмотрительным, учитывая, что подавляющее большинство страниц Classic ASP работают просто отлично. Мы переводим страницы и функциональные возможности по мере того, как они приходят на доработку в любом случае , а не только потому, что это «круто».

Теперь, когда примерно половина страниц была преобразована, мы перенесли некоторые ключевые функции в ASP.NET. Вместо того, чтобы сохранять устаревшие версии этой функциональности (что означает два места для обслуживания вместо одного), я перешел к использованию SOAP для предоставления этой функциональности.

Ну ... не совсем. Вместо этого мы использовали то, что я раньше называл «SOAP для бедняков», хотя сегодня модно называть это REST. Я использую ServerXMLHTTP для связи со страницей назначения, связываю шарик XML и размещаю его на стороне ASP.NET. В результате я собрал несколько XML и использовал XPATH, чтобы разбить их на переменные.

Все это работает на удивление хорошо. Тем не менее, я обдумывал встроенные функции ASP.NET SOAP, которые, казалось бы, избавили от необходимости настраивать целевые страницы записи для моих кроссплатформенных вызовов ... но когда я смотрю на использование SOAP из Classic ASP, большинство предлагают использовать, казалось бы, внешнее устарел Soap Toolkit.

Вопрос в том; Кто-нибудь из вас имеет опыт установки такого рода, и если да, то есть ли более эффективные способы сделать это, чем пользовательские страницы REST или Soap Toolkit? Я думаю, что более быстрое раскрытие большей части функциональности ASP.NET могло бы помочь с миграцией, но я не хочу, чтобы излишне увлекаться устаревшими технологиями, такими как Soap Toolkit.

Ответы [ 3 ]

4 голосов
/ 30 октября 2008

Занимаясь поиском, я нашел

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

который в свою очередь связан с

http://www.aspfree.com/c/a/ASP/Consuming-a-WSDL-Webservice-from-ASP/

Это в значительной степени то, как я сейчас поступаю, так что, возможно, это лучшее решение?

1 голос
/ 17 ноября 2009

Я смог сделать это с помощью следующего кода, очевидно, вам нужно будет изменить некоторые вещи, но, надеюсь, это поможет вам начать:

Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")                          
xmlhttp.open "POST", soapServer, False
xmlhttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
xmlhttp.setRequestHeader "SOAPAction", char(34) & "WebPlatform.WebServices/ISessionTokenServiceV1/CreateSessionToken" & char(34)

xmlhttp.send soapMessage

soapMEssage будет запросом на мыло, которое вы отправляете. soapServer - это URL-адрес веб-службы, например: http://localhost:8000/WebServices/SampleService.svc/BASIC

1 голос
/ 30 октября 2008

Я использую Прототип с множеством классических ASP-страниц для вызовов AJAX. Я предпочитаю работать с JSON, чем XML для моего уровня данных. Ajax + JSON намного легче, быстрее и проще в работе, чем SOAP + XML.

...