You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by rd...@apache.org on 2005/09/06 00:42:05 UTC

svn commit: r278877 [1/2] - in /webservices/site/trunk/targets/axis2/multiproject: axis2-Samples/ axis2-Samples/amazonQS/ axis2-Samples/googleSearch/ axis2-Samples/googleSpellcheck/ axis2-xml/

Author: rdonkin
Date: Mon Sep  5 15:41:36 2005
New Revision: 278877

URL: http://svn.apache.org/viewcvs?rev=278877&view=rev
Log:
Regenerated Axis2 site.

Added:
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/amazonQS/AmazonSimpleWebService_clip_image002.gif   (with props)
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSearch/screenShot3.JPG   (with props)
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/Google1.jpg   (with props)
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/GoogleSpellCheck.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/ModeMenu.JPG   (with props)
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/asyncScreen.JPG   (with props)
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/clearMenu.JPG   (with props)
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/helpMenu.JPG   (with props)
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/settingsMenu.JPG   (with props)
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/syncScreen.JPG   (with props)
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/readme.txt
    webservices/site/trunk/targets/axis2/multiproject/axis2-xml/junit-report.html

Added: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/amazonQS/AmazonSimpleWebService_clip_image002.gif
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/amazonQS/AmazonSimpleWebService_clip_image002.gif?rev=278877&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/amazonQS/AmazonSimpleWebService_clip_image002.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSearch/screenShot3.JPG
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSearch/screenShot3.JPG?rev=278877&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSearch/screenShot3.JPG
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/Google1.jpg
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/Google1.jpg?rev=278877&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/Google1.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/GoogleSpellCheck.html
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/GoogleSpellCheck.html?rev=278877&view=auto
==============================================================================
--- webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/GoogleSpellCheck.html (added)
+++ webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/GoogleSpellCheck.html Mon Sep  5 15:41:36 2005
@@ -0,0 +1,155 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>SOAP based Google Spell Checker</title>
+</head>
+
+<body>
+
+<h1>SOAP based Google Spell Checker</h1>
+
+<h2>Section 1 - Basic Operation</h2>
+<h3>Introduction</h3>
+<p>
+This sample explains in detail the semantics of the function calls of Axis 
+Client (Sync/Async) and how you can make use of the Google Web APIs spell 
+checking service (doSpellingSuggestion). 
+Spell suggestion requests submit a query to the service and receives in return a 
+suggested spell correction for the query (if available). Spelling requests are 
+subjected to the same query string limitations as any other search request. (The 
+input string is limited to 2048 bytes and 10 individual words.)<br>
+</p>
+<h3>Getting Started</h3>
+<p>
+In order to use the Google Web APIs you first must register with Google to receive 
+a license key. You can do this online at <a href="http://www.google.com/apis/">http://www.google.com/apis/</a> .&quot;Key&quot; 
+is the essential thing that is required for you to access the doSpellingSuggestion service. 
+However note that your key will have a limit of 1000 queries per day  . This key 
+can be used to build your own SOAP based clients as well. For further information 
+<a href="http://www.google.com/apis/">http://www.google.com/apis/</a>.</p>
+<p>
+The first and the easiest option is downloading the binary distribution 
+ which includes the compiled samples. Scripts are included for starting the 
+ program in either Windows or Unix.</p>
+ <p>Second option is to build the samples from source. This has to be done with 
+ Maven. All you have to do is go to Modules/Samples and type maven in the 
+ command prompt. This will compile and will build all the jars required and copy 
+ the necessary scripts as well. </p>
+ <p>Execute the necessary shell scripts / batch files to start the tool.</p>
+ <h3>Items of the UI</h3>
+ <p>The Async Mode screen is the default and would show up like this.</p>
+ <p><img border="0" src="asyncScreen.JPG" width="512" height="384"></p>
+ <p>If the Mode menu can be used to switch to the Sync Mode</p>
+ <p><img border="0" src="ModeMenu.JPG" width="190" height="175"></p>
+ <p>The Sync mode screen looks as follows</p>
+ <p><img border="0" src="syncScreen.JPG" width="512" height="384"></p>
+ <p>The Key can be set using the settings menu</p>
+ <p><img border="0" src="settingsMenu.JPG" width="186" height="112"></p>
+ <p>The text boxes can be cleared using the clear menu</p>
+ <p><img border="0" src="Google1.jpg" width="215" height="143"></p>
+ <p>Finally the help menu will pop up this help screen</p>
+ <p><img border="0" src="helpMenu.JPG" width="179" height="118"></p>
+ <p>
+<h3>Operations</h3></p>
+<p>
+Now you can start doing Google spell checker. Eventhough the tool uses the 
+default license key it is advisable to obtain a key of your own . If you have got your own license key, you can set it by 
+Set-&gt;key in the menu bar. First you should select the type of call (either sync or 
+async)&nbsp; from the menu bar. You can see that there are two 
+different GUIs for each call. Its because logic behind the two calls. When you 
+work with Sync Client you can type the word in the text field given and press 
+the send button to call Google . Suggested words will be displayed on the bottom&nbsp; text field. On the other hand ,the 
+async client behaves differently. You 
+can keep typing the words continuously on the text area and at each press of the enter or 
+the space key ,a request will be sent and the results will be displayed in few seconds in next text area.
+</p>
+<h2>
+Section 2 - Architecture and Advanced Operations</h2>
+<h3>Architecture of the code</h3>
+<p>
+Asynchronous Client and Synchronous Client build by the following classes.<br>
+<ol>
+<li>Suggesion Form-Building the GUI,call the Async Panel and Sync Panel</li>
+<li>FormModel-This is the class responsible of sending and receiving SOAP envelope callback</li>
+<li>Observer-interface</li>
+<li>AsyncPanel-Building its own GUI, update the receiving string, Handles Key events</li>
+<li>SyncPanel-Own GUI sending request according to the mouse click</ol>
+ <p></p>
+ <p>
+<br>
+The main method is inside the SuggessionForm class. It creates objects of 
+AsyncPanel and SyncPanel. setSyncPanel and setAsyncPanel method call to the GUI 
+to display the appropriate GUI. After that, the program is running according to 
+the selected (events fired by the GUI) call (Async/Sync) . KeyListner in the 
+AsyncPanel is listening to the characters typed in the text area and when it 
+detects a Space or Enter key press, it calls the doAsyncSpellingSuggestion 
+method and sends requests to the Google Web API. User can type continuously without any 
+interruption. When the response arrives the oncomplete method of the callback is 
+invoked which in turn updates the text area&nbsp; . In the response SOAP body, the suggested 
+text&nbsp; is returned. This is extracted and displayed on the text area. The 
+call to the Google web API from the Async Client is done by the </p>
+ <p>
+<br>
+<font face="Courier New">call.invokeNonBlocking(&quot;doGoogleSpellingSugg&quot;,requestElement,new 
+GoogleCallBack(word));</font></p>
+ <p>
+<br>
+axisop – is a string which caries the operation name. <br>
+toSend – is a Element that holds the request soap envelope. <br>
+callback – is a class that receives the response soap envelope. </p>
+ <p>
+<br>
+In non blocking API client, the client will not hang until the operation 
+completes ,on the other hand it needs a callback 
+mechanism to get the responses (if any) for a service invocation. To get this 
+response client has to register a call back with the SOAP engine. When the 
+response is received , SOAPEngine calls the onComplete(AsyncResult) of the 
+call back object.<br>
+<br>
+On the other hand with the SyncClient the main difference is after typing a word there 
+is a button to be pressed which sends a call to the Google Web API. This call is 
+done in a synchronized manner using the invokeBlocking(&quot;doGoogleSpellingSugg&quot;,requestElement) 
+statement.<br>
+<br>
+In a blocking client API , the client will keep blocking till it gets the 
+response (if any) from the service. This is the preferred method when invoking 
+web services that do not take long time to complete and the hanging in the 
+client side is negligible. This will be a huge drawback in the client side 
+performance, if the operation takes considerable amount of time where the 
+asynchronous capability will be useful.</p>
+ <p>
+&nbsp;The request SOAP message is built at the FormModel class. According to the 
+Google Web API WSDL file, required namespaces are selected and attached to the 
+envelope. We don't have to include anything in the header. The name of the first 
+child element of the body should be operation name and it should be 
+namespace qualified. We also have to include the binding namespace to this 
+element. Here, it is attached as an attribute to that element, </p>
+ <p>
+<br>
+<font face="Courier New">OMElement method = omfactory.createOMElement(&quot;doSpellingSuggestion&quot;, opN);<br>
+method.addAttribute(&quot;soapenv:encodingStyle&quot;,&quot;http://schemas.xmlsoap.org/soap/encoding/&quot;,null);</font><br>
+<br>
+You can find a sample SOAP response message from the toolkit that you download 
+from the Google Web API page. To get the suggested text first take the body of 
+the SOAP Envelop .In the SOAP Envelop there are two 
+elements(doSpellingSuggestionResponse, return) but we only want one of them that 
+is “return” element. Then acquire the text of the return “element”. That is the 
+“suggested string” from Google.!!<br>
+&nbsp;</p>
+ <p>
+<font face="Courier New">QName qName1 = new QName(&quot;urn:GoogleSearch&quot;, &quot;doSpellingSuggestionResponse&quot;);<br>
+QName qName2 = new QName(&quot;urn:GoogleSearch&quot;, &quot;return&quot;);<br>
+SOAPBody body = responseEnvelope.getBody(); <br>
+OMElement val = 
+body.getFirstChildWithName(qName1).getFirstChildWithName(qName2);<br>
+String sugestion = val.getText();</font><br>
+<br>
+&nbsp;</p>
+ </p>
+<hr/>
+
+</body>
+
+</html>
\ No newline at end of file

Added: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/ModeMenu.JPG
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/ModeMenu.JPG?rev=278877&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/ModeMenu.JPG
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/asyncScreen.JPG
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/asyncScreen.JPG?rev=278877&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/asyncScreen.JPG
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/clearMenu.JPG
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/clearMenu.JPG?rev=278877&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/clearMenu.JPG
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/helpMenu.JPG
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/helpMenu.JPG?rev=278877&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/helpMenu.JPG
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/settingsMenu.JPG
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/settingsMenu.JPG?rev=278877&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/settingsMenu.JPG
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/syncScreen.JPG
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/syncScreen.JPG?rev=278877&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/googleSpellcheck/syncScreen.JPG
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/readme.txt
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/readme.txt?rev=278877&view=auto
==============================================================================
--- webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/readme.txt (added)
+++ webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/readme.txt Mon Sep  5 15:41:36 2005
@@ -0,0 +1,6 @@
+----------------------------------------------------------------
+		Readme file for the sample
+----------------------------------------------------------------
+Further information about this sample is included in the docs folder
+Executing the batch file or the shell script will bringup the GUI
+Selecting the help menu from the GUI will also bring up the help
\ No newline at end of file