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