Delphi раньше включал в себя демонстрационную папку для веб-сервисов, но, похоже, больше не включает ее.
Я только что попробовал демонстрационные проекты Delphi 7 ( SOAPDMServerWAD
сервер почти не имел пользовательского интерфейса и даже SOAPDMClient
) и не смог заставить их работать, даже в Delphi 7.
Если кто-нибудь когда-либо делал подобную демонстрационную работу в Delphi XE или Delphi 2010, идентичную старым SOAPDMServerWAD+SoapDMClient
демонстрациям, работающим в Delphi XE, и с хотя бы минимальным пользовательским интерфейсом, исходящим от мастера приложений Delphi SOAP Server, это было бы идеально.
Обновление: демо-версия появляется вплоть до Delphi 2010, но использует устаревший WAD (web-app-debugger), я пытался перенести его на новую Indy runtime/web-app-development-harnessing-code
, но не могу заставить ее работать. Демонстрация запускается, но сервер не имеет пользовательского интерфейса и, по-видимому, не запускает какой-либо HTTP-сервер (протестировано с помощью обычного веб-браузера через http://localhost:port/
URL-адреса. Кстати, попробуйте поискать в Google для демонстрации, и этот URL-адрес появится, и Я спросил менее часа назад. Это страшно, Google.
Update2 Смотрите мой собственный ответ ниже, скоро появится ссылка с рабочим кодом.
источник
Ответы:
Я разместил полный набор демонстраций для SOAP на CodeCentral как элемент 28789 .
Они содержат все демоверсии SOAP эпохи Delphi 2007 из
WebServices
папки, которая теперь обновлена для Delphi XE и XE2, включая преобразование старых серверов WAD в новые серверы INDY VCL. Вы могли бы подумать, что это было впечатляюще, но это не так. Это действительно легко. Просто используйте мастер для создания нового проекта, а затем добавьте в проект интерфейс веб-службы и модули реализации, а также любые другие модули, принадлежащие старой демоверсии. Как только они добавлены в проект, они просто работают. Базовые демонстрационные SOAP-серверы действительно легко построить в Delphi, когда у вас будет работающая демоверсия, вы обнаружите, что ее довольно легко модифицировать и расширять.Демонстрация, которая лучше всего отвечает на вопрос, который я задал выше, находится в
SOAPDataModule
подпапке.Основные проблемы с демо с эры 2007 года:
WAD (отладчик веб-приложений) исчез. Вы должны создать новый сервер, используя сервер Indy, для оптимальных демонстрационных целей, избавляя вас от использования WAD (который ушел) или настройки среды ISAPI под IIS, что вряд ли идеально для демонстрационных целей. Новый демонстрационный проект, который я сделал, называется SoapDMServerINDY и состоит из модуля данных (datamod_u.pas), модуля пользовательского интерфейса в форме VCL (
IndyServerVCLFormUnit.pas
) и веб-модуля Indy Server, который называетсяIndyServerWebModule.pas
.Демо-версия Delphi 2007 прервалась благодаря новой практике использования подпапки Debug / Win32, в которой находится исполняемый файл демо-версии, вам нужно идти дальше. Я исправил демонстрационный сервер так, что он предупреждает вас сообщением об ошибке, если файлы данных не могут быть найдены, избавляя вас от загадочной «ошибки синтаксического анализа XML». Я также добавил некоторые проверки ошибок в некоторых демо-версиях, чтобы сообщить вам, что вам нужно установить interbase, чтобы эта демоверсия работала, поскольку для некоторых демоверсий требуется, чтобы Interbase был установлен и запущен, а для другого необходим псевдоним IBLOCAL, и предпочтительно стол, призванный
EMPLOYEE
существовать.Элементами этой демонстрации являются сервер ( SoapDMServerINDY , основанный на коде из SOAPDMServerWAD) и клиент SOAPDMClient, который подключается к демонстрационной версии и имеет две страницы, на одной странице будет показан доступ к основным данным через удаленное взаимодействие DBGrid +, а вторая На странице показано, как вызвать пользовательский метод SOAP.
Чтобы использовать демо: Вам нужно запустить сервер, нажать кнопку «Пуск», затем запустить клиент и нажать «Подключиться».
источник