Author: supun
Date: Wed Jun 24 02:17:46 2009
New Revision: 39799
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=39799

Log:
Adding mediator guides

Added:
   branches/esb/java/2.1/product/docs/xdoc/mediator_guide.xml
   branches/esb/java/2.1/product/docs/xdoc/mediators/
   branches/esb/java/2.1/product/docs/xdoc/mediators/drop.xml
   branches/esb/java/2.1/product/docs/xdoc/mediators/event.xml
   branches/esb/java/2.1/product/docs/xdoc/mediators/filter.xml
   branches/esb/java/2.1/product/docs/xdoc/mediators/header.xml
   branches/esb/java/2.1/product/docs/xdoc/mediators/in-out.xml
   branches/esb/java/2.1/product/docs/xdoc/mediators/iterate.xml
   branches/esb/java/2.1/product/docs/xdoc/mediators/log.xml
   branches/esb/java/2.1/product/docs/xdoc/mediators/property.xml
   branches/esb/java/2.1/product/docs/xdoc/mediators/validate.xml
   branches/esb/java/2.1/product/docs/xdoc/sequence_editor.xml
Modified:
   branches/esb/java/2.1/product/docs/site.xml

Modified: branches/esb/java/2.1/product/docs/site.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/site.xml?rev=39799&r1=39798&r2=39799&view=diff
==============================================================================
--- branches/esb/java/2.1/product/docs/site.xml (original)
+++ branches/esb/java/2.1/product/docs/site.xml Wed Jun 24 02:17:46 2009
@@ -69,6 +69,8 @@
             <item name="Deployment Guide" href="deployment_guide.html"/>
             <item name="Extending ESB" href="extensions_guide.html"/>
             <item name="Configuration" href="configuration_language.html"/>
+          <item name="Sequence Editor" href="sequence_editor.html"/>
+          <item name="Mediator Guide" href="mediator_guide.html"/>
         </menu>
         <menu name="Samples">
             <item name="Samples Index" href="samples_index.html"/>

