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
