Author: hiranya
Date: Thu Dec 30 06:02:22 2010
New Revision: 1053804

URL: http://svn.apache.org/viewvc?rev=1053804&view=rev
Log:
URL rewrite mediator, spring mediator

Modified:
    synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples.xml
    
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample450.xml
    
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample451.xml
    
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample452.xml
    
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample460.xml
    
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample500.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=1053804&r1=1053803&r2=1053804&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 30 06:02:22 2010
@@ -191,9 +191,15 @@
                 <h4>URL Rewrite Mediator</h4>
                 <p>
                     <ul>
-                        <li><a href="#Sample450">Sample 450: Introduction to 
the URL Rewrite mediator</a></li>
-                        <li><a href="#Sample451">Sample 451: Conditional URL 
rewriting</a></li>
-                        <li><a href="#Sample452">Sample 452: Conditional URL 
rewriting with multiple rules</a></li>                        
+                        <li><a href="samples/sample450.html">Sample 450: 
Introduction to the URL Rewrite mediator</a></li>
+                        <li><a href="samples/sample451.html">Sample 451: 
Conditional URL rewriting</a></li>
+                        <li><a href="samples/sample452.html">Sample 452: 
Conditional URL rewriting with multiple rules</a></li>                        
+                    </ul>
+                </p>
+                <h4>Spring Mediator</h4>
+                <p>
+                    <ul>
+                        <li><a href="samples/sample460.html">Sample 460: 
Introduction to the Spring mediator</a></li>
                     </ul>
                 </p>
             </subsection>

Modified: 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample450.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample450.xml?rev=1053804&r1=1053803&r2=1053804&view=diff
==============================================================================
--- 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample450.xml
 (original)
+++ 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample450.xml
 Thu Dec 30 06:02:22 2010
@@ -23,7 +23,7 @@
         <title>Apache Synapse - Sample 450</title>
     </properties>
     <body>
-        <section name="Sample 450: ">
+        <section name="Sample 450: Introduction to the URL Rewrite Mediator">
             <div class="xmlConf">&lt;definitions 
xmlns="http://ws.apache.org/ns/synapse"&gt;
 
     &lt;sequence name="main"&gt;
@@ -43,7 +43,7 @@
 &lt;/definitions&gt;</div>
             <subsection name="Objective">
                 <p>
-
+                    Demonstrate the basic functions of the URL rewrite mediator
                 </p>
             </subsection>
             <subsection name="Pre-requisites">
@@ -63,11 +63,24 @@
                 </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>
+                    URL rewrite mediator can be used to modify the 'To' header 
of a request based on
+                    one or more user defined URL rewrite rules. A rewrite rule 
could be a
+                    plain rewrite instruction or a conditional instruction. In 
this sample we use a
+                    plain, unconidtional rewrite rule which simply replaces 
the string 'soap' with
+                    'services' in the 'To' header.
+                </p>
+                <p>
+                    Invoke the sample client as follows to try this out.
+                </p>
+                <div class="command">ant stockquote 
-Dtrpurl=http://localhost:8280 
-Daddurl=http://localhost:9000/soap/SimpleStockQuoteService</div>
+                <p>
+                    Note that the address URL of the client request contains 
the context 'soap'. But
+                    in the Axis2 server all the services are deployed under a 
context named 'services'
+                    by default. Synapse will rewrite the To header of the 
request by replacing the
+                    'soap' context with 'services. Hence the request will be 
delivered to the Axis2
+                    server and the Axis2 client will receive a valid response.
+                </p>                
             </subsection>
         </section>
         <p><a href="../samples.html">Back to Catalog</a></p>        

Modified: 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample451.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample451.xml?rev=1053804&r1=1053803&r2=1053804&view=diff
==============================================================================
--- 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample451.xml
 (original)
+++ 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample451.xml
 Thu Dec 30 06:02:22 2010
@@ -23,7 +23,7 @@
         <title>Apache Synapse - Sample 451</title>
     </properties>
     <body>
-        <section name="Sample 451: ">
+        <section name="Sample 451: Conditional URL Rewriting">
             <div class="xmlConf">&lt;definitions 
xmlns="http://ws.apache.org/ns/synapse"&gt;
 
     &lt;sequence name="main"&gt;
@@ -52,7 +52,8 @@
 &lt;/definitions&gt;</div>
             <subsection name="Objective">
                 <p>
-
+                    Demonstrate the ability of the URL rewrite mediator to 
evaluate conditions on
+                    messages and perform rewrites based on the results         
                               
                 </p>
             </subsection>
             <subsection name="Pre-requisites">
@@ -72,11 +73,25 @@
                 </p>
             </subsection>
             <subsection name="Executing the Client">
+                <p>
+                    Invoke the Axis2 client and send some requests to Synapse 
with different address
+                    URL values. If the address URL value contains 'localhost' 
as the hostname and 'https'
+                    as the protocol prefix, Synapse will route the message as 
it is. But if the
+                    hostname is 'localhost' and the protocol is not https, 
Synapse will rewrite the
+                    URL by setting 'https' as the protocol. The port number 
will also be set to the
+                    HTTPS port of the Axis2 server.
+                </p>
+                <p>
+                    If you invoke the client as follows, Synapse will rewrite 
the 'To' header and
+                    forward the message to Axis2 over HTTPS.
+                </p>
                 <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>
