Added: synapse/site/3_0_1/userguide/samples/setup/tcp_udp.html
URL: 
http://svn.apache.org/viewvc/synapse/site/3_0_1/userguide/samples/setup/tcp_udp.html?rev=1817077&view=auto
==============================================================================
--- synapse/site/3_0_1/userguide/samples/setup/tcp_udp.html (added)
+++ synapse/site/3_0_1/userguide/samples/setup/tcp_udp.html Mon Dec  4 09:53:57 
2017
@@ -0,0 +1,193 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2017-12-04 
+ | Rendered using Apache Maven Fluido Skin 1.6
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>Apache Synapse &#x2013; Apache Synapse - TCP/UDP Setup Guide</title>
+    <link rel="stylesheet" href="../../../css/apache-maven-fluido-1.6.min.css" 
/>
+    <link rel="stylesheet" href="../../../css/site.css" />
+    <link rel="stylesheet" href="../../../css/print.css" media="print" />
+      <script type="text/javascript" 
src="../../../js/apache-maven-fluido-1.6.min.js"></script>
+      </head>
+    <body class="topBarDisabled">
+      <div class="container-fluid">
+      <div id="banner">
+        <div class="pull-left"><div id="bannerLeft"><h2>Apache Synapse</h2>
+</div>
+</div>
+        <div class="pull-right"></div>
+        <div class="clear"><hr/></div>
+      </div>
+
+      <div id="breadcrumbs">
+        <ul class="breadcrumb">
+        <li id="publishDate">Last Published: 2017-12-04<span 
class="divider">|</span>
+</li>
+          <li id="projectVersion">Version: 3.0.1</li>
+        </ul>
+      </div>
+      <div class="row-fluid">
+        <div id="leftColumn" class="span2">
+          <div class="well sidebar-nav">
+<ul class="nav nav-list">
+          <li class="nav-header">Main Menu</li>
+    <li><a href="../../../index.html" title="Home"><span 
class="none"></span>Home</a>  </li>
+    <li><a href="../../../download.html" title="Download"><span 
class="none"></span>Download</a>  </li>
+    <li><a href="../../../history.html" title="History"><span 
class="none"></span>History</a>  </li>
+    <li><a href="http://www.apache.org/licenses/LICENSE-2.0"; 
class="externalLink" title="License"><span class="none"></span>License</a>  
</li>
+    <li><a href="http://www.apache.org/foundation/thanks.html"; 
class="externalLink" title="Thanks"><span class="none"></span>Thanks</a>  </li>
+    <li><a href="http://www.apache.org/foundation/sponsorship.html"; 
class="externalLink" title="Sponsorship"><span 
class="none"></span>Sponsorship</a>  </li>
+    <li><a href="http://www.apache.org/security/"; class="externalLink" 
title="Security"><span class="none"></span>Security</a>  </li>
+          <li class="nav-header">Documentation</li>
+    <li><a href="../../../userguide/installation.html" title="Installation 
Guide"><span class="none"></span>Installation Guide</a>  </li>
+    <li><a href="../../../userguide/quick_start.html" title="Quick Start 
Guide"><span class="none"></span>Quick Start Guide</a>  </li>
+    <li><a href="../../../userguide/samples/setup/index.html" title="Samples 
Setup Guide"><span class="none"></span>Samples Setup Guide</a>  </li>
+    <li><a href="../../../userguide/samples.html" title="Samples 
Catalog"><span class="none"></span>Samples Catalog</a>  </li>
+    <li><a href="../../../userguide/config.html" title="Configuration 
Language"><span class="none"></span>Configuration Language</a>  </li>
+    <li><a href="../../../userguide/mediators.html" title="Mediators 
Catalog"><span class="none"></span>Mediators Catalog</a>  </li>
+    <li><a href="../../../userguide/transports.html" title="Transports 
Catalog"><span class="none"></span>Transports Catalog</a>  </li>
+    <li><a href="../../../userguide/properties.html" title="Properties 
Catalog"><span class="none"></span>Properties Catalog</a>  </li>
+    <li><a href="../../../userguide/xpath.html" title="XPath functions and 
Variables"><span class="none"></span>XPath functions and Variables</a>  </li>
+    <li><a href="../../../userguide/extending.html" title="Extending 
Synapse"><span class="none"></span>Extending Synapse</a>  </li>
+    <li><a href="../../../userguide/template_library.html" title="Synapse 
Template Libraries"><span class="none"></span>Synapse Template Libraries</a>  
</li>
+    <li><a href="../../../userguide/upgrading.html" title="Upgrading"><span 
class="none"></span>Upgrading</a>  </li>
+    <li><a href="../../../userguide/deployment.html" title="Deployment"><span 
class="none"></span>Deployment</a>  </li>
+    <li><a href="../../../apidocs/" title="Javadocs"><span 
class="none"></span>Javadocs</a>  </li>
+    <li><a href="../../../userguide/faq.html" title="FAQ"><span 
class="none"></span>FAQ</a>  </li>
+          <li class="nav-header">Developer Resources</li>
+    <li><a href="../../../dev/developer-guide.html" title="Developer 
Guide"><span class="none"></span>Developer Guide</a>  </li>
+    <li><a href="../../../dev/best-practices.html" title="Development Best 
Practices"><span class="none"></span>Development Best Practices</a>  </li>
+    <li><a href="../../../dev/release-process.html" title="Release 
Process"><span class="none"></span>Release Process</a>  </li>
+          <li class="nav-header">Project Details</li>
+    <li><a href="../../../project-info.html" title="Overview"><span 
class="none"></span>Overview</a>  </li>
+    <li><a href="../../../mail-lists.html" title="Mailing Lists"><span 
class="none"></span>Mailing Lists</a>  </li>
+    <li><a href="../../../source-repository.html" title="Source 
Repository"><span class="none"></span>Source Repository</a>  </li>
+    <li><a href="../../../issue-tracking.html" title="Issue Tracking"><span 
class="none"></span>Issue Tracking</a>  </li>
+    <li><a href="../../../dependency-management.html" 
title="Dependencies"><span class="none"></span>Dependencies</a>  </li>
+    <li><a href="../../../team-list.html" title="Project Team"><span 
class="none"></span>Project Team</a>  </li>
+  </ul>
+          <hr />
+          <div id="poweredBy">
+              <div class="clear"></div>
+              <div class="clear"></div>
+              <div class="clear"></div>
+              <div class="clear"></div>
+  <a href="http://maven.apache.org/"; title="Built by Maven" 
class="poweredBy"><img class="builtBy" alt="Built by Maven" 
src="../../../images/logos/maven-feather.png" /></a>
+              </div>
+          </div>
+        </div>
+        <div id="bodyColumn"  class="span10" >
+
+    
+        <div class="section">
+<h2><a name="TCPUDP_Setup_Guide"></a>TCP/UDP Setup Guide</h2>
+            
+<p>
+                This document explains how to setup the transport sender and 
listener
+                for TCP/UDP transports required by the samples.
+            </p>
+        </div>
+        
+<div class="section">
+<h2><a name="Contents"></a>Contents</h2>
+            
+<ul>
+                
+<li><a href="#intro">Introduction</a></li>
+                
+<li><a href="#tcp">Setting Up the TCP Transport</a></li>
+                
+<li><a href="#udp">Setting Up the UDP Transport</a></li>
+            </ul>
+        </div>
+        <a name="intro"></a>
+<div class="section" id="intro">
+<h2><a name="Introduction"></a>Introduction</h2>
+            
+<p>
+                Apache Synapse is capable of sending and receiving messages 
over raw TCP and UDP.
+                Any messages received over these transports can be mediated 
using the usual set of
+                mediators and can be forwarded over different protocols such 
as HTTP ans JMS. The
+                transport adapters for TCP and UDP are not available in the 
Synapse binary
+                distribution by default. This guide will help you to download 
and setup them in
+                Synapse ESB.
+            </p>
+        </div>
+        <a name="tcp"></a>
+<div class="section" id="tcp">
+<h2><a name="Setting_Up_the_TCP_Transport"></a>Setting Up the TCP 
Transport</h2>
+            
+<p>
+                To enable the TCP transport for Synapse, first you need to 
download the Axis2 TCP
+                transport jar, and copy it to the 'lib' directory of Synapse. 
This library can be
+                downloaded from the <a class="externalLink" 
href="http://ws.apache.org/commons/transport";>WS-Commons Transports</a>
+                website. Then open up the axis2.xml file and uncomment the TCP 
transport receiver
+                and sender configurations.
+            </p>
+            
+<div class="xmlConf">&lt;transportReceiver name=&quot;tcp&quot; 
class=&quot;org.apache.axis2.transport.tcp.TCPServer&quot;&gt;
+    &lt;parameter name=&quot;port&quot;&gt;6060&lt;/parameter&gt;
+&lt;/transportReceiver&gt;</div>
+            
+<div class="xmlConf">&lt;transportSender name=&quot;tcp&quot; 
class=&quot;org.apache.axis2.transport.tcp.TCPTransportSender&quot;/&gt;</div>
+            
+<p>
+                The above configuration enables Synapse to receive raw TCP 
messages on port 6060.
+                Since no application level headers are available on such 
requests, Synapse will be
+                solely depending on the addressing headers or the XML payload 
of the messages to
+                find the target service for TCP requests.
+            </p>
+            
+<p>
+                In some of the samples you will have to send raw TCP messages 
using the sample
+                Axis2 client. In that case you should enable the TCP transport 
sender for the
+                sample client. This can be done by uncommenting the following 
entry in the
+                samples/axis2Client/client_repo/conf/axis2.xml file.
+            </p>
+            
+<div class="xmlConf">&lt;transportSender name=&quot;tcp&quot; 
class=&quot;org.apache.axis2.transport.tcp.TCPTransportSender&quot;/&gt;</div>
+        </div>
+        <a name="udp"></a>
+<div class="section" id="udp">
+<h2><a name="Setting_Up_the_UDP_Transport"></a>Setting Up the UDP 
Transport</h2>
+            
+<p>
+                Enabling the UDP transport for Synapse is similar to enabling 
the TCP transport. You
+                should <a class="externalLink" 
href="http://ws.apache.org/commons/transport";>download</a> the Axis2 UDP
+                transport jar and copy it into 'lib' directory of Synapse. 
Then uncomment the
+                following entries in the repository/conf/axis2.xml file to 
enable the UDP listener
+                and sender.
+            </p>
+            
+<div class="xmlConf">&lt;transportReceiver name=&quot;udp&quot; 
class=&quot;org.apache.axis2.transport.udp.UDPListener&quot;/&gt;</div>
+            
+<div class="xmlConf">&lt;transportSender name=&quot;udp&quot; 
class=&quot;org.apache.axis2.transport.udp.UDPSender&quot;/&gt;</div>
+            
+<p>
+                To send UDP messages from the sample client, enable the UDP 
transport sender for the
+                client in samples/axis2Client/client_repo/conf/axis2.xml file.
+            </p>
+        </div>
+    
+
+        </div>
+      </div>
+    </div>
+    <hr/>
+    <footer>
+      <div class="container-fluid">
+        <div class="row-fluid">
+            <p>Copyright &copy;2005&#x2013;2017
+<a href="http://www.apache.org/";>Apache Software Foundation</a>.
+All rights reserved.</p>
+        </div>
+        </div>
+    </footer>
+    </body>
+</html>

