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> ."Key"
+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->key in the menu bar. First you should select the type of call (either sync or
+async) 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 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 . In the response SOAP body, the suggested
+text 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("doGoogleSpellingSugg",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("doGoogleSpellingSugg",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>
+ 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("doSpellingSuggestion", opN);<br>
+method.addAttribute("soapenv:encodingStyle","http://schemas.xmlsoap.org/soap/encoding/",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>
+ </p>
+ <p>
+<font face="Courier New">QName qName1 = new QName("urn:GoogleSearch", "doSpellingSuggestionResponse");<br>
+QName qName2 = new QName("urn:GoogleSearch", "return");<br>
+SOAPBody body = responseEnvelope.getBody(); <br>
+OMElement val =
+body.getFirstChildWithName(qName1).getFirstChildWithName(qName2);<br>
+String sugestion = val.getText();</font><br>
+<br>
+ </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