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 эры являются два:
ВАД (отладчик веб-приложений) ушел. вы должны создать новый сервер, используя сервер Indy, для оптимальных демонстрационных целей, экономя вас от использования WAD (который ушел) или настройки среды ISAPI в IIS, что вряд ли идеально подходит для демонстрационных целей. Новый демо проект, который я сделал называется SoapDMServerINDY, и он состоит из модуля данных (datamod_u.pas), блок пользовательского интерфейса формы VCL (
IndyServerVCLFormUnit.pas
) и веб-модуль Indy Server, называемыйIndyServerWebModule.pas
.Дельфи Демо-версия 2007 сломалась благодаря новой практике наличия подпапки Debug/Win32, в которой теперь находится исполняемый файл демо, вам нужно идти дальше. Я исправил демо-сервер, чтобы он предупреждал вас с сообщением об ошибке, если файлы данных не могут быть найдены, спасая вас от таинственной "ошибки синтаксического анализа XML". Я также добавил некоторую проверку ошибок в нескольких демонстрациях, так что он говорит вам, что вам нужно установить interbase для этой демонстрации, чтобы работать, так как некоторые демо требуют Interbase установлен и запущен, и для этого требуется псевдоним с именем IBLOCAL, и желательно таблица с именем
EMPLOYEE
существовать.
элементы этой демонстрации-это сервер (SoapDMServerINDY, на основе кода из SOAPDMServerWAD), и клиент SOAPDMClient который подключается к демо и имеет две страницы, одна страница покажет доступ к основным данным через dbgrid + dataset remoting, а вторая страница показывает, как вызовите пользовательский метод SOAP.
использовать демо: вы должны запустить сервер, нажмите кнопку Пуск, затем запустите клиент и нажмите кнопку Подключить.