Added: synapse/site/3_0_1/userguide/samples/template.html
URL: 
http://svn.apache.org/viewvc/synapse/site/3_0_1/userguide/samples/template.html?rev=1817077&view=auto
==============================================================================
--- synapse/site/3_0_1/userguide/samples/template.html (added)
+++ synapse/site/3_0_1/userguide/samples/template.html Mon Dec  4 09:53:57 2017
@@ -0,0 +1,156 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2017-12-04 
+ | Rendered using Apache Maven Fluido Skin 1.6
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>Apache Synapse &#x2013; Apache Synapse - Sample X</title>
+    <link rel="stylesheet" href="../../css/apache-maven-fluido-1.6.min.css" />
+    <link rel="stylesheet" href="../../css/site.css" />
+    <link rel="stylesheet" href="../../css/print.css" media="print" />
+      <script type="text/javascript" 
src="../../js/apache-maven-fluido-1.6.min.js"></script>
+      </head>
+    <body class="topBarDisabled">
+      <div class="container-fluid">
+      <div id="banner">
+        <div class="pull-left"><div id="bannerLeft"><h2>Apache Synapse</h2>
+</div>
+</div>
+        <div class="pull-right"></div>
+        <div class="clear"><hr/></div>
+      </div>
+
+      <div id="breadcrumbs">
+        <ul class="breadcrumb">
+        <li id="publishDate">Last Published: 2017-12-04<span 
class="divider">|</span>
+</li>
+          <li id="projectVersion">Version: 3.0.1</li>
+        </ul>
+      </div>
+      <div class="row-fluid">
+        <div id="leftColumn" class="span2">
+          <div class="well sidebar-nav">
+<ul class="nav nav-list">
+          <li class="nav-header">Main Menu</li>
+    <li><a href="../../index.html" title="Home"><span 
class="none"></span>Home</a>  </li>
+    <li><a href="../../download.html" title="Download"><span 
class="none"></span>Download</a>  </li>
+    <li><a href="../../history.html" title="History"><span 
class="none"></span>History</a>  </li>
+    <li><a href="http://www.apache.org/licenses/LICENSE-2.0"; 
class="externalLink" title="License"><span class="none"></span>License</a>  
</li>
+    <li><a href="http://www.apache.org/foundation/thanks.html"; 
class="externalLink" title="Thanks"><span class="none"></span>Thanks</a>  </li>
+    <li><a href="http://www.apache.org/foundation/sponsorship.html"; 
class="externalLink" title="Sponsorship"><span 
class="none"></span>Sponsorship</a>  </li>
+    <li><a href="http://www.apache.org/security/"; class="externalLink" 
title="Security"><span class="none"></span>Security</a>  </li>
+          <li class="nav-header">Documentation</li>
+    <li><a href="../../userguide/installation.html" title="Installation 
Guide"><span class="none"></span>Installation Guide</a>  </li>
+    <li><a href="../../userguide/quick_start.html" title="Quick Start 
Guide"><span class="none"></span>Quick Start Guide</a>  </li>
+    <li><a href="../../userguide/samples/setup/index.html" title="Samples 
Setup Guide"><span class="none"></span>Samples Setup Guide</a>  </li>
+    <li><a href="../../userguide/samples.html" title="Samples Catalog"><span 
class="none"></span>Samples Catalog</a>  </li>
+    <li><a href="../../userguide/config.html" title="Configuration 
Language"><span class="none"></span>Configuration Language</a>  </li>
+    <li><a href="../../userguide/mediators.html" title="Mediators 
Catalog"><span class="none"></span>Mediators Catalog</a>  </li>
+    <li><a href="../../userguide/transports.html" title="Transports 
Catalog"><span class="none"></span>Transports Catalog</a>  </li>
+    <li><a href="../../userguide/properties.html" title="Properties 
Catalog"><span class="none"></span>Properties Catalog</a>  </li>
+    <li><a href="../../userguide/xpath.html" title="XPath functions and 
Variables"><span class="none"></span>XPath functions and Variables</a>  </li>
+    <li><a href="../../userguide/extending.html" title="Extending 
Synapse"><span class="none"></span>Extending Synapse</a>  </li>
+    <li><a href="../../userguide/template_library.html" title="Synapse 
Template Libraries"><span class="none"></span>Synapse Template Libraries</a>  
</li>
+    <li><a href="../../userguide/upgrading.html" title="Upgrading"><span 
class="none"></span>Upgrading</a>  </li>
+    <li><a href="../../userguide/deployment.html" title="Deployment"><span 
class="none"></span>Deployment</a>  </li>
+    <li><a href="../../apidocs/" title="Javadocs"><span 
class="none"></span>Javadocs</a>  </li>
+    <li><a href="../../userguide/faq.html" title="FAQ"><span 
class="none"></span>FAQ</a>  </li>
+          <li class="nav-header">Developer Resources</li>
+    <li><a href="../../dev/developer-guide.html" title="Developer Guide"><span 
class="none"></span>Developer Guide</a>  </li>
+    <li><a href="../../dev/best-practices.html" title="Development Best 
Practices"><span class="none"></span>Development Best Practices</a>  </li>
+    <li><a href="../../dev/release-process.html" title="Release Process"><span 
class="none"></span>Release Process</a>  </li>
+          <li class="nav-header">Project Details</li>
+    <li><a href="../../project-info.html" title="Overview"><span 
class="none"></span>Overview</a>  </li>
+    <li><a href="../../mail-lists.html" title="Mailing Lists"><span 
class="none"></span>Mailing Lists</a>  </li>
+    <li><a href="../../source-repository.html" title="Source Repository"><span 
class="none"></span>Source Repository</a>  </li>
+    <li><a href="../../issue-tracking.html" title="Issue Tracking"><span 
class="none"></span>Issue Tracking</a>  </li>
+    <li><a href="../../dependency-management.html" title="Dependencies"><span 
class="none"></span>Dependencies</a>  </li>
+    <li><a href="../../team-list.html" title="Project Team"><span 
class="none"></span>Project Team</a>  </li>
+  </ul>
+          <hr />
+          <div id="poweredBy">
+              <div class="clear"></div>
+              <div class="clear"></div>
+              <div class="clear"></div>
+              <div class="clear"></div>
+  <a href="http://maven.apache.org/"; title="Built by Maven" 
class="poweredBy"><img class="builtBy" alt="Built by Maven" 
src="../../images/logos/maven-feather.png" /></a>
+              </div>
+          </div>
+        </div>
+        <div id="bodyColumn"  class="span10" >
+
+    
+        <div class="section">
+<h2><a name="Sample_X:"></a>Sample X: </h2>
+            
+<div class="xmlConf">
+
+            </div>
+            
+<div class="section">
+<h3><a name="Objective"></a>Objective</h3>
+                
+<p>
+
+                </p>
+            </div>
+            
+<div class="section">
+<h3><a name="Pre-requisites"></a>Pre-requisites</h3>
+                
+<p>
+                    </p>
+<ul>
+                        
+<li>
+                            Deploy the SimpleStockQuoteService in the sample 
Axis2 server and start Axis2
+                        </li>
+                        
+<li>
+                            Start Synapse using the configuration numbered X 
(repository/conf/sample/synapse_sample_X.xml)
+                            
+<div class="command">
+                                Unix/Linux: sh synapse.sh -sample X<br />
+                                Windows: synapse.bat -sample X
+                            </div>
+                        </li>
+                    </ul>
+                
+            </div>
+            
+<div class="section">
+<h3><a name="Executing_the_Client"></a>Executing the Client</h3>
+                
+<div class="command">ant stockquote 
-Daddurl=http://localhost:9000/services/SimpleStockQuoteService 
-Dtrpurl=http://localhost:8280/</div>
+
+                
+<div class="consoleOutput">Sat Nov 18 21:01:23 IST 2006 
SimpleStockQuoteService :: Generating quote for : IBM</div>
+
+                
+<div class="consoleOutput">Standard :: Stock price = $95.26454380258552</div>
+            </div>
+        </div>
+        
+<p><a href="../samples.html">Back to Catalog</a></p>        
+    
+
+        </div>
+      </div>
+    </div>
+    <hr/>
+    <footer>
+      <div class="container-fluid">
+        <div class="row-fluid">
+            <p>Copyright &copy;2005&#x2013;2017
+<a href="http://www.apache.org/";>Apache Software Foundation</a>.
+All rights reserved.</p>
+        </div>
+        </div>
+    </footer>
+    </body>
+</html>

