IndySoap FAQ

Project

·What’s the relationship between IndySoap and Indy?
IndySoap and Indy are closely related but there is some differences between the 2 projects. The projects share some of the same development team, the same licence, and similar coding standards. IndySoap makes use of some core Indy infrastructure, but other transport mechanisms that are not Indy dependent are provided  

·Where’s the source etc
see the Project Home page at http://www.indyproject.org/soap 

·What compilers are currently supported?
Delphi 4 – 7, all editions except Delphi 4 personal
Kylix 2 & 3(?), all editions

·Does/Will IndySoap support dynamic WSDL usage?
Possibly. If you can figure out a coherent use case, then the IndySoap development team will look at it.

 Specifications and Standards

·Is IndySoap compliant with the SOAP specification?
IndySoap is [nearly] compliant with the SOAP V1.1 and WSDL V1.1 specifications. For further information, see the doco

·Does IndySoap handle SOAP-Document?
Well, sort of. It depends whether this is SOAP-Document but actually for RPC, like .Net uses it, or whether this is really Soap-Document that can't be supported by an object serialiser

·How does SOAP compare with CORBA?
Don’t know. Go ask an expert in both

·Why would you use SOAP instead of CORBA?
Well, CORBA requires a intermediary server, for one. Otherwise, see previous question. 

·Why would you use SOAP instead of XML-RPC?
Cause the whole world is jumping on SOAP. IndySoap may support XML-RPC at some stage. This possibility has not been investigated though. 

Security

·What support does IndySoap have for Security?
Refer the IndySoap documentation for a discussion about security 

State vs Stateless / Persistence

·Can you use properties in interfaces?
Well, yes, but they don’t have any meaning to IndySoap

·Is my interface implementation persistent on the server?
No. A different object will be used for each method call. You cannot rely on any persistence on the server. You will have to organize this yourself.

·Can the client and server pass object references back and forwards?
There is no built in support for this in either SOAP or IndySoap.

·Why is it called an “object” access protocol?
We don’t know. You tell us, (Actually, it is an “object” access protocol, but not an object in the same narrow sense meant in a 3GL programming language) 

Coding standards

·Does Kestral apply them internally?
Yes. Where possible. 

Interface Issues

·What types can be used in interfaces?
Currently, the list is as follows:

·What about DateTime types?
You can use either TDateTime, or the IndySoap types TIdSoapDateTime , TIdSoapDate and TidSoapTime. Refer to the IndySoap Documentation for discussion on the merits of otherwise of these types

·Can I transfer binary content?
Yes – use a TStream or THexStream. Attachments are not yet completely supported. Read the IndySoap doco for further information

Server Deployment

·Can you run IndySoap in an ISAPI server?
Yes, though we haven’t implemented any ISAPI framework support yet. For further information, consult the doco 

Compiler Issues

·Why can’t I compile a program using IndySoap?
There is a known bug in most windows versions of the compiler that will cause an internal error on lines like this:
  LIntf  := AClient as IMyInterface;
The only known workaround is to build the application at this point, or use IdSoapD4Interface - see the doco