+                    The condition evaluation feature is provided by the 
Synapse evaluator framework.
+                    Currently one can evaluate expressions on URL values, 
query parameters, transport
+                    headers, properties and SOAP envelope content using this 
framework. Hence URL
+                    rewriting can be done based on any of these aspects.
+                </p>                
             </subsection>
         </section>
         <p><a href="../samples.html">Back to Catalog</a></p>        

Modified: 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample452.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample452.xml?rev=1053804&r1=1053803&r2=1053804&view=diff
==============================================================================
--- 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample452.xml
 (original)
+++ 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample452.xml
 Thu Dec 30 06:02:22 2010
@@ -23,7 +23,7 @@
         <title>Apache Synapse - Sample 452</title>
     </properties>
     <body>
-        <section name="Sample 452: ">
+        <section name="Sample 452: Conditional URL Rewriting with Multiple 
Rules">
             <div class="xmlConf">&lt;definitions 
xmlns="http://ws.apache.org/ns/synapse"&gt;
 
     &lt;sequence name="main"&gt;
@@ -59,7 +59,8 @@
 &lt;/definitions&gt;</div>
             <subsection name="Objective">
                 <p>
-
+                    Demonstrate the ability of the URL rewrite mediator to 
perform rewrites based
+                    on multiple rules
                 </p>
             </subsection>
             <subsection name="Pre-requisites">
@@ -79,11 +80,25 @@
                 </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>
+                    One may specify multiple rewrite rules for a URL rewrite 
mediator instance. In
+                    that case Synapse will execute all the rules on each 
message, in the order they
+                    appear. This particular sample lists 3 rewrite rules. To 
try it out, invoke the
+                    client as follows.
+                </p>
+                <div class="command">ant stockquote 
-Dtrpurl=http://localhost:8280 
-Daddurl=http://test.com/SimpleStockQuoteService</div>
+                <p>
+                    The provided address URL does not contain a port number 
and the context. The URL
+                    rewrite mediator will replace the hostname (test.com) with 
'localhost' and add the
+                    context '/services' to the path. Then it will add the 
appropriate port number to
+                    the URL by looking at the protocol prefix. Ultimately the 
service request will be
+                    routed the sample Axis2 server and the client will receive 
a valid response.
+                </p>
+                <p>
+                    Another important aspect shown by this sample is the 
ability of the URL rewirte
+                    mediator to obtain the necessary values by executing XPath 
expressions. The port
+                    numbers are calculated by executing an XPath on the 
messages.
+                </p>
             </subsection>
         </section>
         <p><a href="../samples.html">Back to Catalog</a></p>        

Modified: 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample460.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample460.xml?rev=1053804&r1=1053803&r2=1053804&view=diff
==============================================================================
--- 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample460.xml
 (original)
+++ 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample460.xml
 Thu Dec 30 06:02:22 2010
@@ -23,7 +23,7 @@
         <title>Apache Synapse - Sample 460</title>
     </properties>
     <body>
-        <section name="Sample 460: ">
+        <section name="Sample 460: Introduction to the Spring Mediator">
             <div class="xmlConf">&lt;definitions 
xmlns="http://ws.apache.org/ns/synapse"&gt;
 
     &lt;registry 
provider="org.apache.synapse.registry.url.SimpleURLRegistry"&gt;
@@ -39,9 +39,26 @@
     &lt;/sequence&gt;
 
 &lt;/definitions&gt;</div>
+            <p>
+                This sample configuration loads an external SpringBean from a 
file named
+                springCustomLogger.xml. Contents of this file are as follows.
+            </p>
+            <div class="xmlConf">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;!DOCTYPE beans PUBLIC  "-//SPRING//DTD BEAN//EN"
+    "http://www.springframework.org/dtd/spring-beans.dtd"&gt;
+
+&lt;beans&gt;
+
+   &lt;bean id="springtest" 
class="samples.mediators.extentions.SpringCustomLogger" singleton="false"&gt;
+          &lt;property name="userName"&gt;&lt;value&gt;"Synapse 
User"&lt;/value&gt;&lt;/property&gt;
+          &lt;property 
name="email"&gt;&lt;value&gt;"[email protected]"&lt;/value&gt;&lt;/property&gt;
+   &lt;/bean&gt;
+
+&lt;/beans&gt;</div>
+            
             <subsection name="Objective">
                 <p>
-
+                    Demonstrate how to initialize and use a SpringBean as a 
mediator
                 </p>
             </subsection>
             <subsection name="Pre-requisites">
@@ -61,11 +78,25 @@
                 </p>
             </subsection>
             <subsection name="Executing the Client">
+                <p>
+                    In this sample, the Spring Bean named 'SpringCustomLogger' 
gets loaded from the
+                    springCustomLogger.xml file and then it is used to log the 
message ID of each
+                    message being mediated. To see it in action, invoke the 
sample client as follows.
+                </p>
                 <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>