Added: synapse/site/3_0_1/userguide/template_library.html
URL: 
http://svn.apache.org/viewvc/synapse/site/3_0_1/userguide/template_library.html?rev=1817077&view=auto
==============================================================================
--- synapse/site/3_0_1/userguide/template_library.html (added)
+++ synapse/site/3_0_1/userguide/template_library.html Mon Dec  4 09:53:57 2017
@@ -0,0 +1,594 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2017-12-04 
+ | Rendered using Apache Maven Fluido Skin 1.6
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="Date-Revision-yyyymmdd" content="20171204" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>Apache Synapse &#x2013; Apache Synapse - Synapse Template 
Libraries</title>
+    <link rel="stylesheet" href="../css/apache-maven-fluido-1.6.min.css" />
+    <link rel="stylesheet" href="../css/site.css" />
+    <link rel="stylesheet" href="../css/print.css" media="print" />
+      <script type="text/javascript" 
src="../js/apache-maven-fluido-1.6.min.js"></script>
+      </head>
+    <body class="topBarDisabled">
+      <div class="container-fluid">
+      <div id="banner">
+        <div class="pull-left"><div id="bannerLeft"><h2>Apache Synapse</h2>
+</div>
+</div>
+        <div class="pull-right"></div>
+        <div class="clear"><hr/></div>
+      </div>
+
+      <div id="breadcrumbs">
+        <ul class="breadcrumb">
+        <li id="publishDate">Last Published: 2017-12-04<span 
class="divider">|</span>
+</li>
+          <li id="projectVersion">Version: 3.0.1</li>
+        </ul>
+      </div>
+      <div class="row-fluid">
+        <div id="leftColumn" class="span2">
+          <div class="well sidebar-nav">
+<ul class="nav nav-list">
+          <li class="nav-header">Main Menu</li>
+    <li><a href="../index.html" title="Home"><span 
class="none"></span>Home</a>  </li>
+    <li><a href="../download.html" title="Download"><span 
class="none"></span>Download</a>  </li>
+    <li><a href="../history.html" title="History"><span 
class="none"></span>History</a>  </li>
+    <li><a href="http://www.apache.org/licenses/LICENSE-2.0"; 
class="externalLink" title="License"><span class="none"></span>License</a>  
</li>
+    <li><a href="http://www.apache.org/foundation/thanks.html"; 
class="externalLink" title="Thanks"><span class="none"></span>Thanks</a>  </li>
+    <li><a href="http://www.apache.org/foundation/sponsorship.html"; 
class="externalLink" title="Sponsorship"><span 
class="none"></span>Sponsorship</a>  </li>
+    <li><a href="http://www.apache.org/security/"; class="externalLink" 
title="Security"><span class="none"></span>Security</a>  </li>
+          <li class="nav-header">Documentation</li>
+    <li><a href="../userguide/installation.html" title="Installation 
Guide"><span class="none"></span>Installation Guide</a>  </li>
+    <li><a href="../userguide/quick_start.html" title="Quick Start 
Guide"><span class="none"></span>Quick Start Guide</a>  </li>
+    <li><a href="../userguide/samples/setup/index.html" title="Samples Setup 
Guide"><span class="none"></span>Samples Setup Guide</a>  </li>
+    <li><a href="../userguide/samples.html" title="Samples Catalog"><span 
class="none"></span>Samples Catalog</a>  </li>
+    <li><a href="../userguide/config.html" title="Configuration 
Language"><span class="none"></span>Configuration Language</a>  </li>
+    <li><a href="../userguide/mediators.html" title="Mediators Catalog"><span 
class="none"></span>Mediators Catalog</a>  </li>
+    <li><a href="../userguide/transports.html" title="Transports 
Catalog"><span class="none"></span>Transports Catalog</a>  </li>
+    <li><a href="../userguide/properties.html" title="Properties 
Catalog"><span class="none"></span>Properties Catalog</a>  </li>
+    <li><a href="../userguide/xpath.html" title="XPath functions and 
Variables"><span class="none"></span>XPath functions and Variables</a>  </li>
+    <li><a href="../userguide/extending.html" title="Extending Synapse"><span 
class="none"></span>Extending Synapse</a>  </li>
+    <li class="active"><a href="#"><span class="none"></span>Synapse Template 
Libraries</a>
+  </li>
+    <li><a href="../userguide/upgrading.html" title="Upgrading"><span 
class="none"></span>Upgrading</a>  </li>
+    <li><a href="../userguide/deployment.html" title="Deployment"><span 
class="none"></span>Deployment</a>  </li>
+    <li><a href="../apidocs/" title="Javadocs"><span 
class="none"></span>Javadocs</a>  </li>
+    <li><a href="../userguide/faq.html" title="FAQ"><span 
class="none"></span>FAQ</a>  </li>
+          <li class="nav-header">Developer Resources</li>
+    <li><a href="../dev/developer-guide.html" title="Developer Guide"><span 
class="none"></span>Developer Guide</a>  </li>
+    <li><a href="../dev/best-practices.html" title="Development Best 
Practices"><span class="none"></span>Development Best Practices</a>  </li>
+    <li><a href="../dev/release-process.html" title="Release Process"><span 
class="none"></span>Release Process</a>  </li>
+          <li class="nav-header">Project Details</li>
+    <li><a href="../project-info.html" title="Overview"><span 
class="none"></span>Overview</a>  </li>
+    <li><a href="../mail-lists.html" title="Mailing Lists"><span 
class="none"></span>Mailing Lists</a>  </li>
+    <li><a href="../source-repository.html" title="Source Repository"><span 
class="none"></span>Source Repository</a>  </li>
+    <li><a href="../issue-tracking.html" title="Issue Tracking"><span 
class="none"></span>Issue Tracking</a>  </li>
+    <li><a href="../dependency-management.html" title="Dependencies"><span 
class="none"></span>Dependencies</a>  </li>
+    <li><a href="../team-list.html" title="Project Team"><span 
class="none"></span>Project Team</a>  </li>
+  </ul>
+          <hr />
+          <div id="poweredBy">
+              <div class="clear"></div>
+              <div class="clear"></div>
+              <div class="clear"></div>
+              <div class="clear"></div>
+  <a href="http://maven.apache.org/"; title="Built by Maven" 
class="poweredBy"><img class="builtBy" alt="Built by Maven" 
src="../images/logos/maven-feather.png" /></a>
+              </div>
+          </div>
+        </div>
+        <div id="bodyColumn"  class="span10" >
+
+    
+        <div class="section">
+<h2><a name="Synapse_Template_Libraries"></a>Synapse Template Libraries</h2>
+            
+<p>
+                Synapse template libraries are a mechanism to group synapse 
templates and automatically
+                expose it as a self contained set of function modules. It can 
be considered as a container
+                consisting a set of templates grouped in a particular order. 
Currently a synapse template
+                library is shipped as a &quot;.zip&quot; file and should be 
deployed inside
+                {$SYNAPSE_HOME}/repository/conf/synapse-libs .
+                If a given template container is successfully deployed, all
+                templates within the library will be accessible to any Synapse 
user.
+            </p>
+            
+<p>Following is a sample skeleton structure of a template library</p>
+            
+<div class="xmlConf">|-- artifacts.xml
+|-- com
+| `-- synapse
+| `-- sample
+| `-- SynapseLibTestMediator.class
+|-- lib
+| `-- test-mediator-1.0.0.jar
+|-- template_dir-1
+| |-- artifact.xml
+| |-- templ1_ns1.xml
+| `-- templ2_ns1.xml
+`-- template_dir-2
+  |-- artifact.xml
+  |-- templ1_ns2.xml
+  `-- templ2_ns2.xml</div>
+            
+<p>Following are these components at an overview.</p>
+            
+<p>
+                </p>
+<ul>
+                    
+<li>artifacts.xml
+                        <br />
+                        This contains synapse library name , package name 
information and template groupings.
+            
+<div class="xmlConf">&lt;artifacts&gt;
+    &lt;artifact name=&quot;synapse.lib.name&quot; 
package=&quot;synapse.lib.package.name&quot;&gt;
+        &lt;dependency artifact=&quot;template.group.name&quot;/&gt;*
+            &lt;description&gt;sample synapse library&lt;/description&gt;?
+    &lt;/artifact&gt;
+&lt;/artifacts&gt;</div></li>
+                    
+<li>artifact.xml
+                        <br />
+                        This contains information about each individual 
template group.
+                        <br />
+                        ie: - names of the templates in the group , 
corresponding configuration file ,etc.
+            
+<div class="xmlConf">&lt;artifact name=&quot;template.group.name&quot; 
type=&quot;synapse/template&quot;&gt;
+    &lt;subArtifacts&gt;
+        &lt;artifact name=&quot;template.name&quot;&gt;
+            &lt;file&gt;template_file.xml&lt;/file&gt;
+            &lt;description&gt;a sample synapse library 
function&lt;/description&gt;?
+        &lt;/artifact&gt;*
+    &lt;/subArtifacts&gt;
+&lt;/artifact&gt;</div>
+                    </li>
+                    
+<li>template_file.xml
+                        <br />
+                        This contains the implementation of each individual 
template configuration
+                    </li>
+                    
+<li>./lib
+                       <br />
+                       This is the directory to add any classes for class 
loading or can contain the .class files from
+                       the root
+                       level.
+                   </li>
+               </ul>
+            
+            
+<p>Also utilizing a synapse library is a three step process.</p>
+            
+<p>
+                </p>
+<ul>
+                    
+<li>Create and deploy the library</li>
+                    
+<li>Importing the library into synapse
+                        Users should deploy a import_lib_name.xml into
+                        {$SYNAPSE_HOME}/repository/conf/synapse-config/imports
+            
+<div class="xmlConf">&lt;import 
xmlns=&quot;http://ws.apache.org/ns/synapse&quot; 
name=&quot;SampleLibrary&quot; package=&quot;synapse.lib&quot;/&gt;</div>
+                    </li>
+                    
+<li>Execute functions of library using a template invoker. Target template is a
+                        combination of the package of synapse library and the 
target template name
+                        target == {synapse_lib_package}.{template name}
+
+                        
+<div class="xmlConf">&lt;call-template 
target=&quot;synapse.lib.pkg.name.template_name&quot;&gt;
+    &lt;with-param name=&quot;...&quot; value=&quot;...&quot;/&gt;*
+&lt;/call-template&gt;</div>
+                    </li>
+                </ul>
+            
+        </div>
+        
+<div class="section">
+<h2><a name="Synapse_Enterprise_Integration_Patterns_library"></a>Synapse 
Enterprise Integration Patterns library</h2>
+            
+<p>Synapse Enterprise Integration Patterns library is a container consisting a 
set of
+                templates grouped in a particular order by implementing 
commonly used
+                <a class="externalLink" 
href="http://www.eaipatterns.com";>Enterprise
+                    Integration Patterns
+                </a>
+                from the set of patterns introduced by Gregor Hohpe and Bobby 
Woolf.
+                Users can design their solutions using these well-known 
patterns and then simply configure
+                and use these same patterns in Apache Synapse by calling up 
the function as required.
+                So this will greatly reduce the effort required when building 
integrations.
+            </p>
+            
+<p>Following lists all the built-in patterns of Synapse EIP library currently 
supports and
+                describes their usage, functionality and configuration syntax.
+                This excludes all generic EIP patterns supported by synapse 
out of the box.
+            </p>
+            
+<p>
+                </p>
+<ul>
+                    
+<li>
+                        <a href="#CalloutBlock">Callout Block</a>
+                    </li>
+                    
+<li>
+                        <a href="#Splitter">Splitter</a>
+                    </li>
+                    
+<li>
+                        <a href="#Aggregator">Aggregator</a>
+                    </li>
+                    
+<li>
+                        <a href="#SplitterAggregator">Splitter-Aggregator</a>
+                    </li>
+                    
+<li>
+                        <a href="#ScatterGather">Scatter-Gather</a>
+                    </li>
+                    
+<li>
+                        <a href="#WireTap">Wire Tap</a>
+                    </li>
+                    
+<li>
+                        <a href="#ContentBasedRouter">Content-Based Router</a>
+                    </li>
+                    
+<li>
+                        <a href="#DynamicRouter">Dynamic Router</a>
+                    </li>
+                    
+<li>
+                        <a href="#RecipientList">Recipient List</a>
+                    </li>
+                </ul>
+            
+            <a name="CalloutBlock"></a>
+<div class="section" id="CalloutBlock">
+<h3><a name="Callout_Block"></a>Callout Block</h3>
+                
+<p>
+                    This pattern is pretty much identical to the
+                    <a class="externalLink" 
href="http://www.eaipatterns.com/RoutingTable.html";>Routing slip pattern</a>
+                    and this blocks
+                    external service invocation during mediation. And useful 
in scenarios such as service chaining.
+                    As default values are assigned to source and target xpaths,
+                    one can simply utilize this pattern by just defining 
serviceURL.
+                    <br />
+                    <br />
+
+                    Call template target -
+                    <b>synapse.lang.eip.callout_block</b>
+                    <br />
+                    Parameters
+                    <br />
+                    <b>service_URL</b>
+                    - URL of the service
+                    <br />
+                    <b>[action]</b>
+                    - SOAP action(Optional)
+                    <br />
+                    <b>[source_xpath | source_key]</b>
+                    - Payload of the message( either Xpath or key and Optional)
+                    <br />
+                    <b>[target_xpath | target_key]</b>
+                    - A node to attach the response element ( either Xpath or 
key and optional)
+                    <br />
+                    <br />
+                    Related Sample - <a href="samples/sample850.html">Sample 
850</a>
+                </p>
+            </div>
+            <a name="Splitter"></a>
+<div class="section" id="Splitter">
+<h3><a name="Splitter"></a>Splitter</h3>
+                
+<p>
+                    The
+                    <a class="externalLink" 
href="http://www.eaipatterns.com/Sequencer.html";>Splitter pattern</a>
+                    breaks out the composite message into a series of 
individual messages by
+                    finding matching elements for the XPath expression 
specified and then redirected to the given
+                    endpoint.
+                    <br />
+                    <br />
+
+                    Call template target -
+                    <b>synapse.lang.eip.splitter</b>
+                    <br />
+                    Parameters
+                    <br />
+                    <b>iterate_exp</b>
+                    - Xpath expression from which element you want to split 
the message.
+                    <br />
+                    <b>[attach_path]</b>
+                    - Xpath expression to specify which elements needs to be 
attached to form new messages.( Optional)
+                    <br />
+                    <b>endpoint_url</b>
+                    - Endpoint which newly created messages are redirected to.
+                    <br />
+                    <b>[attach_path_enabled]</b>
+                    - Boolean value to enable attach path. Optional and by 
default this is false.
+                    <br />
+                     <br />
+                    Related Sample - <a href="samples/sample851.html">Sample 
851</a>
+                </p>
+            </div>
+
+            <a name="Aggregator"></a>
+<div class="section" id="Aggregator">
+<h3><a name="Aggregator"></a>Aggregator</h3>
+                
+<p>
+                    The
+                    <a class="externalLink" 
href="http://www.eaipatterns.com/Aggregator.html";>Aggregator pattern</a>
+                    builds a single message distilled from the individual 
messages.
+                    And messages will be merged by using the XPath expression 
specified for aggregator_exp.
+                    <br />
+                    <br />
+
+                    Call template target -
+                    <b>synapse.lang.eip.aggregator</b>
+                    <br />
+                    Parameters
+                    <br />
+                    <b>aggregator_exp</b>
+                    - An XPath expression specifying based on which elements 
to aggregate.
+                    <br />
+                    <b>[sequence_ref]</b>
+                    - target sequence which message should be mediated after 
aggregation. (Optional and if this is not
+                    specified aggregator will send the aggregated message to 
the client).
+                    <br />
+                    <b>[oncomplete_seq_enabled]</b>
+                    - Boolean value to enable target sequence. (Optional and 
by default this is false)
+                    <br />
+                     <br />
+                    Related Sample - <a href="samples/sample851.html">Sample 
851</a>
+                </p>
+            </div>
+
+            <a name="SplitterAggregator"></a>
+<div class="section" id="SplitterAggregator">
+<h3><a name="Splitter-Aggregator"></a>Splitter-Aggregator</h3>
+                
+<p>
+                    This pattern provides the combined functionality of 
Splitter and Aggregator patterns.
+                    Which is when you specified following parameters this 
pattern will split the message and
+                    does a synchronized call for the given endpoint and 
aggregates replies then send back to
+                    client or mediates to the defined target sequence.
+                    <br />
+                    <br />
+
+                    Call template target -
+                    <b>synapse.lang.eip.splitter_aggregator</b>
+                    <br />
+                    Parameters
+                    <br />
+                    <b>iterate_exp</b>
+                    - An Xpath expression from which element you want to split 
the message.
+                    <br />
+                    <b>[attach_path]</b>
+                    - An Xpath expression to specify which elements needs to 
be attached to form new messages.(
+                    Optional)
+                    <br />
+                    <b>endpoint_url</b>
+                    - Endpoint which newly created messages are redirected to.
+                    <br />
+                    <b>[attach_path_enabled]</b>
+                    - Boolean value to enable attach path. Optional and by 
default this is false.
+                    <br />
+                    <b>aggregator_exp</b>
+                    - An XPath expression specifying based on which elements 
to aggregate.
+                    <br />
+                    <b>[sequence_ref]</b>
+                    - Target sequence which message should be mediated after 
aggregation. (Optional and if this is not
+                    specified aggregator will send the aggregated message to 
the client).
+                    <br />
+                    <b>[oncomplete_seq_enabled]</b>
+                    - Boolean value to enable target sequence. (Optional and 
by default this is false)
+                    <br />
+                     <br />
+                    Related Sample - <a href="samples/sample852.html">Sample 
852</a>
+                </p>
+            </div>
+
+            <a name="ScatterGather"></a>
+<div class="section" id="ScatterGather">
+<h3><a name="Scatter-Gather"></a>Scatter-Gather</h3>
+                
+<p>
+                    The
+                    <a class="externalLink" 
href="http://www.eaipatterns.com/BroadcastAggregate.html";>Scatter-Gather 
pattern</a>
+                    broadcasts a message to multiple recipients and 
re-aggregates the
+                    responses back into a single message and send back to 
client or mediates to the defined
+                    target sequence.
+                    <br />
+                    <br />
+
+                    Call template target -
+                    <b>synapse.lang.eip.scatter_gather</b>
+                    <br />
+                    Parameters
+                    <br />
+                    <b>aggregator_exp</b>
+                    - An XPath expression specifying based on which elements 
to aggregate.
+                    <br />
+                    <b>[sequence_ref]</b>
+                    - Target sequence which message should be mediated after 
aggregation. (Optional and if this is not
+                    specified aggregator will send the aggregated message to 
the client).
+                    <br />
+                    <b>[oncomplete_seq_enabled]</b>
+                    - Boolean value to enable target sequence. (Optional and 
by default this is false)
+                    <br />
+                    <b>recipient_list</b>
+                    - Set of recipient endpoints , which should be specified 
as comma separated values
+                    <br />
+                     <br />
+                    Related Sample - <a href="samples/sample853.html">Sample 
853</a>
+                </p>
+            </div>
+
+            <a name="WireTap"></a>
+<div class="section" id="WireTap">
+<h3><a name="Wire_Tap"></a>Wire Tap</h3>
+                
+<p>
+                    <a class="externalLink" 
href="http://www.eaipatterns.com/WireTap.html";>Wire Tap pattern</a>
+                    enables route messages to a secondary channel while they 
are being forwarded to the main channel.
+                    <br />
+                    <br />
+
+                    Call template target -
+                    <b>synapse.lang.eip.wire_tap</b>
+                    <br />
+                    Parameters
+                    <br />
+                    <b>destination_uri</b>
+                    - Endpoint of main channel
+                    <br />
+                    <b>wiretap_uri</b>
+                    - Endpoint of secondary channel
+                    <br />
+                    <br />
+                    Related Sample - <a href="samples/sample854.html">Sample 
854</a>
+                </p>
+            </div>
+
+            <a name="ContentBasedRouter"></a>
+<div class="section" id="ContentBasedRouter">
+<h3><a name="Content-Based_Router"></a>Content-Based Router</h3>
+                
+<p>
+                    The
+                    <a class="externalLink" 
href="http://www.eaipatterns.com/ContentBasedRouter.html";>Content Based Router 
pattern</a>
+                    route messages to the appropriate sequence, according to 
the message contents.
+                    Routing decision is taken by matching given Xpath 
expression and Regular Expression.
+                    User can define multiple matching elements as regular 
expressions and a target sequence where
+                    if any of matching element evaluates to true then it 
mediates using the target sequence.
+                    If none of the case statements are matching and default 
case is specified, it will be executed.
+                    <br />
+                    <br />
+
+                    Call template target -
+                    <b>synapse.lang.eip.content_base_router</b>
+                    <br />
+                    Parameters
+                    <br />
+                    <b>routing_exp</b>
+                    - Here you can specify the source xpath to be evaluated
+                    <br />
+                    <b>match_content</b>
+                    - This is a String which contains the matching conditions. 
Following is the syntax of it
+                    <b>&quot;IBM:cnd1_seq,MSFT:cnd2_seq;cnd3_seq&quot;</b>
+                    <br />
+                    User can define multiple matching conditions using 
&quot;,&quot; splitter. regular expressions and
+                    target sequence should be separated by 
inserting&quot;:&quot;. And finally default sequence needs to be
+                    defined
+                    after inserting &quot;;&quot;. If there is no any target 
sequence
+                    defined for a particular regular expression , default it 
will be mediated to the main sequence.
+                    <br />
+                    <br />
+                    Related Sample - <a href="samples/sample855.html">Sample 
855</a>
+                </p>
+            </div>
+
+            <a name="DynamicRouter"></a>
+<div class="section" id="DynamicRouter">
+<h3><a name="Dynamic_Router"></a>Dynamic Router</h3>
+                
+<p>
+                    The
+                    <a class="externalLink" 
href="http://www.eaipatterns.com/DynamicRouter.html";>Dynamic Router pattern</a>
+                    route a message consecutively through a series of 
condition steps,
+                    which is parsed by the 
&#xe2;&#x80;&#x9c;conditions&#xe2;&#x80;&#x9d; parameter. The list of sequences 
through which the message
+                    should pass is decided dynamically at run time.
+                    It checks whether the route condition evaluates to true 
and mediates using the given sequence and
+                    user can define
+                    routing decision based on the message contents such as 
HTTP url,HTTP headers or combination of both.
+                    <br />
+                    <br />
+
+                    Call template target -
+                    <b>synapse.lang.eip.dynamic_router</b>
+                    <br />
+                    Parameters
+                    <br />
+                    <b>conditions</b>
+                    - This is a String which contains the routing rules. 
Following is the syntax of it.
+                    <br />
+                    <b>
+                        
&quot;header=foo:bar.*{AND}url=/services/;seq=seq1,header=header1:bar.*{OR}header=header1:foo.*;seq=seq2,header=header2:foo.*;seq=seq3&quot;
+                    </b>
+                    <br />
+                    User can define multiple routing rules by using 
&quot;,&quot; splitter. Routing rule contains following
+                    format,
+                    <br />
+                    To match HTTP headers , use
+                    <b>header=regEx:seqRef</b>
+                    <br />
+                    header source and regular expression should be separated 
by inserting &quot;:&quot;
+                    <br />
+                    To match HTTP url, use
+                    <b>url=/url</b>
+                    <br />
+                    Then target sequence needs to be defined after inserting 
&quot;;&quot;
+                    <br />
+
+                    Also you can use<b>&quot;{AND}&quot;</b>as to specify 
logical AND ,
+                    <b>&quot;{OR}&quot;</b>
+                    as to specify logical OR to match
+                    multiple headers and url in your expression.
+                    <br />
+                    <br />
+                    Related Sample - <a href="samples/sample856.html">Sample 
856</a>
+                </p>
+            </div>
+
+            <a name="RecipientList"></a>
+<div class="section" id="RecipientList">
+<h3><a name="Recipient_List"></a>Recipient List</h3>
+                
+<p>
+                    The
+                    <a class="externalLink" 
href="http://www.eaipatterns.com/RecipientList.html";>Recipient List pattern</a>
+                    forward the message to all channels associated with the 
defined set of recipients.
+                    <br />
+                    <br />
+
+                    Call template target -
+                    <b>synapse.lang.eip.recipient_list</b>
+                    <br />
+                    Parameters
+                    <br />
+                    <b>recipient_list</b>
+                    - set of recipient endpoints , which should be specified 
as comma separated values
+                    <br />
+                    <br />
+                    Related Sample - <a href="samples/sample857.html">Sample 
857</a>
+                </p>
+            </div>
+        </div>
+    
+
+        </div>
+      </div>
+    </div>
+    <hr/>
+    <footer>
+      <div class="container-fluid">
+        <div class="row-fluid">
+            <p>Copyright &copy;2005&#x2013;2017
+<a href="http://www.apache.org/";>Apache Software Foundation</a>.
+All rights reserved.</p>
+        </div>
+        </div>
+    </footer>
+    </body>
+</html>


Reply via email to