views:

2221

answers:

7

How can I build a stand-alone SOAP-based Web Services using Delphi? Must work with Delphi 2009, but it'd be nice if it worked with older ones too.

The built-in WebBroker Web Services creates CGI or ISAPI. It would be nice to create a stand-alone executable that I can control from bottom to top, especially during development.

+5  A: 

Dave Nottage wrote Building a stand-alone Web service with Indy (source code).

This article explains how to fit Indy into Delphi 6's Web services (SOAP) support.

According to the comment on the page, it works with Delphi 2009 with some modification.

Edit: People in Indy 10 and IdHTTPWebBrokerBridge with CBuilder 2009 posted modified version. For example, IdHTTPWebBrokerBridge.pas is by Jochanan van der Niet.

eed3si9n
+9  A: 

RemObjects SDK for Delphi (RO/Delphi).

Different messaging formats are provided, including our own highly efficient binary BinMessage format, as well as support for SOAP, XML-RPC and - new - JSON encoding, in case you want to make your servers accessible to clients not using RO, or write clients to access Web Services provided by others.

eed3si9n
+1  A: 

Something I used in the past was idRunner which is an extension to the indy library and it allows you to develop ISAPI dll's which your application then runs. The advantage of this approach, is you can deploy a standalone application to run your soap service, that can easily be deployed via IIS at a later date.

For debugging, I strongly suggest the idDebugger on the same page. It makes debugging ISAPI applications very easy.

skamradt
+3  A: 

It should be possible to build a web service with VCL for the Web (formerly: Intraweb). It has an option of creating a standalone executable that contains both: web server and web application

Paweł Głowacki
+2  A: 

In D7 I used IdHTTPWebBrokerBridge (Indy 9). But i don't know if it is still available in D2009.

ErvinS
I've used this technique too, it works like a charm.
The_Fox
+2  A: 

There are a series of SOAP articles on Dr. Bob's website and specifically there is RAD Studio 2007 XML, SOAP and Web Services Development manual, but it's 99 Euro.

Pauk
A: 

Here is a step-by-step solution "Delphi 7 Indy Standalone Web Services/SOAP Server" which looks like it can be useful for Delphi 2009 too:

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

Update:

this solutions uses IdHTTPWebBrokerBridge, it can be used in Delphi 2009 with minor changes.

mjustin