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><sequence name="string">other mediators</sequence></p> + +<p>In-line sequences has their child mediators defined inside the sequence +itself.</p> + +<h4>Named Sequences</h4> + +<p><sequence key="name"/></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"> <syn:sequence name="main" xmlns:syn="http://ws.apache.org/ns/synapse"> + <syn:log/> + <syn:drop/> + </syn:sequence></pre> + +<p>Fault:</p> +<pre xml:space="preserve"> <syn:sequence name="fault" xmlns:syn="http://ws.apache.org/ns/synapse"> + <syn:log level="full"> + <syn:property name="MESSAGE" value="Executing default&quot;fault&quot; sequence"/> + <syn:property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/> + <syn:property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/> + </syn:log> + <syn:drop/> + </syn:sequence> + </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"> <drop/></pre> + +<h3>UI Configuration</h3> + +<p>none.</p> + +<h3>Usage Scenario</h3> +<pre xml:space="preserve"><definitions xmlns="http://ws.apache.org/ns/synapse"> + <filter source="get-property('To')" regex=".*/StockQuote.*"> + <send> + <endpoint> + <address uri="http://localhost:9000/services/SimpleStockQuoteService"/> + </endpoint> + </send> + <drop/> + </filter> + <send/> +</definitions> </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"> <syn:eventPublisher eventSourceName="event-source-name"/></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-> Event Sources menu of the right hand side menu + bar. </li> +</ul> + +<h3>Usage Scenario</h3> +<pre xml:space="preserve"><!-- Simple Eventing configuration --> + <definitions xmlns="http://ws.apache.org/ns/synapse"> + <eventSource name="SampleEventSource"> + <subscriptionManager class="org.apache.synapse.eventing.managers.DefaultInMemorySubscriptionManager"> + <property name="topicHeaderName" value="Topic"/> + <property name="topicHeaderNS" value="http://apache.org/aip"/> + </subscriptionManager> + </eventSource> + + <sequence name="PublicEventSource" > + <log level="full"/> + <eventPublisher eventSourceName="SampleEventSource"/> + </sequence> + + <proxy name="EventingProxy"> + <target inSequence="PublicEventSource" /> + </proxy> + </definitions></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"> <filter (source="xpath" regex="string") | xpath="xpath"> + mediator+ + </filter></pre> + +<p>The <filter> 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"> <filter (source="xpath" regex="string") | xpath="xpath"> + <then [sequence="string"]> + mediator+ + </then> + <else [sequence="string"]> + mediator+ + </else> + </filter></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"> <filter source="get-property('To')" regex=".*/StockQuote.*"> + <then> + <send/> + </then> + <else> + <drop/> + </else> + </filter> </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"> <header name="qname" (value="literal" | expression="xpath") [action="set"]/> + <header name="qname" action="remove"/></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"> <in> + mediator+ + </in> + </pre> + +<p>Out</p> +<pre xml:space="preserve"> <out> + mediator+ + </out> + </pre> + +<h3>UI Configuration</h3> + +<p>None.</p> + +<h3>Usage Scenario</h3> +<pre xml:space="preserve"> <syn:sequence name="main" xmlns:syn="http://ws.apache.org/ns/synapse"> + <syn:in> + <syn:log level="full"/> + <syn:filter source="get-property('To')" regex="http://localhost:9000.*"> + <syn:send/> + </syn:filter> + </syn:in> + <syn:out> + <syn:send/> + </syn:out> + </syn:sequence></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"> <iterate [continueParent=(true | false)] [preservePayload=(true | false)] (attachPath="xpath")? expression="xpath"> + <target [to="uri"] [soapAction="qname"] [sequence="sequence_ref"] [endpoint="endpoint_ref"]> + <sequence> + (mediator)+ + </sequence>? + <endpoint> + endpoint + </endpoint>? + </target>+ + </iterate></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"> <log [level="string"] [separator="string"]> + <property name="string" (value="literal" | expression="xpath")/>* + </log></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),] +<property_name> [,<dateformat>] ) </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"> <property name="string" [action=set|remove] (value="literal" | expression="xpath") [scope=transport|axis2|axis2-client]/></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"> <validate [source="xpath"]> + <property name="validation-feature-id" value="true|false"/>* + <schema key="string"/>+ + <on-fail> + mediator+ + </on-fail> + </validate></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
