<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>JavaScriptSoapClient Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/Wiki/View.aspx?ProjectName=JavaScriptSoapClient&amp;title=Home</link><description>JavaScriptSoapClient Wiki Rss Description</description><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/Wiki/View.aspx?ProjectName=JavaScriptSoapClient&amp;title=Home&amp;version=2</link><description>&lt;p&gt;
&lt;h1&gt;What's "JavaScript SOAP Client"?&lt;/h1&gt;
&lt;/p&gt;
&lt;p&gt;
A lot of talking about &lt;b&gt;AJAX&lt;/b&gt; is taking place here and there; AJAX is the acronym of "Asynchronous JavaScript and XML", a technology based on XMLHttpRequest, which is now supported by all main browsers. The basic idea is quite simple - and not actually a breakthrough - but it allows updating a page following a server request, without reloading the entire set of data.&lt;br/&gt;
&lt;/p&gt;
&lt;p&gt;
We propose a solution based on AJAX that has a great advantage with respect to those commonly found in Internet: calls are made to the Web Services.&lt;br/&gt;
&lt;/p&gt;
&lt;p&gt;
This permits:&lt;br/&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;ul&gt;&lt;li&gt;On the server side we only have to expose a Web Service with the required methods (instead of generating dynamic pages incorporating data that are based on a custom syntax or on a generic XML)&lt;/li&gt;
&lt;li&gt;On the client side we use the WSDL (Web Service Description Language) to automatically generate a JavaScript proxy class so as to allow using the Web Service return types - that is similar to what Visual Studio does when a Web Reference is added to the solution.&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;
&lt;p&gt;
The following diagram shows the SOAP Client workflow for asynchronous calls:&lt;br/&gt;
&lt;/p&gt;
&lt;p&gt;
[image:diagram.png]&lt;br/&gt;
&lt;/p&gt;
&lt;p&gt;
The Client invokes the &lt;i&gt;SOAPClient.invoke&lt;/i&gt; method using a JavaScript function and specifying the following:&lt;br/&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;ul&gt;&lt;li&gt;Web Service URL (pls note that many browsers do not allow cross-domain calls for security reasons)&lt;/li&gt;
&lt;li&gt;Web method name&lt;/li&gt;
&lt;li&gt;Web method parameter values&lt;/li&gt;
&lt;li&gt;Call mode (async = true, sync = false)&lt;/li&gt;
&lt;li&gt;CallBack method invoked upon response reception (optional for sync calls)&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;
&lt;p&gt;
The &lt;i&gt;SOAPClient.invoke&lt;/i&gt; method executes the following operations (numbers refer to the previous diagram)&lt;br/&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;ol&gt;&lt;li&gt;It gets the WSDL and caches the description for future requests&lt;/li&gt;
&lt;li&gt;It prepares and sends a SOAP request to the server (invoking method and parameter values)&lt;/li&gt;
&lt;li&gt;It processes the server reply using the WSDL so as to build the corresponding JavaScript objects to be returned&lt;/li&gt;
&lt;li&gt;If the call mode is async, the CallBack method is invoked, otherwise it returns the corresponding object&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;h2&gt;See also&lt;/h2&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;ul&gt;&lt;li&gt;More info at &lt;a href="http://www.guru4.net/articoli/javascript-soap-client/en/"&gt;http://www.guru4.net/articoli/javascript-soap-client/en/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Demos at &lt;a href="http://www.guru4.net/articoli/javascript-soap-client/demo/en.aspx"&gt;http://www.guru4.net/articoli/javascript-soap-client/demo/en.aspx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Italian version at &lt;a href="http://www.guru4.net/articoli/javascript-soap-client/"&gt;http://www.guru4.net/articoli/javascript-soap-client/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;br/&gt;
&lt;/p&gt;
</description><author>casati</author><pubDate>Fri, 27 Oct 2006 08:49:18 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20061027084918A</guid></item></channel></rss>