4S4C aka Simon's SOAP Server Services For COM

NOTE : 4s4c has moved homes !, the latest info & downloads is available at http://www.4s4c.com/4s4c/

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 SOAP side has been tested for interop with the following SOAP Toolkits, and contains sample clients for all three There is a live HTTP Endpoint available for testing with at http://www.razorsoft.net/ssss4c/soap.asp, this hosts the demo server component, you can try out the IE5/MSXML demo from http://www.razorsoft.net/ssss4c/default.asp. Or run the Perl tests with
perl -w add.pl www.razorsoft.net 80 /ssss4c/soap.asp
My thanks to Peter Drayton for hosting this.

There is a live SMTP Endpoint available for testing with, simply send a _plain text_ email to soap-listener@zaks.demon.co.uk, with the following request in the email body
<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/1999/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 ) ;

Improvements for v1.2

Coming Up

These are the idea's i'm kicking around for the next version(s).
You can read the online doc's, or dive straight in and download the components.

Download the binary release, v1.2 here, this requires Windows Installer 1.1

Download the whole shooting match, v1.1 here
Download the whole shooting match, v1.0 here

Currently the source code is not available. I will be open sourcing all the code on either an Apache style open source license, or using the LGPL. However I'm still sorting out all the issues releted to this, it will be available soon.


Back to Simons COM stuff
(c) 2000 Simon Fell, this page last updated 21 August 2000