Author: hiranya
Date: Thu Dec  2 00:26:49 2010
New Revision: 1041226

URL: http://svn.apache.org/viewvc?rev=1041226&view=rev
Log:
Sample 153, 154, 155


Modified:
    synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples.xml
    
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample153.xml
    
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample154.xml
    
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample155.xml

Modified: 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples.xml?rev=1041226&r1=1041225&r2=1041226&view=diff
==============================================================================
--- synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples.xml 
(original)
+++ synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples.xml 
Thu Dec  2 00:26:49 2010
@@ -83,9 +83,9 @@
                         <li><a href="samples/sample150.html">Sample 150: 
Introduction to proxy services</a></li>
                         <li><a href="samples/sample151.html">Sample 151: 
Custom sequences and endpoints with proxy services</a></li>
                         <li><a href="samples/sample152.html">Sample 152: 
Switching transports and message format from SOAP to REST/POX</a></li>
-                        <li><a href="">Sample 153: Routing the messages 
arrived to a proxy service without processing the security headers</a></li>
-                        <li><a href="">Sample 154: Load Balancing with proxy 
services</a></li>
-                        <li><a href="">Sample 155: Dual channel invocation on 
both client side and server side of Synapse with proxy services</a></li>
+                        <li><a href="samples/sample153.html">Sample 153: 
Routing the messages without processing the security headers</a></li>
+                        <li><a href="samples/sample154.html">Sample 154: Load 
Balancing with proxy services</a></li>
+                        <li><a href="samples/sample155.html">Sample 155: Dual 
channel invocation on client side and server side</a></li>
                     </ul>
                 </p>
             </subsection>

Modified: 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample153.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample153.xml?rev=1041226&r1=1041225&r2=1041226&view=diff
==============================================================================
--- 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample153.xml
 (original)
+++ 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample153.xml
 Thu Dec  2 00:26:49 2010
@@ -23,7 +23,7 @@
         <title>Apache Synapse - Sample 153</title>
     </properties>
     <body>
-        <section name="Sample 153: ">
+        <section name="Sample 153: Routing the Messages without Processing the 
Security Headers">
             <div class="xmlConf">&lt;definitions 
xmlns="http://ws.apache.org/ns/synapse"&gt;
 
     &lt;proxy name="StockQuoteProxy"&gt;
@@ -46,14 +46,19 @@
 &lt;/definitions&gt;</div>
             <subsection name="Objective">
                 <p>
-
+                    Demonstrate the ability of Synapse to pass SOAP messages 
through without removing
+                    already processed headers
                 </p>
             </subsection>
             <subsection name="Pre-requisites">
                 <p>
                     <ul>
                         <li>
-                            Deploy the SimpleStockQuoteService in the sample 
Axis2 server and start Axis2
+                            Download and install the Java Cryptography 
Extension (JCE) unlimited
+                            strength policy files for your JDK
+                        </li>
+                        <li>
+                            Deploy the SecureStockQuoteService in the sample 
Axis2 server and start Axis2
                         </li>
                         <li>
                             Start Synapse using the configuration numbered 153 
(repository/conf/sample/synapse_sample_153.xml)
@@ -66,11 +71,32 @@
                 </p>
             </subsection>
             <subsection name="Executing the Client">