Added: branches/esb/java/2.1/product/docs/xdoc/mediator_guide.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/mediator_guide.xml?pathrev=39799
==============================================================================
--- (empty file)
+++ branches/esb/java/2.1/product/docs/xdoc/mediator_guide.xml  Wed Jun 24 
02:17:46 2009
@@ -0,0 +1,374 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+  ~  Copyright (c) 2005-2008, WSO2 Inc. (http://www.wso2.org) All Rights 
Reserved.
+  ~
+  ~  WSO2 Inc. licenses this file to you under the Apache License,
+  ~  Version 2.0 (the "License"); you may not use this file except
+  ~  in compliance with the License.
+  ~  You may obtain a copy of the License at
+  ~
+  ~    http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing,
+  ~  software distributed under the License is distributed on an
+  ~  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~  KIND, either express or implied.  See the License for the
+  ~  specific language governing permissions and limitations
+  ~  under the License.
+  ~
+  -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>WSO2 ESB - Mediator Guide </title>
+  <link href="css/esb-docs.css" rel="stylesheet" />
+  <link href="styles/dist-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body xml:lang="en">
+<h2>Mediator Guide </h2>
+
+<p>Message mediation is a fundamental part of any ESB. WSO2 ESB achieves
+message mediation through it's mediators. ESB comes with a rich set of 30 plus
+mediators to support the most common mediation functionalities as well as
+advanced functionalities.</p>
+
+<p>Built in mediator capabilities of ESB provide functionality to match
+incompatible protocols, data formats and interaction patterns across different
+resources. Data can be split, cloned, aggregated and enriched, allowing ESB to
+match the different capabilities of services. XQuery and XSLT allows rich
+transformations on the messages. Rule based message mediation allows user to
+cope with the uncertainty of business logic. Content based routing using XPath
+filtering is supported in different flavors, allowing users to get the most
+convenient configuration experience. Built in capability to handle transactions
+allows message mediation to be done transactionally inside the ESB. With the
+Eventing capabilities of ESB, EDA based components can be easily
+interconnected. With features like throttling and caching integrated in to the
+message mediation, powerful interconnections can be made, allowing ESB to be
+used in the front end of organizations SOA infrastructure.</p>
+
+<p>ESB mediation framework is designed from the ground up to be extensible.
+Everyday users write their own custom mediators to facilitate their custom
+requirements. </p>
+
+<p>Now let's briefly look at how the mediation framework works. </p>
+
+<h3>How mediators work</h3>
+
+<p>A mediator is a full powered processing unit in ESB. In run-time it has
+access to all the parts of ESB along with the current message. Usually a
+mediator is configured using XML. Different mediators have their own XML
+configurations. </p>
+
+<p>At the run-time a Message is injected in to the mediator with the ESB
+run-time information. Then this mediator can do virtually anything with the
+message. Here are some examples of mediator functionalities. </p>
+<ul>
+  <li>Drop Mediator : Drops a message, stopping further processing of the
+    message</li>
+  <li>Send Mediator : Send the message out, using information inside the
+    message or according to some external configuration</li>
+  <li>Script Mediator : Executes a scripting language with the message</li>
+  <li>Filter Mediator: Filter messages using XPath</li>
+  <li>XSLT Mediator: Do XSLT transformations on messages </li>
+</ul>
+
+<p>Wide range of usages of mediators is clear from the above few examples.</p>
+
+<p>Also mediators are considered as one of the main mechanisms for extending
+ESB. A user can write a mediator and put it in to ESB. This custom mediator and
+any other built in mediator will be exactly same from the API and the
+privileges.</p>
+
+<h3>Sequences</h3>
+
+<p>Sequence is a List Mediator of the ESB. That means it can hold other
+mediators and execute them. It is a part of the core of ESB and ESB message
+mediation cannot live without this mediator. When a message is delivered to a
+sequence, it sends the message through all it's child mediators.</p>
+
+<p>There are two types of sequences.</p>
+
+<h4>In-line Sequences</h4>
+
+<p>&lt;sequence name="string"&gt;other mediators&lt;/sequence&gt;</p>
+
+<p>In-line sequences has their child mediators defined inside the sequence
+itself.</p>
+
+<h4>Named Sequences</h4>
+
+<p>&lt;sequence key="name"/&gt;</p>
+
+<p>Named sequences refer other sequences using a key. This allows re-using of
+sequences.</p>
+
+<p>There are two predefined sequences. They are called "main" and "fault". If a
+user doesn't specify these two sequences in the configuration, default
+sequences will be created automatically.</p>
+
+<p>Here are the default configurations for main and fault</p>
+
+<p></p>
+
+<p>Main:</p>
+<pre xml:space="preserve">  &lt;syn:sequence name="main" 
xmlns:syn="http://ws.apache.org/ns/synapse"&gt;
+      &lt;syn:log/&gt;
+      &lt;syn:drop/&gt;
+  &lt;/syn:sequence&gt;</pre>
+
+<p>Fault:</p>
+<pre xml:space="preserve">  &lt;syn:sequence name="fault" 
xmlns:syn="http://ws.apache.org/ns/synapse"&gt;
+      &lt;syn:log level="full"&gt;
+      &lt;syn:property name="MESSAGE" value="Executing 
default&amp;quot;fault&amp;quot; sequence"/&gt;
+      &lt;syn:property name="ERROR_CODE" 
expression="get-property('ERROR_CODE')"/&gt;
+      &lt;syn:property name="ERROR_MESSAGE" 
expression="get-property('ERROR_MESSAGE')"/&gt;
+      &lt;/syn:log&gt;
+      &lt;syn:drop/&gt;
+  &lt;/syn:sequence&gt;
+  </pre>
+
+<p></p>
+
+<p>All the messages that are not for proxy services, will be sent through the
+Main Sequence.</p>
+
+<p>A sequence can have an error handler. Error handler is again another
+sequence. If an error occurs while executing a sequence, it's error handler
+will be called. Every sequence has an error handler. If one isn't explicitly
+specified, fault sequence will be treated as it's error handler.</p>
+
+<h4>How does a message comes to a mediator?</h4>
+
+<p>are two operational modes in the ESB. They are message mediation and proxy
+services. Message mediation is all about mediators. Proxy services can use
+message mediation as well.</p>
+
+<h4>Message Mediation</h4>
+
+<p>A message comes to the main sequence of the ESB if the message is not for
+any of the proxy services defined in the ESB.</p>
+
+<p>Then this message goes through each of the mediators inside the main
+sequence.</p>
+
+<p>If the message is sent to an Endpoint from the main sequence, response
+message will also comes to the main sequence.</p>
+
+<p>Response message will also go through every child mediator of main
+sequence</p>
+
+<p>If an error occurs in the main sequence, message will go through main
+sequence's fault sequence.</p>
+
+<h4>Proxy Services</h4>
+
+<p>Proxy service can have 3 sequences</p>
+<ol>
+  <li>In Sequence : A request message coming to a proxy service will go through
+    this sequence if the sequence is specified.</li>
+  <li>Out Sequence : A response message coming from the actual endpoint will go
+    through this sequence if the sequence is specified.</li>
+  <li>Fault Sequence : If an error occurs withing the proxy service operation,
+    message will go through this sequence</li>
+</ol>
+
+<p>As I have mentioned earlier, every sequence is a collection of mediators. A
+message delivered to a sequence will go through all its child mediators.</p>
+
+<p>Here is a brief description about built in mediators of WSO2 ESB. </p>
+
+<table border="1">
+  <thead>
+    <tr>
+      <td>Category </td>
+      <td>Name </td>
+      <td>Description </td>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>Core </td>
+      <td>
+        <a href="mediators/send.html">Send</a></td>
+      <td>Send a message out </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/log.html">Log</a> </td>
+      <td>Logs a message </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/property.html">Property</a> </td>
+      <td>Set or remove properties associated with the message </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>Sequence </td>
+      <td>Refer a sequence </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/event.html">Event</a></td>
+      <td>Send event notifications to an event source </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/drop.html">Drop</a> </td>
+      <td>Drops a message </td>
+    </tr>
+    <tr>
+      <td>Filter</td>
+      <td>
+        <a href="mediators/filter.html">Filter</a>
+      </td>
+      <td>Filter a messages using XPath, If else kind of logic </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/in-out.html">Out</a> </td>
+      <td>Inbuilt filter for choosing messages in ESB out path </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/in-out.html">In</a></td>
+      <td>Inbuilt filter for choosing messages in ESB in path </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/switch.html">Swith</a> </td>
+      <td>Filter messages using XPath, Switch logic </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/router.html">Router</a></td>
+      <td>Route messages based on XPath filtering </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/validate.html">Validate</a></td>
+      <td>Schema validation for messages </td>
+    </tr>
+    <tr>
+      <td>Transform </td>
+      <td>XSLT </td>
+      <td>XSLT transformations </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>XQuery </td>
+      <td>XQuey </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>Header </td>
+      <td>Sets or remove SOAP headers </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/fault.html">Fault</a> </td>
+      <td>Create SOAP Faults </td>
+    </tr>
+    <tr>
+      <td>Advanced </td>
+      <td>Cache </td>
+      <td>Evaluate messages based on weather the same message came to the ESB
+      </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/clone.html">Clone</a> </td>
+      <td>Clones a message </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>
+        <a href="mediators/iterate.html">Iterate</a> </td>
+      <td>Splits a message </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>Aggregate </td>
+      <td>Combines messages </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>Event </td>
+      <td>Publishes events to a given event source </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>Transaction </td>
+      <td>Executes a set of mediators transactionally </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>Throttle </td>
+      <td>Limit the number of messages </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>RMSequence </td>
+      <td>Reliable messaging </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>DBReport </td>
+      <td>Writes data to a database </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>DBLookup </td>
+      <td>Retrieve information from a database </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>Rule </td>
+      <td>Executes Rules </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>Entitlement </td>
+      <td>Fine grain authentication </td>
+    </tr>
+    <tr>
+      <td>Extension </td>
+      <td>Class </td>
+      <td>Create and execute a custom mediator</td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>POJOCommand </td>
+      <td>Executes a custom command </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>Script </td>
+      <td>Executes a mediator written in a Scripting language </td>
+    </tr>
+    <tr>
+      <td></td>
+      <td>Spring </td>
+      <td>Create a mediator managed by Spring </td>
+    </tr>
+  </tbody>
+</table>
+
+<p></p>
+</body>
+</html>

Added: branches/esb/java/2.1/product/docs/xdoc/mediators/drop.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/mediators/drop.xml?pathrev=39799
==============================================================================
--- (empty file)
+++ branches/esb/java/2.1/product/docs/xdoc/mediators/drop.xml  Wed Jun 24 
02:17:46 2009
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>WSO2 ESB - Send Mediator </title>
+  <link href="css/esb-docs.css" rel="stylesheet" />
+  <link href="styles/dist-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body>
+<h2>Drop Mediator</h2>
+
+<p>Drop mediator stops the processing of the current message. </p>
+
+<h3>Syntax</h3>
+<pre xml:space="preserve"> &lt;drop/&gt;</pre>
+
+<h3>UI Configuration</h3>
+
+<p>none.</p>
+
+<h3>Usage Scenario</h3>
+<pre xml:space="preserve">&lt;definitions 
xmlns="http://ws.apache.org/ns/synapse"&gt;    
+    &lt;filter source="get-property('To')" regex=".*/StockQuote.*"&gt;
+        &lt;send&gt;
+            &lt;endpoint&gt;
+                &lt;address 
uri="http://localhost:9000/services/SimpleStockQuoteService"/&gt;
+            &lt;/endpoint&gt;
+        &lt;/send&gt;
+        &lt;drop/&gt;
+    &lt;/filter&gt;
+    &lt;send/&gt;
+&lt;/definitions&gt; </pre>
+
+<p>In this scenario message is dropped after it is sent to the end point. This
+will prevent message being sent twice from the in-path.</p>
+</body>
+</html>

Added: branches/esb/java/2.1/product/docs/xdoc/mediators/event.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/mediators/event.xml?pathrev=39799
==============================================================================
--- (empty file)
+++ branches/esb/java/2.1/product/docs/xdoc/mediators/event.xml Wed Jun 24 
02:17:46 2009
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>WSO2 ESB - Drop Mediator </title>
+  <link href="css/esb-docs.css" rel="stylesheet" />
+  <link href="styles/dist-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body>
+<h2>Event Mediator</h2>
+
+<p>Event mediator publishes events to the given event source. Thus, the
+presence of defined event sources are necessary prior to the usage of this
+mediator. User can apply any mediation before sending the message to the event
+source. This allows features like transformation, logging, filtering to be
+applied to a message coming to an Event Source. </p>
+
+<h3>Syntax</h3>
+<pre xml:space="preserve"> &lt;syn:eventPublisher 
eventSourceName="event-source-name"/&gt;</pre>
+
+<h3>UI Configuration</h3>
+
+<p><img src="../event-mediator/docs/images/event_mediator_screenshot.jpg"
+alt="" /> </p>
+<ul>
+  <li>Event Source: Select a source from currently available event sources. You
+    can define event sources from the "Event Sources" panel which can be
+    accessed from Configure-&gt; Event Sources menu of the right hand side menu
+    bar. </li>
+</ul>
+
+<h3>Usage Scenario</h3>
+<pre xml:space="preserve">&lt;!-- Simple Eventing configuration --&gt;
+ &lt;definitions xmlns="http://ws.apache.org/ns/synapse"&gt;
+      &lt;eventSource name="SampleEventSource"&gt;
+            &lt;subscriptionManager 
class="org.apache.synapse.eventing.managers.DefaultInMemorySubscriptionManager"&gt;
+                &lt;property name="topicHeaderName" value="Topic"/&gt;
+                &lt;property name="topicHeaderNS" 
value="http://apache.org/aip"/&gt;
+            &lt;/subscriptionManager&gt;
+      &lt;/eventSource&gt;
+
+     &lt;sequence name="PublicEventSource" &gt;
+            &lt;log level="full"/&gt;
+            &lt;eventPublisher eventSourceName="SampleEventSource"/&gt;
+     &lt;/sequence&gt;
+
+     &lt;proxy name="EventingProxy"&gt;
+         &lt;target inSequence="PublicEventSource" /&gt;
+     &lt;/proxy&gt;
+ &lt;/definitions&gt;</pre>
+
+<p>In this scenarion user has defined an event source called SampleEventSource.
+When a event notification comes to the EventingProxy proxy service, the
+messages will be logged and then sent to the event source. </p>
+</body>
+</html>

Added: branches/esb/java/2.1/product/docs/xdoc/mediators/filter.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/mediators/filter.xml?pathrev=39799
==============================================================================
--- (empty file)
+++ branches/esb/java/2.1/product/docs/xdoc/mediators/filter.xml        Wed Jun 
24 02:17:46 2009
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>WSO2 ESB - Filter Mediator </title>
+  <link href="css/esb-docs.css" rel="stylesheet" />
+  <link href="styles/dist-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body>
+<h2>Filter Mediator</h2>
+
+<p>Filter mediator can be used for XPath filtering of messages. There are two
+modes of operation.</p>
+<ol>
+  <li>If user only specifies the XPath it will be evaluated for true or
+  false.</li>
+  <li>If user specifies a regular expression as well, the string returned from
+    evaluating the xpath will be matched against the regular expression.</li>
+</ol>
+
+<p>In both modes if evaluation of expression returns true child mediators will
+be executed.</p>
+
+<p>Filter mediator closely resembalse the If/else control structure.</p>
+
+<h3>Syntax</h3>
+<pre xml:space="preserve"> &lt;filter (source="xpath" regex="string") | 
xpath="xpath"&gt;
+   mediator+
+ &lt;/filter&gt;</pre>
+
+<p>The &lt;filter&gt; mediator either test the given xpath expression as a
+Boolean expression, or match the evaluation result of a source xpath expression
+as a String against the given regular expression. If the test succeeds, the
+filter mediator will execute the enclosed mediators in sequence. </p>
+
+<p>One could also use this mediator to handle the failure case as well, in
+which case the configuration would be as follows </p>
+<pre xml:space="preserve"> &lt;filter (source="xpath" regex="string") | 
xpath="xpath"&gt;
+   &lt;then [sequence="string"]&gt;
+     mediator+
+   &lt;/then&gt;
+   &lt;else [sequence="string"]&gt;
+     mediator+
+   &lt;/else&gt;
+ &lt;/filter&gt;</pre>
+
+<p>In this case the filter condition remains as earlier and the succeeded
+messages will be mediated using the the set of mediators enclosed in the 'then'
+element in sequence, while failed messages will be mediated using the set of
+mediators enclosed in the else element in sequence</p>
+
+<h3>UI Configuration</h3>
+
+<p><img src="../filter-mediator/docs/images/filter_mediator_screenshot.jpg"
+alt="" /> </p>
+
+<p>Here are the configuration options related to Filter Mediator. </p>
+<ul>
+  <li>Specify As: Specify whether you give the condition as an XPath or a
+    Regular expression. </li>
+  <li>XPath: XPath expression if you selected the "Specify As" option to
+    "XPath". Note that you can define the namespaces used in the xpath by
+    clicking the "Namespaces" link </li>
+  <li>Source: XPath expression to locate the value which is going match with
+    the reguilar expression that you can define below. </li>
+  <li>Regex: Regular expression to match with the source value. </li>
+</ul>
+
+<h3>Usage Scenario</h3>
+<pre xml:space="preserve">  &lt;filter source="get-property('To')" 
regex=".*/StockQuote.*"&gt;
+      &lt;then&gt;
+          &lt;send/&gt;                    
+      &lt;/then&gt;
+      &lt;else&gt;
+          &lt;drop/&gt;
+      &lt;/else&gt;
+  &lt;/filter&gt;     </pre>
+
+<p>In this example, filter will get the To header value and match it against
+the given regular expression. If this evaluation returns true, it will send the
+message. If the evaluation returns false it will drop the message.</p>
+</body>
+</html>

Added: branches/esb/java/2.1/product/docs/xdoc/mediators/header.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/mediators/header.xml?pathrev=39799
==============================================================================
--- (empty file)
+++ branches/esb/java/2.1/product/docs/xdoc/mediators/header.xml        Wed Jun 
24 02:17:46 2009
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>WSO2 ESB - Header Mediator </title>
+  <link href="css/esb-docs.css" rel="stylesheet" />
+  <link href="styles/dist-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body>
+<h2>Header Mediator</h2>
+
+<p>The header mediator sets or removes a specified header from the current soap
+info-set. At the moment set header only supports simple valued headers. </p>
+
+<h3>Syntax</h3>
+<pre xml:space="preserve"> &lt;header name="qname" (value="literal" | 
expression="xpath") [action="set"]/&gt;
+ &lt;header name="qname" action="remove"/&gt;</pre>
+
+<p>The optional action attribute specifies whether the mediator should set or
+remove the header. If omitted, it defaults to a set-header.</p>
+
+<h3>UI Configuration</h3>
+
+<p><img alt=""
+src="../header-mediator/docs/images/header_mediator_screenshot.jpg" /> </p>
+
+<p><strong>Figure1: Header Mediator</strong> </p>
+
+<p>Here are the option you have in configuring the header mediator. </p>
+<ul>
+  <li>Name: Name of the header element, You can declare the namespace used in
+    the header element by clicking the Namespace link right to the text field.
+  </li>
+  <li>Action: (Set/Remove), Specify whether you want to remove this header from
+    the incomming message or set a new header, Default to Set. </li>
+  <li>Value/Expression: A static value or an xpath expression that will be
+    executed on the message to set the header value. </li>
+</ul>
+
+<h3>Example</h3>
+
+<p></p>
+</body>
+</html>

Added: branches/esb/java/2.1/product/docs/xdoc/mediators/in-out.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/mediators/in-out.xml?pathrev=39799
==============================================================================
--- (empty file)
+++ branches/esb/java/2.1/product/docs/xdoc/mediators/in-out.xml        Wed Jun 
24 02:17:46 2009
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>WSO2 ESB - In/Out Mediators </title>
+  <link href="css/esb-docs.css" rel="stylesheet" />
+  <link href="styles/dist-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body>
+<h2>In/Out Mediators</h2>
+
+<p>These mediators act as predefined filters. Messages which are in the in path
+of the ESB will traverse through the child mediators of the in mediator.
+Messages which are in the out path of ESB will traverse through the child
+mediators of out mediator.</p>
+
+<h3>Syntax</h3>
+
+<p>In</p>
+<pre xml:space="preserve">  &lt;in&gt;
+      mediator+
+  &lt;/in&gt;
+  </pre>
+
+<p>Out</p>
+<pre xml:space="preserve">  &lt;out&gt;
+      mediator+
+  &lt;/out&gt;
+  </pre>
+
+<h3>UI Configuration</h3>
+
+<p>None.</p>
+
+<h3>Usage Scenario</h3>
+<pre xml:space="preserve">  &lt;syn:sequence name="main" 
xmlns:syn="http://ws.apache.org/ns/synapse"&gt;
+      &lt;syn:in&gt;
+          &lt;syn:log level="full"/&gt;
+          &lt;syn:filter source="get-property('To')" 
regex="http://localhost:9000.*"&gt;
+              &lt;syn:send/&gt;
+          &lt;/syn:filter&gt;
+      &lt;/syn:in&gt;
+      &lt;syn:out&gt;
+          &lt;syn:send/&gt;
+      &lt;/syn:out&gt;
+  &lt;/syn:sequence&gt;</pre>
+
+<p>Main sequence with in and out mediators. Messages coming to the ESB will be
+sent using wsa:to address and responses will be sent back to the requester. 
</p>
+
+<h3>Remarks</h3>
+
+<p>These mediators are pointless to be used in proxy service sequences. Proxy
+services has predefined sequences for in messages and out message. </p>
+</body>
+</html>

Added: branches/esb/java/2.1/product/docs/xdoc/mediators/iterate.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/mediators/iterate.xml?pathrev=39799
==============================================================================
--- (empty file)
+++ branches/esb/java/2.1/product/docs/xdoc/mediators/iterate.xml       Wed Jun 
24 02:17:46 2009
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>WSO2 ESB - Iterate Mediator </title>
+  <link href="css/esb-docs.css" rel="stylesheet" />
+  <link href="styles/dist-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body>
+<h2>Iterate Mediator</h2>
+
+<p>The iterate mediator implements another EIP and will split the message into
+number of different messages derived from the parent message by finding
+matching elements for the XPath expression specified. New messages will be
+created for each and every matching element and processed in parallel using
+either the specified sequence or endpoint. Parent message can be continued or
+dropped in the same way as in the clone mediator. The 'preservePayload'
+attribute specifies if the original message should be used as a template when
+creating the splitted messages, and defaults to 'false', in which case the
+splitted messages would contain the split elements as the SOAP body. </p>
+
+<h3>Syntax</h3>
+<pre xml:space="preserve"> &lt;iterate [continueParent=(true | false)] 
[preservePayload=(true | false)] (attachPath="xpath")? expression="xpath"&gt;
+   &lt;target [to="uri"] [soapAction="qname"] [sequence="sequence_ref"] 
[endpoint="endpoint_ref"]&gt;
+     &lt;sequence&gt;
+       (mediator)+
+     &lt;/sequence&gt;?
+     &lt;endpoint&gt;
+       endpoint
+     &lt;/endpoint&gt;?
+   &lt;/target&gt;+
+ &lt;/iterate&gt;</pre>
+
+<h3>UI Configuration</h3>
+
+<p><img src="../iterate-mediator/docs/images/iterate_mediator_screenshot.jpg"
+alt="" /> </p>
+
+<p><strong>Figure1: Iterate Mediator</strong> </p>
+
+<p>Iterate Mediator can be configured with the following options. </p>
+<ul>
+  <li>Continue Parent: (True/False), Specify whether the original message
+    should be continued or dropped, this is default to 'false'. </li>
+  <li>Preserve Payload: (True/False), Specify whether the original message
+    should be used as a template when creating the splitted messages or not,
+    this is default to 'false'. </li>
+  <li>Iterate Expression: Xpath expression that matches the elements which you
+    want to split the message from. You can specify the namespaces that you
+    used in the xpath expression by clicking the namespace link in the right
+    hand side. </li>
+  <li>Attach Path: (Optional), You can specify an xpath expression for elements
+    that the splitted elements (as expressed in Iterate expression) are
+    attached to, to form new messages </li>
+</ul>
+
+<p>For more information about target please refer Target.</p>
+
+<p></p>
+</body>
+</html>

Added: branches/esb/java/2.1/product/docs/xdoc/mediators/log.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/mediators/log.xml?pathrev=39799
==============================================================================
--- (empty file)
+++ branches/esb/java/2.1/product/docs/xdoc/mediators/log.xml   Wed Jun 24 
02:17:46 2009
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>WSO2 ESB - Log Mediator </title>
+  <link href="css/esb-docs.css" rel="stylesheet" />
+  <link href="styles/dist-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body>
+<h2>Log Mediator</h2>
+
+<p>With the log mediator, you can log messages being mediated. </p>
+
+<p>Log mediator has four log levels</p>
+<ol>
+  <li>simple = To, From, WSAction, SOAPAction, ReplyTo, MessageID and any
+    properties</li>
+  <li>headers = All SOAP header blocks and any properties</li>
+  <li>full = all attributes included in log level 'simple' and the SOAP
+    envelope and any properties</li>
+  <li>custom = Only properties specified to the Log mediator</li>
+</ol>
+
+<p>A separator if defined will be used to separate the attributes being logged.
+The default separator is the ',' comma</p>
+
+<p>With properties, user can choose any other attributes that they want to log.
+Imagine there is an element carrying the transaction id in the SOAP body. User
+can use a XPath expression to extract out this transaction id element and log
+it using the log mediator. It is possible to define several such properties to
+be logged.</p>
+
+<p>If properties are specified with any of the first three log levels, custom
+properties will be logged along with the default ones.</p>
+
+<h3>Syntax</h3>
+<pre xml:space="preserve"> &lt;log [level="string"] [separator="string"]&gt;
+   &lt;property name="string" (value="literal" | expression="xpath")/&gt;*
+ &lt;/log&gt;</pre>
+
+<h3>UI Configuration</h3>
+
+<p><img alt="Log Mediator"
+src="../log-mediator/docs/images/log_mediator_screenshot.jpg" /> </p>
+
+<p><strong>Figure1: Log Mediator</strong> </p>
+
+<h4>Log Level</h4>
+
+<p>You can select the log level to be one of following values. </p>
+<ul>
+  <li>Simple: To, From, WSAction, SOAPAction, ReplyTo, MessageID and any
+    properties</li>
+  <li>Headers: All SOAP header blocks and any properties</li>
+  <li>Full: All attributes included in log level 'simple' and the SOAP envelope
+    and any properties</li>
+  <li>Custom: Only properties specified to the Log mediator</li>
+</ul>
+
+<h4>Log Separator</h4>
+
+<p>The log separator is used to separate the attributes being logged. The
+default separator is ',' (comma). </p>
+
+<h4>Adding Properties</h4>
+
+<p>You can add custom messages to log as the messages mediate thorough the log
+mediator. </p>
+
+<p><img alt="Log Mediator Properties"
+src="../log-mediator/docs/images/log_mediator_properties_screenshot.jpg" /> 
</p>
+
+<p><strong>Figure2: Log Mediator Properties</strong> </p>
+<ul>
+  <li>Property Name: Name for the property </li>
+  <li>Property Value: The type of the property value, possible candidates are
+    Value/Expression 
+    <ul>
+      <li>Value - A static text message </li>
+      <li>Expression - An xpath expression executed on each mediating message
+      </li>
+    </ul>
+  </li>
+  <li>Value: The text or an expression you want to log </li>
+  <li>NSEditor: You can click this link to add namespaces if you are providing
+    an expression. You will be provided another panel named 'Namespace Editor'
+    where you can provide any number of namespace prefixes and url that you
+    have used in the xpath expression. Here is an example of the use of
+    namespaces in an expression. </li>
+  <li>Action: Delete the property </li>
+</ul>
+
+<h3>Usage Scenario</h3>
+
+<p></p>
+</body>
+</html>

Added: branches/esb/java/2.1/product/docs/xdoc/mediators/property.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/mediators/property.xml?pathrev=39799
==============================================================================
--- (empty file)
+++ branches/esb/java/2.1/product/docs/xdoc/mediators/property.xml      Wed Jun 
24 02:17:46 2009
@@ -0,0 +1,302 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>WSO2 ESB - Property Mediator </title>
+  <link href="css/esb-docs.css" rel="stylesheet" />
+  <link href="styles/dist-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body>
+<h2>Property Mediator</h2>
+
+<p>Properties are name value pairs. Properties are a way to convey information
+across different processing units. For example user may need to set a transport
+property from the message mediation. Or user may need to remove a property
+which is set by the transport. This mediator sets or removes properties for a
+particular message.</p>
+
+<p>Property mediator has no direct impact on the message but rather on the
+message context flowing through Synapse. The properties set on a message can be
+later retrieved through the synapse:get-property(prop-name) XPath extension
+function. If a scope is specified for a property, the property could be set as
+a transport header property or an (underlying) Axis2 message context property,
+or as a Axis2 client option. If a scope is not specified, it will default to
+the Synapse message context scope. Using the property element with action
+specified as "remove" you can remove any existing message context properties.
+</p>
+
+<p>There are some well-defined properties that you can get/set on the Synapse
+message context scope:</p>
+
+<p></p>
+
+<table border="1" style="width: 100%">
+  <caption></caption>
+  <col />
+  <col />
+  <col />
+  <tbody>
+    <tr>
+      <td>Name</td>
+      <td>Values</td>
+      <td>Meaning</td>
+    </tr>
+    <tr>
+      <td>RESPONSE</td>
+      <td>true</td>
+      <td>'true' means the message is to be marked as a response message</td>
+    </tr>
+    <tr>
+      <td>OUT_ONLY</td>
+      <td>true</td>
+      <td>'true' means the message is to be marked as an out-only message that
+        does not expect a response</td>
+    </tr>
+    <tr>
+      <td>ERROR_CODE</td>
+      <td>String</td>
+      <td>this is set to any error message code encountered during a fault</td>
+    </tr>
+    <tr>
+      <td>ERROR_MESSAGE</td>
+      <td>String</td>
+      <td>this is set to any error message text encountered during a fault</td>
+    </tr>
+    <tr>
+      <td>ERROR_DETAIL</td>
+      <td>String</td>
+      <td>this is set to any error message detail text encountered during a
+        fault</td>
+    </tr>
+    <tr>
+      <td>ERROR_EXCEPTION</td>
+      <td>String</td>
+      <td>this is set to any Java Exception encountered during a fault</td>
+    </tr>
+  </tbody>
+</table>
+
+<p></p>
+
+<p>There are some Axis2 and module properties that are useful which are set at
+scope="axis2"</p>
+
+<table border="1" style="width: 100%">
+  <caption></caption>
+  <col />
+  <col />
+  <col />
+  <tbody>
+    <tr>
+      <td>Name</td>
+      <td>Values</td>
+      <td>Meaning</td>
+    </tr>
+    <tr>
+      <td>MercurySequenceKey</td>
+      <td>integer</td>
+      <td>can be an identifier specifying an Mercury internal sequence key,
+      and</td>
+    </tr>
+    <tr>
+      <td>MercuryLastMessage</td>
+      <td>true</td>
+      <td>'true' will make this the last message and terminate the 
sequence</td>
+    </tr>
+  </tbody>
+</table>
+
+<p></p>
+
+<p>There are some Axis2 client side properties/options that are useful which
+are set at scope="axis2-client"</p>
+
+<table border="1" style="width: 100%">
+  <caption></caption>
+  <col />
+  <col />
+  <col />
+  <tbody>
+    <tr>
+      <td>Name</td>
+      <td>Values</td>
+      <td>Meaning</td>
+    </tr>
+    <tr>
+      <td>FORCE_HTTP_1.0</td>
+      <td>true</td>
+      <td>forces outgoing http/s messages to use HTTP 1.0 (instead of the
+        default 1.1)</td>
+    </tr>
+  </tbody>
+</table>
+
+<p></p>
+
+<p><code><strong>The synapse:get-property() XPath extension
+function</strong></code></p>
+
+<p>The get-property() function allows any XPath expression used in a
+configuration to look-up information from the current message context. It is
+possible to retrieve properties previously set with the property mediator,
+and/or information from the Synapse or Axis2 message contexts or transport
+header. The function accepts the scope as an optional parameter as shown
+below:</p>
+
+<p>synapse:get-property( [(axis2 | axis2-client | transport),]
+&lt;property_name&gt; [,&lt;dateformat&gt;] ) </p>
+
+<p></p>
+
+<p>Some useful properties from the Synapse message context follows:</p>
+
+<table border="1" style="width: 100%">
+  <caption></caption>
+  <col />
+  <col />
+  <tbody>
+    <tr>
+      <td>Name</td>
+      <td>Meaning</td>
+    </tr>
+    <tr>
+      <td>SYSTEM_DATE </td>
+      <td>Returns the current date as a String. Optionally a date format as per
+        standard date format may be supplied. e.g.
+        synapse:get-property("SYSTEM_DATE", "yyyy.MM.dd G 'at' HH:mm:ss z") or
+        get-property('SYSTEM_DATE')</td>
+    </tr>
+    <tr>
+      <td>SYSTEM_TIME </td>
+      <td>Returns the current time in milliseconds. (i.e. the difference,
+        measured in milliseconds, between the current time and midnight,
+        January 1, 1970 UTC)</td>
+    </tr>
+    <tr>
+      <td>To, From, Action, FaultTo, ReplyTo, MessageID</td>
+      <td>the message To and Action and WS-Addressing propertie</td>
+    </tr>
+    <tr>
+      <td>MESSAGE_FORMAT</td>
+      <td>returns the message format - i.e. returns pox, get, soap11 or
+      soap12</td>
+    </tr>
+    <tr>
+      <td>OperationName</td>
+      <td>returns the operation name for the message</td>
+    </tr>
+  </tbody>
+</table>
+
+<p></p>
+
+<p>In addition to the above, one may use the get-property() function to
+retrieve Axis2 message context properties or transport headers. e.g.
+synapse:get-property('transport', 'USER_AGENT')</p>
+
+<p></p>
+
+<p><strong>SynapseXpath variables</strong></p>
+
+<p>There are a set of predefined XPath variables when writing XPaths in the
+Synapse Configuration. Those are as follows;</p>
+
+<table border="1" style="width: 100%">
+  <caption></caption>
+  <col />
+  <col />
+  <tbody>
+    <tr>
+      <td>Name</td>
+      <td>Meaning</td>
+    </tr>
+    <tr>
+      <td>body</td>
+      <td>The SOAP 1.1 or 1.2 body element For example;
+        expression="$body/getQuote" refers to the first getQuote element in the
+        SOAP body regardless of whether the message is SOAP-11 or SOAP-12</td>
+    </tr>
+    <tr>
+      <td>header</td>
+      <td>The SOAP 1.1 or 1.2 header element For example;
+        expression="$header/wsa:To" refers to the addressing To header
+        regardless of whether this message is SOAP-11 or SOAP-12Further there
+        are some variable prefixes defined in Synapse XPaths which can be
+        usefull in writing the configurations;</td>
+    </tr>
+    <tr>
+      <td>ctx</td>
+      <td>Prefix for Synapse MessageContext properties For example;
+        expression="$ctx:RESPONSE" gives the value of the Synapse message
+        context property with name 'RESPONSE'</td>
+    </tr>
+    <tr>
+      <td>axis2</td>
+      <td>Prefix for Axis2 MessageContext properties For example;
+        expression="$axis2:messageType" gives the value of the axis2 message
+        context property with name 'messageType'</td>
+    </tr>
+    <tr>
+      <td>trp</td>
+      <td>Prefix for the transport headers For example;
+        expression="$trp:Content-Type" gives the value of the 'Content-Type'
+        transport header, which is going to be the Content-Type of the current
+        message </td>
+    </tr>
+  </tbody>
+</table>
+
+<p></p>
+
+<h3>Syntax</h3>
+<pre xml:space="preserve"> &lt;property name="string" [action=set|remove] 
(value="literal" | expression="xpath") 
[scope=transport|axis2|axis2-client]/&gt;</pre>
+
+<p></p>
+
+<h3>UI Configuration</h3>
+
+<p><img src="../property-mediator/docs/images/property_mediator_screenshot.jpg"
+alt="" /> </p>
+
+<p><strong>Property Mediator Screenshot</strong> </p>
+
+<p>You have the following configuration under the property mediator. </p>
+<ul>
+  <li>Name: A name for the property. You can return the value of the property
+    by calling get-property(property-name) xpath extension function. </li>
+  <li>Action: The action to do. Possible values are 
+    <ul>
+      <li>Add: Add a new property </li>
+      <li>Remove: Remove the property with the given name </li>
+    </ul>
+  </li>
+  <li>Set Action As: Specify which type of value to store. Possible values are 
+    <ul>
+      <li>Value : A static text value </li>
+      <li>Expression: XPath expression to evaluate 
+        <p>If there are any namespaces involved in the XPath expression, you
+        can specify it in the Namespace Editor. </p>
+        <img src="../property-mediator/docs/images/namespaces_screenshot.jpg"
+        alt="" /> 
+        <p><strong>Namespace Editor Screenshot</strong> </p>
+      </li>
+    </ul>
+  </li>
+  <li>Scope : Specify the scope the property is valid. Possible values are 
+    <ul>
+      <li>Synapse </li>
+      <li>Transport </li>
+      <li>Axis2 </li>
+    </ul>
+  </li>
+</ul>
+
+<h3>Usage Scenario</h3>
+
+<p></p>
+</body>
+</html>

Added: branches/esb/java/2.1/product/docs/xdoc/mediators/validate.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/mediators/validate.xml?pathrev=39799
==============================================================================
--- (empty file)
+++ branches/esb/java/2.1/product/docs/xdoc/mediators/validate.xml      Wed Jun 
24 02:17:46 2009
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>WSO2 ESB - Validate Mediator </title>
+  <link href="css/esb-docs.css" rel="stylesheet" />
+  <link href="styles/dist-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body>
+<h2>Validate Mediator</h2>
+
+<p>This mediator is used for schema validation of messages. </p>
+
+<p>The portion of the message that needs to be validated is chooses by
+evaluating the XPath expression. Then this message is validated against the
+schema spcecified. User can specify a sequence to be executed in case of a
+validation failure. This mediator provide an extension point by providing
+properties to configure the underline validation engine.</p>
+
+<h3>Syntax</h3>
+<pre xml:space="preserve"> &lt;validate [source="xpath"]&gt;
+   &lt;property name="validation-feature-id" value="true|false"/&gt;*
+   &lt;schema key="string"/&gt;+
+   &lt;on-fail&gt;
+     mediator+
+   &lt;/on-fail&gt;
+ &lt;/validate&gt;</pre>
+
+<p></p>
+
+<p>The validate mediator validates the result of the evaluation of the source
+xpath expression, against the schema specified. If the source attribute is not
+specified, the validation is performed against the first child of the SOAP body
+of the current message. If the validation fails, the on-fail sequence of
+mediators is executed. Properties could be used to turn on/off some of the
+underlying features of the validator (See
+http://xerces.apache.org/xerces2-j/features.html) </p>
+
+<h3>UI Configuration</h3>
+
+<p><img alt="Validate Mediator" 
src="../validate-mediator/docs/images/validate.png" /> </p>
+
+<h4>Key</h4>
+
+<p>Schema location</p>
+
+<h4>Source</h4>
+
+<p>XPath expression to extract the XML that need to be validated. If not
+specified validation is performed against the first child of the SOAP body</p>
+
+<h4>Features</h4>
+
+<p>Various features of the validator,
+http://xerces.apache.org/xerces2-j/features.html</p>
+
+<h4>Target</h4>
+
+<p>Please refer the Target documentation</p>
+
+<h3>Example</h3>
+</body>
+</html>

Added: branches/esb/java/2.1/product/docs/xdoc/sequence_editor.xml
URL: 
http://wso2.org/svn/browse/wso2/branches/esb/java/2.1/product/docs/xdoc/sequence_editor.xml?pathrev=39799
==============================================================================
--- (empty file)
+++ branches/esb/java/2.1/product/docs/xdoc/sequence_editor.xml Wed Jun 24 
02:17:46 2009
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+  ~  Copyright (c) 2005-2008, WSO2 Inc. (http://www.wso2.org) All Rights 
Reserved.
+  ~
+  ~  WSO2 Inc. licenses this file to you under the Apache License,
+  ~  Version 2.0 (the "License"); you may not use this file except
+  ~  in compliance with the License.
+  ~  You may obtain a copy of the License at
+  ~
+  ~    http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~  Unless required by applicable law or agreed to in writing,
+  ~  software distributed under the License is distributed on an
+  ~  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~  KIND, either express or implied.  See the License for the
+  ~  specific language governing permissions and limitations
+  ~  under the License.
+  ~
+  -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>WSO2 ESB - Sequence Editor </title>
+  <link href="css/esb-docs.css" rel="stylesheet" />
+  <link href="styles/dist-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body xml:lang="en">
+<h2>Sequence Editor</h2>
+
+<p>A sequence is the basis of message mediation. A sequence is a collection of
+mediators. Sequence editor allows creation of sequences from the UI. Sequences
+can be created as named sequences and refer later from other parts of ESB
+configuration. Some configurations expects sequences to be defined in the place
+they are used. We call this type of sequences inline sequences. Sequence editor
+is used in both these cases for creating a sequence. </p>
+
+<p>Sequence List </p>
+
+<p>Use the <span style="font-style: italic; font-weight: bold;">Mediation
+Sequences</span> page to add new sequences or edit existing sequences. As shown
+in Figure,1 the sequence management section displays a list of existing
+sequences. </p>
+
+<p></p>
+
+<p><img src="sequences/docs/images/sequence-list.png" alt="" /> </p>
+
+<p>Figure 1: Mediation sequence management</p>
+
+<p></p>
+
+<p>In the navigator, under Manage/Mediation, click <span
+style="font-weight: bold;">Sequences</span>. The <em><span
+style="font-weight: bold; font-style: italic;">Mediation Sequences</span></em>
+page appears. </p>
+<ul>
+  <li>Enable Statistics 
+    <ul>
+      <li>Click <span style="font-weight: bold;">Enable Statistics</span> to
+        gather information relating to a particular sequence. </li>
+    </ul>
+  </li>
+  <li>Enable Tracing 
+    <ul>
+      <li>Click <span style="font-weight: bold;">Enable Tracing</span> to turn
+        on all trace messages for the corresponding sequence </li>
+    </ul>
+  </li>
+</ul>
+
+<p>The above options are turned off by default because they cause a severe
+performance degradation. Use these options only in a situation where you have
+to debug a particular problem. </p>
+<ul>
+  <li>Edit 
+    <ul>
+      <li>Click <span style="font-weight: bold;">Edit</span> to open the
+        sequence in the design view for editing purposes. </li>
+    </ul>
+  </li>
+  <li>Delete 
+    <ul>
+      <li>Click <span style="font-weight: bold;">Delete</span> to remove a
+        particular sequence from the system. </li>
+    </ul>
+  </li>
+</ul>
+
+<p></p>
+
+<h3>Adding a Sequence</h3>
+<ol>
+  <li style="color: black;">On the <span
+    style="font-weight: bold; font-style: italic;">Mediation Sequences</span>
+    page, click <span style="font-weight: bold;">Add Sequence</span>. The <span
+    style="font-style: italic; font-weight: bold;">Design Sequence</span> page
+    appears. </li>
+  <li style="color: black;">Enter a sequence name.</li>
+  <li><span style="color: black;">Click </span> <span
+    style="font-weight: bold; color: black;">Add Child</span> <span
+    style="color: black;">, and select the required nodes for your
+    sequence.</span> </li>
+</ol>
+
+<p><img src="sequences/docs/images/add-sequence.png" alt="" /> </p>
+
+<p>Figure 2: Add sequence design view</p>
+
+<h3>Editing a sequence</h3>
+<ol>
+  <li>On the <span style="font-weight: bold; font-style: italic;">Mediation
+    Sequences</span> page, click <span style="font-weight: bold;">Edit.</span>
+    The <span style="font-style: italic; font-weight: bold;">Design
+    Sequence</span> page appears, displaying the selected sequence. </li>
+  <li><span style="color: black;">Click on the node you want edit. The
+    properties for that node will be displayed below. </span> </li>
+</ol>
+
+<p><img src="sequences/docs/images/edit-sequence.png" alt="" /> </p>
+
+<p>Figure 3: Editing a sequence</p>
+
+<p><img src="sequences/docs/images/node-editor.png" alt="" /> </p>
+
+<p>Figure 4: Editing node specific properties</p>
+<ul>
+  <li>You can edit the node specific attributes displayed in the Design view.
+  </li>
+  <li>You can add a sibling node, in the Design view..</li>
+  <li>You can add only siblings to some nodes, while you can also add a child
+    node to others. </li>
+  <li>You can move the selected node up or down using the arrow icons.</li>
+  <li>You can also delete the node.</li>
+</ul>
+
+<p>Click <span style="font-weight: bold;">switch to source view</span> to view
+the XML of the particular sequence. If you're familiar with the Synapse
+configuration language you can edit the XML directly. After editing you can
+save the sequences by clicking the save button. If you click on <strong>swith
+to design view</strong> source will be saved before going to the graphical
+view.</p>
+
+<p></p>
+
+<p><img src="sequences/docs/images/sequence-source.png" alt="Sequence source 
view" /> </p>
+
+<p>Figure 5: Source view of the sequence editor </p>
+</body>
+</html>

_______________________________________________
Esb-java-dev mailing list
[email protected]
https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev

Reply via email to