Как создать автономные веб-службы SOAP с использованием Delphi?

Как я могу создать автономные веб-службы на основе SOAP с использованием Delphi? Должен работать с Delphi 2009, но было бы неплохо, если бы он работал и со старыми.

Встроенные веб-службы WebBroker создают CGI или ISAPI. Было бы неплохо создать автономный исполняемый файл, которым я мог бы управлять снизу вверх, особенно во время разработки.

7 ответов

Решение

Дейв Ноттаж написал Демонстрацию автономного веб-сервиса с помощью Indy ( исходный код).

В этой статье объясняется, как встроить Indy в поддержку веб-сервисов Delphi 6 (SOAP).

Согласно комментарию на странице, он работает с Delphi 2009 с некоторыми изменениями.

Изменить: Люди в Indy 10 и IdHTTPWebBrokerBridge с CBuilder 2009 опубликовали измененную версию. Например, IdHTTPWebBrokerBridge.pas принадлежит Йоханану ван дер Ниету.

RemObjects SDK для Delphi (RO / Delphi).

Предоставляются различные форматы обмена сообщениями, включая наш собственный высокоэффективный двоичный формат BinMessage, а также поддержку кодирования SOAP, XML-RPC и - new - JSON, в случае, если вы хотите сделать свои серверы доступными для клиентов, не использующих RO, или для записи клиентов для доступа к веб-сервисам, предоставляемым другими.

Должна быть возможность создать веб-сервис с VCL для Интернета (ранее: Intraweb). Он имеет возможность создания автономного исполняемого файла, который содержит как веб-сервер, так и веб-приложение.

На сайте доктора Боба есть серия статей по SOAP, в частности, есть руководство по разработке XML, SOAP и веб-служб RAD Studio 2007, но оно стоит 99 евро.

В D7 я использовал IdHTTPWebBrokerBridge (Indy 9). Но я не знаю, доступен ли он в D2009.

В прошлом я использовал idRunner, который является расширением библиотеки indy и позволяет вам разрабатывать библиотеки ISAPI, которые затем запускает ваше приложение. Преимущество этого подхода заключается в том, что вы можете развернуть отдельное приложение для запуска службы мыла, которую можно легко развернуть через IIS на более позднем этапе.

Для отладки я настоятельно рекомендую idDebugger на той же странице. Это делает отладку приложений ISAPI очень простой.

Вот пошаговое решение "Автономные автономные веб-сервисы / сервер SOAP Delphi 7", которое, похоже, может быть полезно и для Delphi 2009:

http://www.digicoast.com/delphi_soap_standalone.html

Обновить:

В этом решении используется IdHTTPWebBrokerBridge, его можно использовать в Delphi 2009 с небольшими изменениями.

Другие вопросы по тегам