axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ruchi...@apache.org
Subject svn commit: r399816 - /webservices/axis2/trunk/java/modules/samples/xdocs/amazonSearch/AmazonSearch.htm
Date Thu, 04 May 2006 18:48:03 GMT
Author: ruchithf
Date: Thu May  4 11:48:01 2006
New Revision: 399816

URL: http://svn.apache.org/viewcvs?rev=399816&view=rev
Log:
Fixing typos

Modified:
    webservices/axis2/trunk/java/modules/samples/xdocs/amazonSearch/AmazonSearch.htm

Modified: webservices/axis2/trunk/java/modules/samples/xdocs/amazonSearch/AmazonSearch.htm
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/samples/xdocs/amazonSearch/AmazonSearch.htm?rev=399816&r1=399815&r2=399816&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/samples/xdocs/amazonSearch/AmazonSearch.htm (original)
+++ webservices/axis2/trunk/java/modules/samples/xdocs/amazonSearch/AmazonSearch.htm Thu May
 4 11:48:01 2006
@@ -30,7 +30,7 @@
 <p><img src="untitled.JPG" width="550" height="384"></p>
 <p>The main method is inside the AsynchronousClient class. First it objects of LinkFollower
and GUIHandler and set them as threads. Later you will understand why do we need those. Then
the main program calls to the GUIHandler to display the GUI. After that, the program is running
according to the events fired by the GUI. KeyListner is listening to the characters typed
in the textField. When it detects a space or Enter key pressing, it sets the flag “doSearch”.
Then a thread will soon detect it and reset it and send a request to search for that word.
It don't use much time to send a request, but here it's done by a separate thread because
it's important to isolate the GUI from internal actions. Then the user never gets interrupted
in anyway. So the user can type the query terms continuously on the GUI while the program
do the search for the query terms that already typed by the user and displays the results.
</p>
 <p>The use of the other thread comes when the user click on a hyperlink. Then the program
should open the URL in a new window. That consumes little bit time. So a separate thread is
used for that. That's how we need that LinkFollower object as a Thead. </p>
-<p>Now we have two threads, one is for prepairing and sending the soap request without
interrupting the user and other is to open new windows for clicked urls. But there is another
important action. That is processing the received response and displaying the results. That
is done in the ClientCallbackHandler. This is a important feture of InvokeNonBlocking operation
of Axis2. It let you to have an additional thread in the callbackHandler class. All you have
to do is sending an object of that class as a parameter when you send the message. How it
is done in the programme is as follows. </p>
+<p>Now we have two threads, one is for preparing and sending the soap request without
interrupting the user and other is to open new windows for clicked urls. But there is another
important action. That is processing the received response and displaying the results. That
is done in the ClientCallbackHandler. This is a important feature of InvokeNonBlocking operation
of Axis2. It let you to have an additional thread in the callbackHandler class. All you have
to do is sending an object of that class as a parameter when you send the message. How it
is done in the programme is as follows. </p>
 <p><code>call.invokeNonBlocking(opdesc, requestContext, new ClientEchoCallbackHandler());
</code></p>
 <p><code><dfn>opDesc – is a QName which caries the operation name and
relevant namespace. </dfn></code></p>
 <p><dfn><code>requestContext – is a MessageContext that holds the request
soap envelope. </code></dfn></p>
@@ -55,7 +55,7 @@
 &lt;/tns:Search&gt;<br>
 &lt;/soapenv:Body&gt;<br>
 &lt;/soapenv:Envelope&gt;</samp></p>
-<p>ClientCallbackHandler processing response soap and extract elements which have the
local name as &quot;NavigableURL&quot;. It has to work with Object Model(OM). You
can notice that it uses several Iteraters to go through the children of an OMElement. You
are returned and Object from the Iterater that can be casted to a OMNode. Since you can't
call for the children of an OMNode we have to cast it to a OMElement. Before that we have
to check it whether it is an OMElement, as follows. </p>
+<p>ClientCallbackHandler processing response soap and extract elements which have the
local name as &quot;NavigableURL&quot;. It has to work with Object Model(OM). You
can notice that it uses several Iterators to go through the children of an OMElement. You
are returned and Object from the Iterator that can be casted to a OMNode. Since you can't
call for the children of an OMNode we have to cast it to a OMElement. Before that we have
to check it whether it is an OMElement, as follows. </p>
 <p><code>Iterator iterator0 = axisOperation.getChildren(); </code></p>
 <p><code>while (iterator0.hasNext()) { </code></p>
 <p><code>OMNode node = (OMNode) iterator0.next(); </code></p>



Mime
View raw message