-                <div class="command">ant stockquote 
-Daddurl=http://localhost:9000/services/SimpleStockQuoteService 
-Dtrpurl=http://localhost:8280/</div>
-
-                <div class="consoleOutput">Sat Nov 18 21:01:23 IST 2006 
SimpleStockQuoteService :: Generating quote for : IBM</div>
-
-                <div class="consoleOutput">Standard :: Stock price = 
$95.26454380258552</div>
+                <p>
+                    In this sample the proxy service will receive secured 
messages with security
+                    headers which are flagged 'MustUnderstand'. But since the 
element 'enableSec'
+                    is not present in the proxy configuration, Synapse will 
not engage Apache Rampart
+                    on this proxy service. It is expected that a 
MustUnderstand failure exception
+                    on the AxisEngine would occur before the message arrives 
at mediation engine.
+                    But Synapse handles this message and gets it through by 
setting all the
+                    MustUnderstand headers which are not processed as 
processed. This will enable
+                    Synapse to route the messages without reading the Security 
headers (just routing
+                    the messages from client to service, both of which are 
secured). To execute the 
+                    client, send a stock quote request to the proxy service, 
and sign and encrypt
+                    the request by specifying the client side security policy 
as follows:
+                </p>
+                <div class="command">ant stockquote 
-Dtrpurl=http://localhost:8280/services/StockQuoteProxy 
-Dpolicy=./../../repository/conf/sample/resources/policy/client_policy_3.xml</div>
+                <p>
+                    By following through the debug logs or TCPMon output, you 
can see that the
+                    request received by the proxy service was signed and 
encrypted. Also, looking
+                    up the WSDL of the proxy service by requesting the URL 
http://localhost:8280/services/StockQuoteProxy?wsdl
+                    reveals that the security policy attachments are not there 
and security is not engaged.
+                    When sending the message to the backend service, you can 
verify that the security 
+                    headers were there as in the original message to Synapse 
from client, and that
+                    the response received does use WS-Security, and forwarded 
back to the client
+                    without any modification. You should note that this won't 
be a security hole
+                    because the message inside Synapse is signed and encrypted 
and can only be
+                    forwarded to a secure service.
+                </p>
             </subsection>
         </section>
         <p><a href="../samples.html">Back to Catalog</a></p>        

Modified: 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample154.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample154.xml?rev=1041226&r1=1041225&r2=1041226&view=diff
==============================================================================
--- 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample154.xml
 (original)
+++ 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample154.xml
 Thu Dec  2 00:26:49 2010
@@ -23,7 +23,7 @@
         <title>Apache Synapse - Sample 154</title>
     </properties>
     <body>
-        <section name="Sample 154: ">
+        <section name="Sample 154: Load Balancing with Proxy Services">
             <div class="xmlConf">&lt;definitions 
xmlns="http://ws.apache.org/ns/synapse"&gt;
 
     &lt;proxy name="LBProxy" transports="http" startOnLoad="true"&gt;
@@ -74,14 +74,21 @@
 &lt;/definitions&gt;</div>
             <subsection name="Objective">
                 <p>
-
+                    Demonstrate how to use a proxy service as a load balancer
                 </p>
             </subsection>
             <subsection name="Pre-requisites">
                 <p>
                     <ul>
                         <li>
-                            Deploy the SimpleStockQuoteService in the sample 
Axis2 server and start Axis2
+                            Deploy the LoadbalanceFailoverService in the 
sample Axis2 server (go to
+                            samples/axis2Server/src/LoadbalanceFailoverService 
and run 'ant')
+                        </li>
+                        <li>
+                            Start 3 instances of the Axis2 server on different 
ports as follows
+                            <div class="command">./axis2server.sh -http 9001 
-https 9005 -name MyServer1<br/>
+./axis2server.sh -http 9002 -https 9006 -name MyServer2<br/>
+./axis2server.sh -http 9003 -https 9007 -name MyServer3</div>
                         </li>
                         <li>
                             Start Synapse using the configuration numbered 154 
(repository/conf/sample/synapse_sample_154.xml)
@@ -94,11 +101,33 @@
                 </p>
             </subsection>
             <subsection name="Executing the Client">
