SOAP-сервер и клиентское приложение VCL+Indy demo для Delphi XE?

Delphi использовал для включения папки demos для веб-служб, но больше не включает это.

Я только что попробовал демо-проекты Delphi 7 (SOAPDMServerWAD, сервер практически без пользовательского интерфейса и SOAPDMClient) и не смог заставить их функционировать даже в Delphi 7.

если кто-нибудь когда-либо делал аналогичную демо-работу в Delphi XE или Delphi 2010, идентичную старой SOAPDMServerWAD+SoapDMClient демонстрации, работающие в Delphi XE, и по крайней мере с минимальным пользовательским интерфейсом, который поставляется из Delphi SOAP Мастер серверных приложений, это было бы идеально.

обновление: демо появляется вплоть до Delphi 2010, но использует теперь устаревший WAD (web-app-debugger), я попытался перенести его на новый Indy runtime/web-app-development-harnessing-code, но я не могу заставить его работать. Демо работает, но сервер не имеет пользовательского интерфейса и не работает ни на одном HTTP-сервере (протестирован с помощью обычного веб-браузера, через http://localhost:port/ URL-адреса. Кстати, попробуйте погуглить демо, и этот url-адрес появится, и я спросил меньше часа назад. Это страшно, google.

обновление 2 см. мой собственный ответ ниже ссылка, в ближайшее время с рабочей код.

1 ответов


я опубликовал полный набор демонстраций для SOAP на CodeCentral как пункт 28789.

они содержат каждый из демо-версий мыла эпохи Delphi 2007 из WebServices папка, теперь обновленная для Delphi XE и XE2, включая преобразование старых серверов WAD в новые серверы INDY VCL. Можно было бы подумать, что это впечатляет, но это не так. Это очень просто. Просто используйте мастер для создания нового проекта, а затем добавьте интерфейс веб-службы и единицы реализации и любые другие единицы, которые принадлежат к старой демо-версии, к проекту. Как только они добавляются в проект, они просто работают. основные демо-серверы SOAP очень легко построить в Delphi, как только у вас есть рабочая демо, вы найдете, что это довольно легко изменить и расширить его.

демо, которое лучше всего отвечает на вопрос, который я задал выше, находится в SOAPDataModule суб-папок.

основные проблемы с демо с 2007 эры являются два:

  1. ВАД (отладчик веб-приложений) ушел. вы должны создать новый сервер, используя сервер Indy, для оптимальных демонстрационных целей, экономя вас от использования WAD (который ушел) или настройки среды ISAPI в IIS, что вряд ли идеально подходит для демонстрационных целей. Новый демо проект, который я сделал называется SoapDMServerINDY, и он состоит из модуля данных (datamod_u.pas), блок пользовательского интерфейса формы VCL (IndyServerVCLFormUnit.pas) и веб-модуль Indy Server, называемый IndyServerWebModule.pas.

  2. Дельфи Демо-версия 2007 сломалась благодаря новой практике наличия подпапки Debug/Win32, в которой теперь находится исполняемый файл демо, вам нужно идти дальше. Я исправил демо-сервер, чтобы он предупреждал вас с сообщением об ошибке, если файлы данных не могут быть найдены, спасая вас от таинственной "ошибки синтаксического анализа XML". Я также добавил некоторую проверку ошибок в нескольких демонстрациях, так что он говорит вам, что вам нужно установить interbase для этой демонстрации, чтобы работать, так как некоторые демо требуют Interbase установлен и запущен, и для этого требуется псевдоним с именем IBLOCAL, и желательно таблица с именем EMPLOYEE существовать.

enter image description here

элементы этой демонстрации-это сервер (SoapDMServerINDY, на основе кода из SOAPDMServerWAD), и клиент SOAPDMClient который подключается к демо и имеет две страницы, одна страница покажет доступ к основным данным через dbgrid + dataset remoting, а вторая страница показывает, как вызовите пользовательский метод SOAP.

использовать демо: вы должны запустить сервер, нажмите кнопку Пуск, затем запустите клиент и нажмите кнопку Подключить.

enter image description here