Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

About the TclSOAP tutorial on ibm developerWorks...

3 views
Skip to first unread message

Petasis George

unread,
Jun 13, 2001, 1:43:29 AM6/13/01
to
Hi all,

Just a simple question: what is SOAP4Tcl and where can be found?
I only know TclSOAP 1.3. The tutorial says about SOAP4Tcl 1.3
that is derived from TclSOAP 1.3. But I could find a url for that.
In the article it is stated that can be downloaded from the
developerWorks "open zone". But I couldn't find it there either.

Please, can someone post the url?

Also, a question about soap. From what I understand, soap uses
xml to form queries and answers. What happens if the data I want
to send is already in xml? What I want to do, is to send an xml
document to a server. The server will process it, and will return
a non xml file. Can soap be used for this interaction?
I know that this can simply be done with a socket. But also
integrating soap is not difficult, as both the server and client
already include xml and tclhttpd...

George

Cameron Laird

unread,
Jun 13, 2001, 8:13:48 AM6/13/01
to
In article <3B26FD81...@iit.demokritos.gr>,

Petasis George <pet...@iit.demokritos.gr> wrote:
>Hi all,
>
>Just a simple question: what is SOAP4Tcl and where can be found?
>I only know TclSOAP 1.3. The tutorial says about SOAP4Tcl 1.3
>that is derived from TclSOAP 1.3. But I could find a url for that.
>In the article it is stated that can be downloaded from the
>developerWorks "open zone". But I couldn't find it there either.
>
>Please, can someone post the url?
>
>Also, a question about soap. From what I understand, soap uses
>xml to form queries and answers. What happens if the data I want
>to send is already in xml? What I want to do, is to send an xml
.
.
.
SOAP4TCL isn't public yet. DeveloperWorks (dW) means
well, and tries hard, but I think most of us recognize
by now how tough it appears to be in practice to set
up a SourceForge-like facility.

SOAP4TCL is just a re-branded TclSOAP, at least at
this point--all honor to Pat Thoyts, by the way. I
want them always to be the same. If anyone's interested,
I'll cheerfully explain more of the licensing complexities.
The summary is this: Pat's done all the work, and
SOAP4TCL is s'posed to be a mechanism for publicizing his
accomplishment more. Also, it's a base for WSDL4TCL and
UDDI4TCL; these, on which I'm working now, have the
potential to push Tcl back to the lead among Web Services
language bindings.

How do you send XML data? That's a good question. At
this point, just serialize it into a string, and send
that. I imagine that seems a bit silly; it's the right
thing to do, for now.
--

Cameron Laird <cla...@NeoSoft.com>
Business: http://www.Phaseit.net
Personal: http://starbase.neosoft.com/~claird/home.html

Pat Thoyts

unread,
Jun 13, 2001, 8:43:59 PM6/13/01
to
Petasis George <pet...@iit.demokritos.gr> writes:
> Also, a question about soap. From what I understand, soap uses
> xml to form queries and answers. What happens if the data I want
> to send is already in xml? What I want to do, is to send an xml
> document to a server. The server will process it, and will return
> a non xml file. Can soap be used for this interaction?
> I know that this can simply be done with a socket. But also
> integrating soap is not difficult, as both the server and client
> already include xml and tclhttpd...
>
> George

You should be fine passing in XML data. It will need to be quoted
properly as per XML specs ie: < as &lt; etc.

Here is a brief example using TclSOAP and tclhttpd as the server.
I run these commands under TkCon...

source tclhttpd3.3/bin/httpd.tcl ;# start the web server
package require SOAP
package require SOAP::Domain
SOAP::Domain::register -prefix /soap -namespace zsplat::Test

# Define a server procedure to return some XML
proc xml {} {
return {<?xml version="1.0" ?><Memo/>}
}

SOAP::create zxml -proxy http://localhost:8015/soap/xml -uri zsplat-Test
zxml

returns <?xml version="1.0><Memo/>

and SOAP::dump zxml returns

<?xml version='1.0'?>
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema"><SOAP-ENV:Body><ns:return xmlns:ns="zsplat-Test" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><return xsi:type="xsd:string">&lt;?xml version=&quot;1.0&quot;?&gt;&lt;Memo/&gt;</return></ns:return></SOAP-ENV:Body></SOAP-ENV:Envelope>

If you have problems you could always pack up the XML as base64
encoded data and send that instead.
--
Pat Thoyts mailto:p...@zsplat.freeserve.co.uk
http://www.zsplat.freeserve.co.uk/resume.html
PGP fingerprint 2C 6E 98 07 2C 59 C8 97 10 CE 11 E6 04 E0 B9 DD

0 new messages