-                <div class="command">ant stockquote 
-Daddurl=http://localhost:9000/services/SimpleStockQuoteService 
-Dtrpurl=http://localhost:8280/</div>
-
-                <div class="consoleOutput">Sat Nov 18 21:01:23 IST 2006 
SimpleStockQuoteService :: Generating quote for : IBM</div>
-
-                <div class="consoleOutput">Standard :: Stock price = 
$95.26454380258552</div>
+                <p>
+                    This sample is similar to <a href="sample54.html">sample 
54</a>. The only
+                    notable difference is the use of a proxy service.
+                </p>
+                <p>
+                    Execute the client as follows.
+                </p>
+                <div class="command">ant loadbalancefailover -Dmode=session 
-Dtrpurl=http://localhost:8280/services/LBProxy</div>
+                <p>
+                    You will get an output similar to the following.
+                </p>
+                <div class="consoleOutput">[java] Request: 1 Session number: 1 
Response from server: MyServer3
+[java] Request: 2 Session number: 2 Response from server: MyServer2
+[java] Request: 3 Session number: 0 Response from server: MyServer1
+[java] Request: 4 Session number: 2 Response from server: MyServer2
+[java] Request: 5 Session number: 1 Response from server: MyServer3
+[java] Request: 6 Session number: 2 Response from server: MyServer2
+[java] Request: 7 Session number: 2 Response from server: MyServer2
+[java] Request: 8 Session number: 1 Response from server: MyServer3
+[java] Request: 9 Session number: 0 Response from server: MyServer1
+[java] Request: 10 Session number: 0 Response from server: MyServer1
+... </div>
+                <p>
+                    You can see that session ID 0 is always directed to the 
server named MyServer1.
+                    That means session ID 0 is bound to MyServer1. Similarly 
session 1 and 2 are bound
+                    to MyServer3 and MyServer2 respectively.
+                </p>
             </subsection>
         </section>
         <p><a href="../samples.html">Back to Catalog</a></p>        

Modified: 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample155.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample155.xml?rev=1041226&r1=1041225&r2=1041226&view=diff
==============================================================================
--- 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample155.xml
 (original)
+++ 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample155.xml
 Thu Dec  2 00:26:49 2010
@@ -23,7 +23,7 @@
         <title>Apache Synapse - Sample 155</title>
     </properties>
     <body>
-        <section name="Sample 155: ">
+        <section name="Sample 155: Dual Channel Invocation on Client Side and 
Server Side">
             <div class="xmlConf">&lt;definitions 
xmlns="http://ws.apache.org/ns/synapse"&gt;
 
     &lt;proxy name="StockQuoteProxy"&gt;
@@ -43,7 +43,9 @@
 &lt;/definitions&gt;</div>
             <subsection name="Objective">
                 <p>
-
+                    <a href="sample13.html">Sample 13</a> show cased how to 
perform dual channel
+                    invocations on the client side. This sample demonstrates 
how to perform dual
+                    channel invocations on both client side and server side, 
using proxy services.
                 </p>
             </subsection>
             <subsection name="Pre-requisites">
@@ -63,11 +65,31 @@
                 </p>
             </subsection>
             <subsection name="Executing the Client">
-                <div class="command">ant stockquote 
-Daddurl=http://localhost:9000/services/SimpleStockQuoteService 
-Dtrpurl=http://localhost:8280/</div>
-
-                <div class="consoleOutput">Sat Nov 18 21:01:23 IST 2006 
SimpleStockQuoteService :: Generating quote for : IBM</div>
-
-                <div class="consoleOutput">Standard :: Stock price = 
$95.26454380258552</div>
+                <p>
+                    This sample will show the action of the dual channel 
invocation between client
+                    and Synapse as well as between Synapse and the Axis2 
server. Note that if you
+                    want to enable dual channel invocation you need to set the 
separateListener
+                    attribute to true on the enableAddressing element of the 
endpoint.
+                </p>
+                <p>
+                    Execute the stock quote client in the dual channel mode as 
follows:
+                </p>
+                <div class="command">ant stockquote 
-Daddurl=http://localhost:8280/services/StockQuoteProxy -Dmode=dualquote</div>
+                <p>
+                    In the above example, the request received is forwarded to 
the sample service
+                    hosted on Axis2 and the endpoint specifies to enable 
addressing and do the
+                    invocation in dual channel mode. If you observe the 
message flow using TCPmon,
+                    you will see that on the channel you send the request to 
Synapse, the response has 
+                    been written as HTTP 202 Accepted, where as the real 
response from Synapse
+                    comes over a different channel which cannot be obsesrved 
unless you use tcpdump
+                    to dump all the TCP level messages.
+                </p>
+                <p>
+                    At the same time you can observe the behaviour of the 
invocation between Synapse
+                    and the actual Axis2 service, where you can see a 202 
Accepted message being
+                    delivered to Synapse as the response to the request. The 
actual response will be
+                    delivered to Synapse over a different channel.
+                </p>                
             </subsection>
         </section>
         <p><a href="../samples.html">Back to Catalog</a></p>        


Reply via email to