+                    If you have enabled logging for the samples.mediators 
package in the log4j.properties
+                    file, you will see an output similar to the following, on 
the console.
+                </p>
+                <div class="consoleOutput">2010-09-26 20:46:57,946 [-] 
[HttpServerWorker-1]  INFO SpringCustomLogger Starting Spring Meditor
+2010-09-26 20:46:57,946 [-] [HttpServerWorker-1]  INFO SpringCustomLogger Bean 
in Initialized with User:["Synapse User"]
+2010-09-26 20:46:57,946 [-] [HttpServerWorker-1]  INFO SpringCustomLogger 
E-MAIL:["[email protected]"]
+2010-09-26 20:46:57,946 [-] [HttpServerWorker-1]  INFO SpringCustomLogger 
Massage Id:  urn:uuid:383FA8B27D7CC549D91285514217720
+2010-09-26 20:46:57,946 [-] [HttpServerWorker-1]  INFO SpringCustomLogger 
Logged....</div>
+                <p>
+                    Similarly you can import any SpringBean into the Synapse 
runtime using the
+                    spring mediator, and use Spring to execute mediation rules.
+                </p>
             </subsection>
         </section>
         <p><a href="../samples.html">Back to Catalog</a></p>        

Modified: 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample500.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample500.xml?rev=1053804&r1=1053803&r2=1053804&view=diff
==============================================================================
--- 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample500.xml
 (original)
+++ 
synapse/trunk/scratch/hiranya/website/src/site/xdoc/userguide/samples/sample500.xml
 Thu Dec 30 06:02:22 2010
@@ -23,7 +23,7 @@
         <title>Apache Synapse - Sample 500</title>
     </properties>
     <body>
-        <section name="Sample 500: ">
+        <section name="Sample 500: Simple Eventing Sample">
             <div class="xmlConf">&lt;definitions 
xmlns="http://ws.apache.org/ns/synapse"&gt;
 
     &lt;eventSource name="SampleEventSource"&gt;
@@ -49,7 +49,7 @@
 &lt;/definitions&gt;</div>
             <subsection name="Objective">
                 <p>
-
+                    Demonstrate the use of the Eventing functionality built 
into Synapse
                 </p>
             </subsection>
             <subsection name="Pre-requisites">
@@ -69,11 +69,53 @@
                 </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 an event source is creted based on the 
provided configuration. Event
+                    subscriber subscribes for the events, Event sender 
publishes events and the
+                    SimpleStockQuoteService acts as the Event Sink.
+                </p>
+                <p>
+                    First, invoke the sample client (Subscriber) as follows.
+                </p>
+                <div class="command">ant eventsubscriber</div>
+                <p>
+                    This will create a new subscription with the 
SimpleStockQuoteService deployed on
+                    the sample Axis2 server acting as the sink. Whenever a new 
event is published,
+                    SimpleStockQuoteService will receive a message with that 
event. You should see a
+                    message like this on the client console confirming the 
subscription.
+                </p>
+                <div class="consoleOutput">[java] Subscription identifier: 
urn:uuid:6989F66706E73C69F5259116575749162017010321</div>
+                <p>
+                    You will need this identifier to modify the subscription 
in the next steps. Now,
+                    invoke the client (Sender) as follows.
+                </p>
+                <div class="command">ant eventsender</div>
+                <p>
+                    This will send a placeOrder request to the EventingProxy. 
You should see a
+                    message in the Synapse logs. Note the presence of the 
following SOAP header
+                    in the request.
+                </p>
+                <div class="consoleOutput">&lt;aip:Topic 
xmlns:aip="http://apache.org/aip";>synapse/event/test&lt;/aip:Topic></div>
+                <p>
+                    Since there is a single subscription with 
SimpleStockQuoteService as the sink,
+                    Synapse will send the message to the sample Axis2 server 
and you should see the
+                    following message in its logs:
+                </p>
+                <div class="consoleOutput">Accepted order for : 1000 stocks of 
GOOG at $ 10.1</div>
+                <p>
+                    You can also send various other WS-Eventing messages from 
the sample client to
+                    modify the subscription details. To get the current status 
of the subscription,
+                    invoke the client as follows.
+                </p>
+                <div class="command">ant eventsubscriber -Dmode=getstatus 
-Didentifier=<i>&lt;identifier></i></div>
+                <p>
+                    To renew the subscription, invoke the client as follows.
+                </p>
+                <div class="command">ant eventsubscriber -Dmode=renew 
-Didentifier=<i>&lt;identifier></i> 
-Dexpires=2012-12-31T21:07:00.000-08:00</div>
+                <p>
+                    Finally, in order to unsubscribe, use the following 
command.
+                </p>
+                <div class="command">ant eventsubscriber -Dmode=unsubscribe 
-Didentifier=<i>&lt;identifier></i></div>
             </subsection>
         </section>
         <p><a href="../samples.html">Back to Catalog</a></p>        


Reply via email to