Update of "Web Services for Tcl (aka tclws)"
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.


Artifact ID: 997dd05c826f939b7cd9dc844f497ec10e1ccf663aca463841b27b439a990764
Page Name:Web Services for Tcl (aka tclws)
Date: 2018-12-06 12:49:13
Original User: oehhar
Parent: a0028853a59632f581e9ba935252ec3160a12f175d9ae031ace4c607ee539d99 (diff)
Next 4d28ca51edf492c3a16edc3bf51ccef911190139c44309a7dd76074edd73b247


The distribution provides both client side access to Web Services and server side creation of Web Services. Currently only document/literal and rpc/encoded with HTTP Soap transport are supported on the client side. The server side currently works with several web servers(see below). It provides all services as document/literal over HTTP Soap transport. Documentation for the package, including examples can be found here. The distribution consist of several packages.


This project has the following public repositories:

If you decide to make a public mirror of this repository, please email me to location so that we can list it here.


Documentation for the tclws package is available at the following links:

The client is known to work with several providers of Web Services (your mileage may very). Also these clients have been tested to work with the Web Services provided by the WS::Server (server side) package of tclws.

Web Servers

The server side works with the following web servers (see Web Server Settings for known required options):


Release notes, ZIP and Tarball files are available at the Downloads page.


Standard BSD license.

Packages Required

The following packages are used:

Additionally, if you are running the TclHttpd on Windows, it is highly recommended that you use the iocpsock extension.

Lastly the following packages are additionally used in Embedded mode:


TCLWS implements a limited set of standards used under the keyword "Web-Service".

Implemented standards


WSDL describes an XML document (the WSDL file), which describes the methods and their parameters of the web service.

WSDL 1.1 is supported only. Spec: http://xml.coverpages.org/wsdl20000929.html


SOAP describes the format of the call and response XML messages.

SOAP 1.0 is supported only. Spec: https://www.w3.org/TR/2000/NOTE-SOAP-20000508/

Missing features compared to the standards

Webservice call does not support namespace prefixes in subelement if not unique

As TCLWS only supports global namespace prefixes, it copies any namespace prefix in a subelement to the root. An error will rise if this causes an ambiguity.

Thus, the following WSDL will lead to an error:

<wsdl:definitions xmlns:q1="URI1" ...>
   <xs:element xmlns:q1="URI2" type="q1:MessageQ1"/>
While the following two are o.k.:
<wsdl:definitions xmlns:q1="URI1" ...>
   <xs:element xmlns:q1="URI1" type="q1:MessageQ1"/>
<wsdl:definitions xmlns:q1="URI1" ...>
   <xs:element xmlns:q2="URI2" type="q2:MessageQ1"/>