Hi Steve, and Christian.

To be honest, I was curious to see who else might respond to this first :-)

I can well imagine that SOAP is on a "to-do" list for Phil, which would one
of many items I'm sure. Witango is not 100% SOAP ready - but you can get
pretty darn close.

Yes, I've implemented SOAP in a number of "custom" applications now, and
learned a lot in the process.

....................
~ There are two kinds of SOAP you can code for: Dynamic SOAP calls (true
SOAP) or SOAP where the "definitions" don't change. Witango can do the
later.

....................
~ The standards for SOAP are still evolving and it's pretty hard to code a
moving target - a challenge for even the biggest software companies. i.e.,
IBM, MS, Sun, etc...

....................
~ True SOAP allows for automated interaction (calls) between two Services,
where the properties and arguments of those Services can change
dynamically - this is what WSDL is for. WSDL "describes" conditions and
argument requirements for a Service you are calling. The WSDL has to be
retrieved and processed before you can make the actual Service "call" so
that the calling Service knows how to call the Service - follow me?

Here is a very, very simple example of WSDL:

http://xml-extra.net/system-services.asmx?wsdl

This is where most of the Standards changes are happening, at this dynamic
level. If SOAP is going to dominate the World, it is because of the success
at the WSDL level - which is supposed to translate into "ease of use" for
programmers.

Unfortunately Witango does not have a native parser for SOAP, so Witango
can't process the WSDL information - you have to do this part yourself.

Leaving 3rd Party SOAP Products aside for the moment, this brings us to the
other kind of SOAP.

....................
~ Witango can do SOAP, if the WSDL information is not being changed
dynamically to a large degree. Then you can read in the WSDL XML and use
Witango DOM and XPointer to extract some key bits of information, such as
the names of the available Methods to call, and their Parameter
"introspection" information and the address of the actual Service.

Based on the information you extract, then you can make "some" assumptions
about what to do with your actual Service call. If you want to write a
bigger boat-load of code, then you can compensate for the WSDL being more
dynamic, but just getting to this point at a basic level is already a large
amount of code.

Without getting too carried away (not that I have already) with a few more
issues such as XML over HTTP, DOM (which are the easy parts) and all the
rest - I just want to say SOAP is possible in Witango, but it's not easy.

I'm sure at some point Phil may implement a SOAP Client / Publisher in the
Witango Editor - but I'm not privy to his plans, so I don't have any
information for you.


But, if we DID have a SOAP Client for Witango, you would be amazed at what
we could do :-)

....................
Don't loose hope yet, because you still have 3rd Party Products.

On Windows, MSXML can give you some basic SOAP like functionality, which is
free. But Microsoft also offers the "SOAP Toolkit", which is also free:

http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid
=28000523
(Above URL may word-wrap)

The SOAP Toolkit makes many things much easier (i.e., WSDL), but makes other
parts harder. But this will get you the closest to the current Standards,
which is important.

Other SOAP add-on tools are available for other platforms as well:
http://www.soapware.org/directory/4/implementations

Ultimately what we need is a SOAP Client and/or Publisher for Witango.
Something like the "Search Builder", but writes pure Witango files and
outwardly operates like any other SOAP Service and where the files can move
transparently between other platforms like normal Witango files.

I have to tell you, I know it's possible, but it'll be alot of work for
somebody to create a "SOAP Builder" :-)

....................
Anyway, to get back to Steve's question about sharing some code.

I have some code, but because each implementation has been custom to some
degree (because of the issue of the dynamic WSDL), it may raise more
questions than the solutions you are looking for. Just try checking out my
Witango XML-RPC stuff, which is the predecessor to SOAP.

http://xml-extra.net/webpage.xmlx?node=52

Plus I need to add that some members of the List have paid for some of my
SOAP work, and it wouldn't be fair to them to just start giving some of it
away.

But, the knowledge I have gained from each of these experiences is another
matter. SOAP is not for the faint-of-heart, but it will get easier as time
goes by, I promise you.

If some of you are interested, we could make SOAP a topic for some special
training.

---------
Anyway, I think I've babbled long enough. I hope this answer some people's
questions about the topic - or have I just confused you guys more?

One thing is for sure, I know Phil will be working some late evenings and
weekends for awhile yet - poor guy :-}

In the meantime, here are some educational links of interest:

http://www.w3schools.com/wsdl/default.asp

http://www.w3schools.com/soap/default.asp


Cheers............

Scott Cadillac,
Witango.org - http://witango.org
403-281-6090 - [EMAIL PROTECTED]
--
Information for the Witango Developer Community
---------------------

XML-Extranet - http://xml-extra.net
403-281-6090 - [EMAIL PROTECTED]
--
Well-formed Development (for hire)
---------------------




----- Original Message -----
From: "Steve Campbell" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, April 04, 2003 8:08 AM
Subject: Re: Witango-Talk: SOAP


> You know, I would think Scott will reply to this, but, I am really curious
> as to how many people here are using SOAP and if there are some,if they
> would be so kind as to share some code as to how it's being used with
their
> applications. (tafs)
>
> Thanks
>
> Steve
>
>
>
> On 4/3/03 9:34 PM, "Christian Platt" <[EMAIL PROTECTED]>
wrote:
>
> > Hi list, how far is WITANGO supporting SOAP
> >
> > Christian
> >
> >
> > ________________________________________________________________________
> > TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
> >               with unsubscribe witango-talk in the message body
>
>
> ________________________________________________________________________
> TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
>                 with unsubscribe witango-talk in the message body
>

________________________________________________________________________
TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED]
                with unsubscribe witango-talk in the message body

Reply via email to