4S4C aka Simon's SOAP Server Services For COM

This is a COM component that will invoke methods on COM objects (via any automation compatible interface), from a SOAP request message, and return the results as a SOAP response message.

The Dispatcher component uses the Apache.org Xerces-C SAX2 Parser for parsing the request XML. (there are no dependencies on MSXML), and is largely driven by the Type Information for the method being called, there is no requirement for a separate services or schema description. The bulk of the work so far has gone into the SOAP->COM dispatcher, which supports most automation types including 1 dimensional safearrays and complex types which are mapped to structures (aka UDT's)

Included are two listener applications, one for HTTP (using ASP), and one for SMTP (using the Windows 2000 SMTP Server), the SMTP listener was updated in v1.3.8 to comply with the proposed SMTP binding.

The SOAP side has been tested for interop with the following SOAP Toolkits, and contains sample clients for most of them In addition tests done by the members of the soap builders mailing list, show interop with many other toolkits including.

Example

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
 <SOAP-ENV:Body>
  <m:doubler xmlns:m="http://simon.fell.com/calc">
   <nums SOAP-ENC:arrayType="xsd:int[5]">
	<number>10</number>
	<number>20</number>
	<number>30</number>
	<number>50</number>
	<number>100</number>
   </nums>
  </m:doubler>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
This is mapped to the following COM method
HRESULT doubler ( [in,out] SAFEARRAY(long) * nums ) ;

Changes for v1.3.8

See the full version history

Downloads

You can read the full online doc's, or dive straight in and download the components.

You should probably read the install instructions before starting the install.
Download the latest release, v1.3.8 here, this requires Windows Installer 1.1. There's also a Merge Module available that installs the core components, so that you can install 4s4c along with your own products.