WSDL Support

4s4c can dynamically generate WSDL (Web Services Description Language) that describes the methods the soap endpoint exposes. The WSDL is accessed by appending ?WSDL to the query string, e.g. http://localhost/ssss4c/soap.asp?WSDL. Rather than dynamically generating the WSDL for each request, you can save a static copy and have clients point at that instead. This would currently be done via a browser, a future release of 4s4c will have a command line tool & GUI tool to generate the WSDL file.

As of v1.3.5, 4s4c generates WSDL using the 2001 Schema version

As of v1.3.3, 4s4c generates WSDL in the 1.1 format (this only really affects the definition of arrays)

Schema Support

If you are exposing methods that use arrays or complex types, then the WSDL will contain an XML Schema definition of the complex types. The schema definition uses the Recommendation version of XML Schema (the http://www.w3.org/2001/XMLSchema namespace).

Generated names in the WSDL file

A number of places in the WSDL file (port names and the service name) pull defaults from the COM type information, however these can be override by specifying the relevant attributes in the configuration file, see the configuration file section for details.

Interopability

The WSDL support has been tested with basic types with the following client toolkits WSDL is still in its infancy particularly in terms of implementations, and i have been unsucessful in getting any of the WSDL toolkits to inter-op at the array or complex type level, with the exception of the Microsoft Toolkit v2.0, which interop's both arrays and complex types fine, when using 4s4c v1.3.3 or greater.

SOAP::Lite patch

In testing the SOAP::Lite WSDL support, we ran into a problem with having multiple interfaces exposed in a single endpoint. Paul Kulchenko (author of SOAP::Lite) provided the following patch. Simply replace the existing sub of the same name with the new version. This patch will be included in the next release of SOAP::Lite.


<<< Supported Data Types      >>> Service Description