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