Added: synapse/site/3_0_2/userguide/transports.html
URL: 
http://svn.apache.org/viewvc/synapse/site/3_0_2/userguide/transports.html?rev=1909775&view=auto
==============================================================================
--- synapse/site/3_0_2/userguide/transports.html (added)
+++ synapse/site/3_0_2/userguide/transports.html Fri May 12 16:09:34 2023
@@ -0,0 +1,1957 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2023-05-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="20230504" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>Apache Synapse &#x2013; Apache Synapse - Transports Catalog</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: 2023-05-04<span 
class="divider">|</span>
+</li>
+          <li id="projectVersion">Version: 3.0.2</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 class="active"><a href="#"><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" >
+
+    
+               <a name="Introduction"></a>
+<div class="section" id="Introduction">
+<h2><a name="Transports_Catalog"></a>Transports Catalog</h2>
+                       
+<p>
+                The Synapse project has developed a set of transport 
implementations that provide
+                protocol support and/or features that go beyond what is 
provided out of the box by
+                Axis2:
+                       </p>
+                       
+<ul>
+                               
+<li>
+                    A non-blocking HTTP transport that gives better 
performance in a highly
+                    asynchronous environment like Synapse.
+                               </li>
+                               
+<li>
+                    A VFS transport that can read messages from files and 
write outgoing messages to
+                    a file system. The file system can be local or remote, and 
several remote
+                    protocols are supported, such as FTP, SSH, WebDAV, etc.
+                               </li>
+                               
+<li>
+                                       A transport supporting the
+                                       <a class="externalLink" 
href="http://www.fixprotocol.org";>Financial Information eXchange</a>
+                                       protocol. FIX is a public-domain 
messaging standard developed specifically for
+                    the real-time electronic exchange of securities 
transactions. It has a large user
+                    base and is developed by the collaborative effort of 
banks, broker-dealers,
+                    exchanges, industry utilities and associations, 
institutional investors, and IT
+                    providers around the world.
+                               </li>
+                
+<li>
+                    A AMQP transport which support the AMQP protocol.
+                    <a class="externalLink" 
href="http://www.amqp.org/";>AMQP</a>  is a messaging
+                    protocol.
+                </li>
+                       </ul>
+                       
+<p>Note that while these transports are developed as part of the Synapse 
project,
+                they can be used with any Axis2 based application.
+                       </p>
+                       
+<p>
+                               The Synapse distribution also comes bundled 
with the following transports from
+                the <a class="externalLink" 
href="http://axis.apache.org/axis2/java/transports/index.html";>Axis2 
Transport</a>
+                               project:
+                       </p>
+                       
+<ul>
+                               
+<li>
+                                       A
+                                       <a class="externalLink" 
href="http://axis.apache.org/axis2/java/transports/jms.html";>JMS transport</a>
+                                       supporting any JMS 1.0 or 1.1 provider.
+                               </li>
+                               
+<li>
+                                       A
+                                       <a class="externalLink" 
href="http://axis.apache.org/axis2/java/transports/mail.html";>Mail transport</a>
+                                       able to send messages using SMTP and 
poll messages from a POP3 or IMAP account.
+                                       
+<p>
+                        Apache Synapse is also compatible with the following 
transport implementations
+                        from the Apache Axis2 Transports project:
+                                       </p>
+                               </li>
+                               
+<li>
+                                       <a class="externalLink" 
href="http://axis.apache.org/axis2/java/transports/tcp-transport.html";>TCP 
transport</a>
+                               </li>
+                               
+<li>
+                                       <a class="externalLink" 
href="http://axis.apache.org/axis2/java/transports/sms.html";>SMS transport</a>
+                               </li>
+                               
+<li>UDP transport</li>
+                               
+<li>
+                                       XMPP transport
+                                       
+<p>
+                                               These transports are not 
shipped with Apache Synapse by default and hence they
+                        should be
+                                               <a class="externalLink" 
href="http://axis.apache.org/axis2/java/transports/download.cgi";>downloaded 
separately</a>
+                                               from the Axis2 transport 
website and installed in the Synapse runtime.
+                                       </p>
+                               </li>
+                       </ul>
+               </div>
+               <a name="Content"></a>
+<div class="section" id="Content">
+<h2><a name="Content"></a>Content</h2>
+                       
+<ul>
+                               
+<li>
+                                       <a href="#Introduction">Introduction</a>
+                               </li>
+                               
+<li>
+                                       <a href="#Contents">Contents</a>
+                               </li>
+                               
+<li>
+                                       <a 
href="#Passthrough_HTTP_transport">Passthrough HTTP transport</a>
+                                       
+<ul>
+                                               
+<li>
+                                                       <a 
href="#Example_configurations">Example configurations</a>
+                                               </li>
+                                               
+<li>
+                                                       <a 
href="#Transport_listener_parameters">Transport listener parameters</a>
+                                               </li>
+                                               
+<li>
+                                                       <a 
href="#Transport_sender_parameters">Transport sender parameters</a>
+                                               </li>
+                                       </ul>
+                               </li>
+                               
+<li>
+                                       <a 
href="#Non-blocking_HTTPNHTTP_transport">Non-blocking HTTP(NHTTP) transport</a>
+                                       
+<ul>
+                                               
+<li>
+                                                       <a 
href="#Example_configurations">Example configurations</a>
+                                               </li>
+                                               
+<li>
+                                                       <a 
href="#Transport_listener_parameters">Transport listener parameters</a>
+                                               </li>
+                                               
+<li>
+                                                       <a 
href="#Transport_sender_parameters">Transport sender parameters</a>
+                                               </li>
+                                       </ul>
+                               </li>
+                               
+<li>
+                                       <a href="#VFS_transport">VFS 
transport</a>
+                                       
+<ul>
+                                               
+<li>
+                                                       <a 
href="#Transport_listener">Transport listener</a>
+                                               </li>
+                                               
+<li>
+                                                       <a 
href="#Transport_sender">Transport sender</a>
+                                               </li>
+                                               
+<li>
+                                                       <a 
href="#Using_SFTP">Using SFTP</a>
+                                               </li>
+                                               
+<li>
+                                                       <a 
href="#Known_issues">Known issues</a>
+                                               </li>
+                                       </ul>
+                               </li>
+                               
+<li>
+                                       <a href="#FIX_transport">FIX 
transport</a>
+                                       
+<ul>
+                                               
+<li>
+                                                       <a 
href="#Setting_up_the_FIX_Transport">Setting up the FIX Transport</a>
+                                               </li>
+                                               
+<li>
+                                                       <a 
href="#FIX_Transport_Parameters">FIX Transport Parameters</a>
+                                               </li>
+                                       </ul>
+                               </li>
+                
+<li>
+                    <a href="#amqp_transport">AMQP transport</a>
+                    
+<ul>
+                        
+<li>
+                            <a href="#setting_up_the_amqp_transport">Setting 
up the AMQP Transport</a>
+                        </li>
+                        
+<li>
+                            <a href="#amqp_transport_parameters">AMQP 
Transport Parameters</a>
+                        </li>
+                        
+<li>
+                            <a href="#amqp_transport_ex">Sample 
Configurations</a>
+                        </li>
+                    </ul>
+                </li>
+                       </ul>
+               </div>
+               <a name="Passthrough_HTTP_transport"></a>
+<div class="section" id="Passthrough_HTTP_transport">
+<h2><a name="Passthrough_HTTP_transport"></a>Passthrough HTTP transport</h2>
+                       <a name="Example_configurations"></a>
+<div class="section" id="Example_configurations">
+<h3><a name="Example_configuration"></a>Example configuration</h3>
+                               
+<div class="xmlConf">&lt;transportReceiver name=&quot;http&quot; 
class=&quot;org.apache.synapse.transport.passthru.PassThroughHttpListener&quot;&gt;
+       &lt;parameter name=&quot;port&quot;&gt;8280&lt;/parameter&gt;
+       &lt;parameter 
name=&quot;httpGetProcessor&quot;locked=&quot;org.apache.synapse.transport.passthru.api.PassThroughNHttpGetProcessor&quot;&gt;true&lt;/parameter&gt;
+&lt;/transportReceiver&gt;
+
+&lt;transportReceiver name=&quot;https&quot; 
class=&quot;org.apache.synapse.transport.passthru.PassThroughHttpSSLListener&quot;&gt;
+       &lt;parameter name=&quot;port&quot; 
locked=&quot;false&quot;&gt;8243&lt;/parameter&gt;
+       &lt;parameter 
name=&quot;httpGetProcessor&quot;locked=&quot;org.apache.synapse.transport.passthru.api.PassThroughNHttpGetProcessor&quot;&gt;true&lt;/parameter&gt;
+       &lt;parameter name=&quot;keystore&quot; locked=&quot;false&quot;&gt;
+               &lt;KeyStore&gt;
+                       &lt;Location&gt;lib/identity.jks&lt;/Location&gt;
+                       &lt;Type&gt;JKS&lt;/Type&gt;
+                       &lt;Password&gt;password&lt;/Password&gt;
+                       &lt;KeyPassword&gt;password&lt;/KeyPassword&gt;
+               &lt;/KeyStore&gt;
+       &lt;/parameter&gt;
+       &lt;parameter name=&quot;truststore&quot; locked=&quot;false&quot;&gt;
+               &lt;TrustStore&gt;
+                       &lt;Location&gt;lib/trust.jks&lt;/Location&gt;
+                       &lt;Type&gt;JKS&lt;/Type&gt;
+                       &lt;Password&gt;password&lt;/Password&gt;
+               &lt;/TrustStore&gt;
+       &lt;/parameter&gt;
+&lt;/transportReceiver&gt;
+
+&lt;transportSender name=&quot;http&quot;  
class=&quot;org.apache.synapse.transport.passthru.PassThroughHttpSender&quot;&gt;
+&lt;/transportSender&gt;
+
+&lt;transportSender name=&quot;https&quot; 
class=&quot;org.apache.synapse.transport.passthru.PassThroughHttpSSLSender&quot;&gt;
+       &lt;parameter name=&quot;keystore&quot; locked=&quot;false&quot;&gt;
+               &lt;KeyStore&gt;
+                       &lt;Location&gt;lib/identity.jks&lt;/Location&gt;
+                       &lt;Type&gt;JKS&lt;/Type&gt;
+                       &lt;Password&gt;password&lt;/Password&gt;
+                       &lt;KeyPassword&gt;password&lt;/KeyPassword&gt;
+               &lt;/KeyStore&gt;
+       &lt;/parameter&gt;
+       &lt;parameter name=&quot;truststore&quot; locked=&quot;false&quot;&gt;
+               &lt;TrustStore&gt;
+                       &lt;Location&gt;lib/trust.jks&lt;/Location&gt;
+                       &lt;Type&gt;JKS&lt;/Type&gt;
+                       &lt;Password&gt;password&lt;/Password&gt;
+               &lt;/TrustStore&gt;
+       &lt;/parameter&gt;
+       &lt;parameter name=&quot;CertificateRevocationVerifier&quot;&gt;
+               &lt;CacheSize&gt;50&lt;/CacheSize&gt;
+       &lt;CacheDurationMins&gt;5&lt;/CacheDurationMins&gt;
+       &lt;/parameter&gt;
+&lt;/transportSender&gt;</div>
+                       </div>
+                       <a name="Transport_listener_parameters"></a>
+<div class="section" id="Transport_listener_parameters">
+<h3><a name="Transport_listener_parameters"></a>Transport listener 
parameters</h3>
+                               
+<p>The following parameters are supported by both the HTTP and the HTTPS 
listener:</p>
+                               
+<dl>
+                                       
+<dt>
+                                               <tt>port</tt>
+                                       </dt>
+                                       
+<dd>The TCP port to bind the listener to.</dd>
+                                       
+<dt>
+                                               <tt>bind-address</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The IP address to bind the 
listener to. This can be used on hosts that have
+                                               more than one network interface 
or IP address to run multiple Synapse instances
+                                               listening to the same port. If 
this parameter is not specified, the
+                                               listener will accept 
connections on any IP address.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>hostname</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The host name to use when 
computing endpoint references in generated WSDL files.
+                                               The default value is the host 
name as provided by the operation system or
+                                               <tt>localhost</tt> if the host 
name can't be determined. The value of this
+                                               parameter is ignored if 
<tt>WSDLEPRPrefix</tt> is specified.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>WSDLEPRPrefix</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The URL prefix to use when 
computing endpoint references in generated WSDL files.
+                                               The value must be a valid URL 
with at least a protocol and host. If this value
+                                               is unspecified, endpoint 
references will be computed based on the listener type
+                                               (HTTP or HTTPS) and 
<tt>hostname</tt> and <tt>port</tt> parameters.
+                                               
+<p>
+                                                       This parameter should 
be used if clients connect to Synapse through a frontend
+                                                       server, e.g. a (load 
balancing) Apache, and these clients rely on the address
+                                                       information in the WSDL 
documents exposed through <tt>...?wsdl</tt> URLs.
+                                               </p>
+                                       </dd>
+                               </dl>
+                               
+<p>The following parameters are specific to the HTTPS listener: </p>
+                               
+<dl>
+                                       
+<dt>
+                                               <tt>keystore</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The keystore configuration. The 
value of this parameter must be a
+                                               <tt>&lt;KeyStore&gt;</tt>
+                                               element as shown in the example 
configurations above.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>truststore</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The truststore configuration. 
The value of this parameter must be a
+                                               <tt>&lt;TrustStore&gt;</tt>
+                                               element as shown in the example 
configurations above.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>SSLVerifyClient</tt>
+                                       </dt>
+                                       
+<dd>
+                                               This parameter has the same 
meaning as the corresponding
+                                               <a class="externalLink" 
href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslverifyclient";>mod_ssl
 directive</a>
+                                               and sets the desired 
certificate verification level for client authentication:
+                                               
+<ul>
+                                                       
+<li>
+                                                               <tt>none</tt> 
(default): no client certificate is required at all
+                                                       </li>
+                                                       
+<li>
+                                                               
<tt>optional</tt>: the client may present a valid certificate, but is
+                                                               not required to 
do so
+                                                       </li>
+                                                       
+<li>
+                                                               
<tt>require</tt>: the client has to present a valid certificate,
+                                                               otherwise the 
connection request will be terminated during SSL handshake
+                                                       </li>
+                                               </ul>
+                                       </dd>
+                               </dl>
+                       </div>
+                       <a name="Transport_sender_parameters"></a>
+<div class="section" id="Transport_sender_parameters">
+<h3><a name="Transport_sender_parameters"></a>Transport sender parameters</h3>
+                               
+<p>
+                                       The following property can be used to 
control based on content-types whether the
+                                       HTTP/HTTPS sender shall output a 
warning for responses with HTTP status code 500.
+                               </p>
+                               
+<dl>
+                                       
+<dt>
+                                               <tt>warnOnHTTP500</tt>
+                                       </dt>
+                                       
+<dd>
+                                               A list of content-types for 
which Synapse shall output a warning when receiving
+                                               an HTTP 500 response (each 
value each separated by a |). By default, Synapse
+                                               outputs a warning for any HTTP 
500 response, irrespective of the content-type.
+                                               Consequently, also for each 
SOAP fault a warning will be logged. If only for
+                                               specific content-types a 
warning shall be logged, please provide a |-separated
+                                               list. To output the warning for 
messages which do not have a content-type set,
+                                               please use the value 'none'.
+                                               
+<p>
+                                                       Example value: 
x-application/hessian|none
+                                               </p>
+                                       </dd>
+                               </dl>
+                               
+<p>
+                                       The following properties can be used to 
configure the HTTP sender to use a proxy.
+                                       They can be specified either as 
transport parameters in declared in
+                                       <tt>&lt;transportSender&gt;</tt> or as 
system properties.
+                               </p>
+                               
+<dl>
+                                       
+<dt>
+                                               <tt>http.proxyHost</tt>
+                                       </dt>
+                                       
+<dd>The host name or address of the proxy server.</dd>
+                                       
+<dt>
+                                               <tt>http.proxyPort</tt>
+                                       </dt>
+                                       
+<dd>The TCP port of the proxy server.</dd>
+                                       
+<dt>
+                                               <tt>http.nonProxyHosts</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The hosts to which the HTTP 
sender should connect directly and not through
+                                               the proxy server. The value can 
be a list of hosts, each separated by a |, and
+                                               in addition a wildcard 
character (*) can be used for matching.
+                                               
+<p>
+                                                       Example value:
+                                                       
<tt>*.foo.com|localhost</tt>
+                                               </p>
+                                       </dd>
+                               </dl>
+                               
+<p>Note that the HTTPS sender has no proxy support yet.</p>
+                               
+<p>The following parameters are specific to the HTTPS sender:</p>
+                               
+<dl>
+                                       
+<dt>
+                                               <tt>keystore</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The keystore configuration. The 
value of this parameter must be a
+                                               <tt>&lt;KeyStore&gt;</tt> 
element as shown in the example configurations
+                                               above.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>truststore</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The truststore configuration. 
The value of this parameter must be a
+                                               <tt>&lt;TrustStore&gt;</tt>
+                                               element as shown in the example 
configurations above.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>novalidatecert</tt>
+                                       </dt>
+                                       
+<dd>
+                                               When set to <tt>true</tt>, this 
parameter disables server certificate
+                                               validation (trust). The default 
value is <tt>false</tt>. This parameter will
+                                               be ignored if 
<tt>truststore</tt> is set.
+                                               
+<p>
+                                                       Setting his parameter 
to <tt>true</tt>
+                                                       is useful in 
development and test environments, but should not be used in
+                                                       production 
environments. If validation is disabled, a warning message will
+                                                       be logged at startup.
+                                               </p>
+                                       </dd>
+                                       
+<dt>
+                                               <tt>HostnameVerifier</tt>
+                                       </dt>
+                                       
+<dd>
+                                               This optional parameter 
specifies the policy to apply when checking that the
+                                               hostname of the server matches 
the names stored inside the X.509 certificate
+                                               presented by the server. 
Possible values are <tt>Strict</tt>, <tt>AllowAll</tt>
+                                               and 
<tt>DefaultAndLocalhost</tt>. See the
+                                               <a 
href="../apidocs/org/apache/synapse/transport/nhttp/HostnameVerifier.html">HostnameVerifier
 Javadoc</a>
+                                               for more details.
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>CertificateRevocationVerifier</tt>
+                                       </dt>
+                                       
+<dd>
+                                               This is an optional parameter 
to validate the revocation status of the host
+                                               certificates using <a 
class="externalLink" href="http://www.ietf.org/rfc/rfc2560.txt";>OCSP</a> and
+                                               <a class="externalLink" 
href="http://www.ietf.org/rfc/rfc5280.txt";>CRL</a> when making HTTPS 
connections.
+                                               Simply uncomment this parameter 
in the axis2.xml file to enable the feature.
+                                               Two LRU caches are used to 
cache CRLs and OCSP responses until they are expired. &quot;CacheSize&quot;
+                                               property defines the maximum 
size of a cache. When this limit is reached, the
+                                               old values will be 
automatically removed and updated with new values. &quot;CacheDurationMins&quot;
+                                               is used to configure the time 
duration (in minutes) between two consecutive
+                                               runs of the CacheManager task 
which periodically performs housekeeping work
+                                               in each cache. Refer the 
example configuration above to see how to configure
+                                               these properties. The scheduled 
CacheManager tasks for OCSP and CRL caches can
+                                               be manually controlled using 
the JMX MBeans registered under the &quot;CacheController&quot;
+                                               category.
+                                       </dd>
+                               </dl>
+                       </div>
+               </div>
+           <a name="Non-blocking_HTTPNHTTP_transport"></a>
+<div class="section" id="Non-blocking_HTTP(NHTTP)_transport">
+<h2><a name="Non-blocking_HTTP_NHTTP_transport"></a>Non-blocking HTTP (NHTTP) 
transport</h2>
+                       <a name="Example_configurations"></a>
+<div class="section" id="Example_configurations">
+<h3><a name="Example_configuration"></a>Example configuration</h3>
+                               
+<div class="xmlConf">&lt;transportReceiver name=&quot;http&quot; 
class=&quot;org.apache.synapse.transport.nhttp.HttpCoreNIOListener&quot;&gt;
+    &lt;parameter name=&quot;port&quot;&gt;8280&lt;/parameter&gt;
+    &lt;parameter name=&quot;non-blocking&quot;&gt;true&lt;/parameter&gt;
+&lt;/transportReceiver&gt;
+
+&lt;transportReceiver name=&quot;https&quot; 
class=&quot;org.apache.synapse.transport.nhttp.HttpCoreNIOSSLListener&quot;&gt;
+    &lt;parameter name=&quot;port&quot; 
locked=&quot;false&quot;&gt;8243&lt;/parameter&gt;
+    &lt;parameter name=&quot;non-blocking&quot; 
locked=&quot;false&quot;&gt;true&lt;/parameter&gt;
+    &lt;parameter name=&quot;keystore&quot; locked=&quot;false&quot;&gt;
+        &lt;KeyStore&gt;
+            &lt;Location&gt;lib/identity.jks&lt;/Location&gt;
+            &lt;Type&gt;JKS&lt;/Type&gt;
+            &lt;Password&gt;password&lt;/Password&gt;
+            &lt;KeyPassword&gt;password&lt;/KeyPassword&gt;
+        &lt;/KeyStore&gt;
+    &lt;/parameter&gt;
+    &lt;parameter name=&quot;truststore&quot; locked=&quot;false&quot;&gt;
+        &lt;TrustStore&gt;
+            &lt;Location&gt;lib/trust.jks&lt;/Location&gt;
+            &lt;Type&gt;JKS&lt;/Type&gt;
+            &lt;Password&gt;password&lt;/Password&gt;
+        &lt;/TrustStore&gt;
+    &lt;/parameter&gt;
+&lt;/transportReceiver&gt;
+
+&lt;transportSender name=&quot;http&quot;  
class=&quot;org.apache.synapse.transport.nhttp.HttpCoreNIOSender&quot;&gt;
+    &lt;parameter name=&quot;non-blocking&quot; 
locked=&quot;false&quot;&gt;true&lt;/parameter&gt;
+    &lt;parameter name=&quot;warnOnHTTP500&quot; 
locked=&quot;false&quot;&gt;*&lt;/parameter&gt;
+&lt;/transportSender&gt;
+
+&lt;transportSender name=&quot;https&quot; 
class=&quot;org.apache.synapse.transport.nhttp.HttpCoreNIOSSLSender&quot;&gt;
+    &lt;parameter name=&quot;non-blocking&quot; 
locked=&quot;false&quot;&gt;true&lt;/parameter&gt;
+    &lt;parameter name=&quot;warnOnHTTP500&quot; 
locked=&quot;false&quot;&gt;*&lt;/parameter&gt;
+    &lt;parameter name=&quot;keystore&quot; locked=&quot;false&quot;&gt;
+        &lt;KeyStore&gt;
+            &lt;Location&gt;lib/identity.jks&lt;/Location&gt;
+            &lt;Type&gt;JKS&lt;/Type&gt;
+            &lt;Password&gt;password&lt;/Password&gt;
+            &lt;KeyPassword&gt;password&lt;/KeyPassword&gt;
+        &lt;/KeyStore&gt;
+    &lt;/parameter&gt;
+    &lt;parameter name=&quot;truststore&quot; locked=&quot;false&quot;&gt;
+        &lt;TrustStore&gt;
+            &lt;Location&gt;lib/trust.jks&lt;/Location&gt;
+            &lt;Type&gt;JKS&lt;/Type&gt;
+            &lt;Password&gt;password&lt;/Password&gt;
+        &lt;/TrustStore&gt;
+    &lt;/parameter&gt;
+    &lt;parameter name=&quot;CertificateRevocationVerifier&quot;&gt;
+            &lt;CacheSize&gt;50&lt;/CacheSize&gt;
+            &lt;CacheDurationMins&gt;5&lt;/CacheDurationMins&gt;
+    &lt;/parameter&gt;
+&lt;/transportSender&gt;</div>
+                       </div>
+                       <a name="Transport_listener_parameters"></a>
+<div class="section" id="Transport_listener_parameters">
+<h3><a name="Transport_listener_parameters"></a>Transport listener 
parameters</h3>
+                               
+<p>The following parameters are supported by both the HTTP and the HTTPS 
listener:</p>
+                               
+<dl>
+                                       
+<dt>
+                                               <tt>port</tt>
+                                       </dt>
+                                       
+<dd>The TCP port to bind the listener to.</dd>
+                                       
+<dt>
+                                               <tt>bind-address</tt>
+                                       </dt>
+                                       
+<dd>
+                        The IP address to bind the listener to. This can be 
used on hosts that have
+                        more than one network interface or IP address to run 
multiple Synapse instances
+                        listening to the same port. If this parameter is not 
specified, the
+                                               listener will accept 
connections on any IP address.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>hostname</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The host name to use when 
computing endpoint references in generated WSDL files.
+                        The default value is the host name as provided by the 
operation system or
+                                               <tt>localhost</tt> if the host 
name can't be determined. The value of this
+                        parameter is ignored if <tt>WSDLEPRPrefix</tt> is 
specified.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>WSDLEPRPrefix</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The URL prefix to use when 
computing endpoint references in generated WSDL files.
+                        The value must be a valid URL with at least a protocol 
and host. If this value
+                        is unspecified, endpoint references will be computed 
based on the listener type
+                        (HTTP or HTTPS) and <tt>hostname</tt> and 
<tt>port</tt> parameters.
+                                               
+<p>
+                                                       This parameter should 
be used if clients connect to Synapse through a frontend
+                            server, e.g. a (load balancing) Apache, and these 
clients rely on the address
+                            information in the WSDL documents exposed through 
<tt>...?wsdl</tt> URLs.
+                                               </p>
+                                       </dd>
+                               </dl>
+                               
+<p>The following parameters are specific to the HTTPS listener: </p>
+                               
+<dl>
+                                       
+<dt>
+                                               <tt>keystore</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The keystore configuration. The 
value of this parameter must be a
+                                               <tt>&lt;KeyStore&gt;</tt>
+                                               element as shown in the example 
configurations above.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>truststore</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The truststore configuration. 
The value of this parameter must be a
+                                               <tt>&lt;TrustStore&gt;</tt>
+                                               element as shown in the example 
configurations above.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>SSLVerifyClient</tt>
+                                       </dt>
+                                       
+<dd>
+                                               This parameter has the same 
meaning as the corresponding
+                                               <a class="externalLink" 
href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslverifyclient";>mod_ssl
 directive</a>
+                                               and sets the desired 
certificate verification level for client authentication:
+                                               
+<ul>
+                                                       
+<li>
+                                                               <tt>none</tt> 
(default): no client certificate is required at all
+                                                       </li>
+                                                       
+<li>
+                                                               
<tt>optional</tt>: the client may present a valid certificate, but is
+                                not required to do so
+                                                       </li>
+                                                       
+<li>
+                                                               
<tt>require</tt>: the client has to present a valid certificate,
+                                otherwise the connection request will be 
terminated during SSL handshake
+                                                       </li>
+                                               </ul>
+                                       </dd>
+                               </dl>
+                       </div>
+                       <a name="Transport_sender_parameters"></a>
+<div class="section" id="Transport_sender_parameters">
+<h3><a name="Transport_sender_parameters"></a>Transport sender parameters</h3>
+                               
+<p>
+                    The following property can be used to control based on 
content-types whether the
+                    HTTP/HTTPS sender shall output a warning for responses 
with HTTP status code 500.
+                               </p>
+                               
+<dl>
+                                       
+<dt>
+                                               <tt>warnOnHTTP500</tt>
+                                       </dt>
+                                       
+<dd>
+                        A list of content-types for which Synapse shall output 
a warning when receiving
+                        an HTTP 500 response (each value each separated by a 
|). By default, Synapse
+                        outputs a warning for any HTTP 500 response, 
irrespective of the content-type.
+                        Consequently, also for each SOAP fault a warning will 
be logged. If only for
+                        specific content-types a warning shall be logged, 
please provide a |-separated
+                        list. To output the warning for messages which do not 
have a content-type set,
+                        please use the value 'none'.
+                                               
+<p>
+                            Example value: x-application/hessian|none
+                        </p>
+                                       </dd>
+                               </dl>
+                               
+<p>
+                                       The following properties can be used to 
configure the HTTP sender to use a proxy.
+                    They can be specified either as transport parameters in 
declared in
+                                       <tt>&lt;transportSender&gt;</tt> or as 
system properties.
+                               </p>
+                               
+<dl>
+                                       
+<dt>
+                                               <tt>http.proxyHost</tt>
+                                       </dt>
+                                       
+<dd>The host name or address of the proxy server.</dd>
+                                       
+<dt>
+                                               <tt>http.proxyPort</tt>
+                                       </dt>
+                                       
+<dd>The TCP port of the proxy server.</dd>
+                                       
+<dt>
+                                               <tt>http.nonProxyHosts</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The hosts to which the HTTP 
sender should connect directly and not through
+                        the proxy server. The value can be a list of hosts, 
each separated by a |, and
+                        in addition a wildcard character (*) can be used for 
matching.
+                                               
+<p>
+                                                       Example value:
+                                                       
<tt>*.foo.com|localhost</tt>
+                                               </p>
+                                       </dd>
+                               </dl>
+                               
+<p>Note that the HTTPS sender has no proxy support yet.</p>
+                               
+<p>The following parameters are specific to the HTTPS sender:</p>
+                               
+<dl>
+                                       
+<dt>
+                                               <tt>keystore</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The keystore configuration. The 
value of this parameter must be a
+                                               <tt>&lt;KeyStore&gt;</tt> 
element as shown in the example configurations
+                        above.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>truststore</tt>
+                                       </dt>
+                                       
+<dd>
+                                               The truststore configuration. 
The value of this parameter must be a
+                                               <tt>&lt;TrustStore&gt;</tt>
+                                               element as shown in the example 
configurations above.
+                                       </dd>
+                                       
+<dt>
+                                               <tt>novalidatecert</tt>
+                                       </dt>
+                                       
+<dd>
+                                               When set to <tt>true</tt>, this 
parameter disables server certificate
+                        validation (trust). The default value is 
<tt>false</tt>. This parameter will
+                        be ignored if <tt>truststore</tt> is set.
+                                               
+<p>
+                                                       Setting his parameter 
to <tt>true</tt>
+                                                       is useful in 
development and test environments, but should not be used in
+                            production environments. If validation is 
disabled, a warning message will
+                            be logged at startup.
+                                               </p>
+                                       </dd>
+                                       
+<dt>
+                                               <tt>HostnameVerifier</tt>
+                                       </dt>
+                                       
+<dd>
+                                               This optional parameter 
specifies the policy to apply when checking that the
+                        hostname of the server matches the names stored inside 
the X.509 certificate
+                        presented by the server. Possible values are 
<tt>Strict</tt>, <tt>AllowAll</tt>
+                        and <tt>DefaultAndLocalhost</tt>. See the
+                                               <a 
href="../apidocs/org/apache/synapse/transport/nhttp/HostnameVerifier.html">HostnameVerifier
 Javadoc</a>
+                                               for more details.
+                                       </dd>
+                    
+<dt>
+                        <tt>CertificateRevocationVerifier</tt>
+                    </dt>
+                    
+<dd>
+                        This is an optional parameter to validate the 
revocation status of the host
+                        certificates using <a class="externalLink" 
href="http://www.ietf.org/rfc/rfc2560.txt";>OCSP</a> and
+                        <a class="externalLink" 
href="http://www.ietf.org/rfc/rfc5280.txt";>CRL</a> when making HTTPS 
connections.
+                        Simply uncomment this parameter in the axis2.xml file 
to enable the feature.
+                        Two LRU caches are used to cache CRLs and OCSP 
responses until they are expired. &quot;CacheSize&quot;
+                        property defines the maximum size of a cache. When 
this limit is reached, the
+                        old values will be automatically removed and updated 
with new values. &quot;CacheDurationMins&quot;
+                        is used to configure the time duration (in minutes) 
between two consecutive
+                        runs of the CacheManager task which periodically 
performs housekeeping work
+                        in each cache. Refer the example configuration above 
to see how to configure
+                        these properties. The scheduled CacheManager tasks for 
OCSP and CRL caches can
+                        be manually controlled using the JMX MBeans registered 
under the &quot;CacheController&quot;
+                        category.
+                    </dd>
+                               </dl>
+               </div>
+               </div>
+                <a name="VFS_transport"></a>
+<div class="section" id="VFS_transport">
+<h2><a name="VFS_transport"></a>VFS transport</h2>
+                       <a name="Transport_listener"></a>
+<div class="section" id="Transport_listener">
+<h3><a name="Transport_listener"></a>Transport listener</h3>
+               
+                               
+<p>
+                    The VFS transport listener receives messages dropped in a 
given local or remote file
+                    system location. The location is specified by a URL that 
either identifies a single
+                    file or a directory. The transport listener will 
periodically poll the specified
+                    location and process any file(s) found. After a file has 
been processed it will be
+                                       deleted or moved to another location. 
Note that this is absolutely mandatory to
+                    prevent the listener from processing files multiple times. 
Therefore, the VFS transport
+                    listener can only be used in situations where it has write 
access to the file system
+                    location and where deleting or moving the dropped files is 
acceptable.
+                               </p>
+                               
+<p>
+                                       The transport is based on
+                                       <a class="externalLink" 
href="http://commons.apache.org/vfs/";>Apache Commons VFS</a>
+                                       and supports any protocol for which a 
VFS provider is available. The transport is
+                    pre-configured with providers for local files (
+                                       <tt>file:</tt>
+                                       scheme), HTTP, HTTPS, FTP and SFTP 
(i.e. file transfer over SSH).
+                               </p>
+                               
+<p>
+                    There is a fundamental difference between the VFS 
transport and transports such as
+                    HTTP and it is important to understand this difference to 
be able to use the VFS
+                    transport correctly. The HTTP transport binds to a single 
protocol endpoint, i.e.
+                    a TCP port on which it accepts incoming HTTP requests. 
These requests are then
+                    dispatched to the right service based on the request URI. 
On the other hand, the
+                    VFS transport only receives the payload of a message, but 
no additional information
+                    that could be used to dispatch the message to a service. 
This means that file system
+                    locations must be explicitly mapped to services. This is 
done using a set of service
+                    parameters.
+                               </p>
+                               
+<p>For Synapse this means that the VFS transport listener can only be used in
+                    conjunction with proxy services. The relevant service 
parameters are then specified
+                    as follows:
+                               </p>
+                               
+<div class="xmlConf">&lt;proxy name=&quot;MyVFSService&quot; 
transports=&quot;vfs&quot;&gt;
+    &lt;parameter 
name=&quot;transport.vfs.FileURI&quot;&gt;file:///var/spool/synapse/in&lt;/parameter&gt;
+    &lt;parameter 
name=&quot;transport.vfs.ContentType&quot;&gt;application/xml&lt;/parameter&gt;
+    ...
+    &lt;target&gt;
+           ...
+    &lt;/target&gt;
+&lt;/proxy&gt;</div>
+                               
+<p>
+                                       In this example the file system location
+                                       <tt>file:///var/spool/synapse/in</tt>
+                                       is explicitly bound to
+                                       <tt>MyVFSService</tt>
+                                       , i.e. any message dropped in that 
location will be predispatched to that service, bypassing any other configured
+                                       dispatch mechanisms that would apply to 
messages received through HTTP.
+                               </p>
+                               
+<p>The VFS transport recognizes the following service parameters:</p>
+                               
+<dl>
+                                       
+<dt>
+                                               
<tt>transport.vfs.FileURI</tt>(Required)
+                                       </dt>
+                                       
+<dd>
+                        The primary File (or Directory) URI in the vfs* 
transport format, for this
+                        service
+                    </dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.ContentType</tt> (Required)
+                                       </dt>
+                                       
+<dd>
+                                               The expected content type for 
files retrieved for this service. The VFS
+                        transport uses this information to select the 
appropriate message builder.
+                                               
+<p>Examples:</p>
+                                               
+<ul>
+                                                       
+<li>
+                                                               
<tt>text/xml</tt> for plain XML or SOAP
+                                                       </li>
+                                                       
+<li>
+                                                               <tt>text/plain; 
charset=ISO-8859-1</tt> for text files
+                                                       </li>
+                                                       
+<li>
+                                                               
<tt>application/octet-stream</tt> for binary data
+                                                       </li>
+                                               </ul>
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.FileNamePattern</tt>
+                                               (Optional)
+                                       </dt>
+                                       
+<dd>
+                        A file name regex pattern to match files against a 
directory specified by
+                        the FileURI
+                    </dd>
+                                       
+<dt>
+                                               <tt>transport.PollInterval</tt> 
(Optional)
+                                       </dt>
+                                       
+<dd> The poll interval (in seconds)</dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.ActionAfterProcess</tt> (Optional)
+                                       </dt>
+                                       
+<dd> DELETE or MOVE</dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.MoveAfterProcess</tt> (Optional)
+                                       </dt>
+                                       
+<dd>
+                        The directory to move files after processing (i.e. all 
files process
+                        successfully)
+                    </dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.ActionAfterErrors</tt> (Optional)
+                                       </dt>
+                                       
+<dd> DELETE or MOVE</dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.MoveAfterErrors</tt> (Optional)
+                                       </dt>
+                                       
+<dd>
+                        The directory to move files after errors (i.e. some of 
the files succeed
+                        but some fail)
+                    </dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.ActionAfterFailure</tt> (Optional)
+                                       </dt>
+                                       
+<dd> DELETE or MOVE</dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.MoveAfterFailure</tt> (Optional)
+                                       </dt>
+                                       
+<dd> The directory to move after failure (i.e. all files fail)</dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.ReplyFileURI</tt> (Optional)
+                                       </dt>
+                                       
+<dd> Reply file URI</dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.ReplyFileName</tt> (Optional)
+                                       </dt>
+                                       
+<dd> Reply file name (defaults to response.xml)</dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.MoveTimestampFormat</tt> (Optional)
+                                       </dt>
+                                       
+<dd>
+                        Timestamp prefix format for processed file name. 
java.text.SimpleDateFormat
+                        compatible string. e.g. yyMMddHHmmss'-'
+                                       </dd>
+                                       
+<dt>
+                                               <tt>transport.vfs.Locking</tt> 
(Optional)
+                                       </dt>
+                                       
+<dd>
+                                               By-default file locking is 
turned on in the VFS transport, and this parameter
+                        lets you configure the locking behaviour on a per 
service basis. Possible values are
+                                               <tt>enable</tt> or 
<tt>disable</tt>, and both these values are important because
+                        the locking can be disabled at the global level by 
specifying that at the
+                        receiver level and selectively enable locking only for 
a set of services.
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.vfs.Streaming</tt> (Optional)
+                                       </dt>
+                                       
+<dd>
+                                               If this parameter is set to 
<tt>true</tt>, the transport will attempt to use a
+                                               
<tt>javax.activation.DataSource</tt> (instead of a <tt>java.io.InputStream</tt>
+                                               ) object to pass the content of 
the file to the message builder. Note that this
+                        is only supported by some message builders, e.g. for 
plain text and binary.
+                                               
+<p>
+                            This allows processing of the message without 
storing the entire content
+                            in memory. It also has two other side effects:
+                                               </p>
+                                               
+<ul>
+                                                       
+<li>
+                                The incoming file (or connection in case of a 
remote file) will only
+                                be opened on demand.
+                            </li>
+                                                       
+<li>
+                                Since the data is not cached, the file might 
be read several times.
+                            </li>
+                                               </ul>
+                                               
+<p>
+                            This option can be used to achieve streaming of 
large payloads. Note that
+                            this feature is still somewhat experimental and 
might be superseded by a
+                            more flexible mechanism in a future release.
+                                               </p>
+                                       </dd>
+                               </dl>
+                               
+<p>
+                                       Note that since the VFS endpoints are 
configured at the level of the service, the
+                    only parameter that is available at the listener is the 
file locking configuration
+                    parameter which is optional and the transport listener is 
enabled in
+                                       <tt>axis2.xml</tt>
+                                       simply as follows:
+                               </p>
+                               
+<div class="xmlConf">&lt;transportReceiver name=&quot;vfs&quot; 
class=&quot;org.apache.synapse.transport.vfs.VFSTransportListener&quot;&gt;
+    &lt;parameter name=&quot;transport.vfs.Locking&quot;&gt;enable | 
disable&lt;/parameter&gt; ?
+&lt;/transportReceiver&gt;</div>
+                       </div>
+                       <a name="Transport_sender"></a>
+<div class="section" id="Transport_sender">
+<h3><a name="Transport_sender"></a>Transport sender</h3>
+                               
+<p>
+                    The VFS transport sender allows to write outgoing messages 
to local or remote files.
+                    As with the listener, the transport sender supports any 
protocol for which there
+                    is a VFS provider.
+                               </p>
+                               
+<p>
+                                       The sender is enabled be the following 
directive in
+                                       <tt>axis2.xml</tt> file locking which 
is by-default enabled can be configured
+                    using the <tt>transport.vfs.Locking</tt> parameter:
+                               </p>
+                               
+<div class="xmlConf">&lt;transportSender name=&quot;vfs&quot; 
class=&quot;org.apache.synapse.transport.vfs.VFSTransportSender&quot;&gt;
+    &lt;parameter name=&quot;transport.vfs.Locking&quot;&gt;enable | 
disable&lt;/parameter&gt; ?
+&lt;/transportSender&gt;</div>
+                               
+<p>
+                                       To send a message using the VFS 
transport, the destination URI must start with
+                                       <tt>vfs:</tt> followed by a valid VFS 
URL. For example, in a Synapse mediation,
+                    one would use:
+                               </p>
+                               
+<div class="xmlConf">&lt;endpoint&gt;
+    &lt;address uri=&quot;vfs:file:///var/spool/synapse/out&quot;/&gt;
+&lt;/endpoint&gt;</div>
+                               
+<p>
+                                       Other examples of valid VFS URLs are 
(see
+                                       <a class="externalLink" 
href="http://commons.apache.org/vfs/filesystems.html";>http://commons.apache.org/vfs/filesystems.html</a>
+                                       for more samples):
+                               </p>
+                               
+<ul>
+                                       
+<li>
+                                               
<tt>file:///directory/filename.ext</tt>
+                                       </li>
+                                       
+<li>
+                                               
<tt>file:////somehost/someshare/afile.txt</tt>
+                                       </li>
+                                       
+<li>
+                                               
<tt>jar:../lib/classes.jar!/META-INF/manifest.mf</tt>
+                                       </li>
+                                       
+<li>
+                                               
<tt>jar:zip:outer.zip!/nested.jar!/somedir</tt>
+                                       </li>
+                                       
+<li>
+                                               
<tt>ftp://myusername:mypassword@somehost/pub/downloads/somefile.tgz[?vfs.passive=true]</tt>
+                                       </li>
+                               </ul>
+                               
+<p>
+                                       The global configuration of the file 
locking can be overriden by providing the
+                                       <tt>transport.vfs.Locking</tt> as a URL 
parameter with the appropriate value (
+                                       <tt>enable</tt>, or <tt>disable</tt>) 
on a given endpoint.
+                               </p>
+                               
+<p>
+                    It should be noted that by its nature, the VFS transport 
sender doesn't support
+                    synchronous responses and should only be invoked using the 
out-only message
+                    exchange pattern. In a Synapse mediation, this can be 
forced using the
+                                       following mediator:
+                               </p>
+                               
+<div class="xmlConf">&lt;property action=&quot;set&quot; 
name=&quot;OUT_ONLY&quot; value=&quot;true&quot;/&gt;</div>
+                       </div>
+                       <a name="Using_SFTP"></a>
+<div class="section" id="Using_SFTP">
+<h3><a name="Using_SFTP"></a>Using SFTP</h3>
+                               
+<p>
+                    To avoid man-in-the-middle attacks, SSH clients will only 
connect to hosts with
+                    a known host key. When connecting for the first time to an 
SSH server, a typical
+                    command line SSH client would request confirmation from 
the user to add the
+                    server and its fingerprint to the list of known hosts.
+                               </p>
+                               
+<p>
+                                       The VFS transports supports SFTP 
through the
+                                       <a class="externalLink" 
href="http://www.jcraft.com/jsch/";>JSch</a>
+                                       library and this library also requires 
a list of known hosts. Since Synapse is
+                    not an interactive process, it can't request confirmation 
from the user and is
+                    therefore unable to automatically add a host to the list. 
This implies that the
+                    list of known hosts must be set up manually before the 
transport can connect.
+                               </p>
+                               
+<p>
+                                       Jsch loads the list of known hosts from 
a file called <tt>known_hosts</tt> in
+                    the <tt>.ssh</tt> sub-directory of the user's home 
directory, i.e. <tt>$HOME/.ssh</tt>
+                                       in Unix and <tt>%HOMEPATH%\.ssh</tt> in 
Windows. The location and format of this
+                    file are compatible with the <a class="externalLink" 
href="http://www.openssh.com/";>OpenSSH</a>
+                                       client.
+                               </p>
+                               
+<p>
+                                       Since the file not only contains a list 
of host names but also the fingerprints
+                    of their host keys, the easiest way to add a new host to 
that file is to simply
+                    use the OpenSSH client to open an SSH session on the 
target host. The client will
+                    then ask to add the credentials to the 
<tt>known_hosts</tt> file. Note that if
+                    the SSH server is configured to only allow SFTP sessions, 
but no interactive
+                    sessions, the connection will actually fail. Since this 
doesn't rollback the
+                    change to the <tt>known_hosts</tt> file, this error can be 
ignored.
+                               </p>
+                       </div>
+                       <a name="Known_issues"></a>
+<div class="section" id="Known_issues">
+<h3><a name="Known_issues"></a>Known issues</h3>
+                               
+<p>
+                    The VFS listener will start reading a file as soon as it 
appears in the configured
+                    location. To avoid processing half written files, the 
creation of these files should
+                    be made atomic. On most platforms, this can be achieved by 
writing the data to a
+                    temporary file and then moving the file to the target 
location. Note however that
+                    a move operation is only atomic if the source and 
destination are on the same
+                    physical file system. The location for the temporary file 
should be chosen with
+                    that constraint in mind.
+                               </p>
+                               
+<p>
+                    It should also be noted that the VFS transport sender 
doesn't create files atomically.
+                </p>
+                       </div>
+               </div>
+               <a name="FIX_transport"></a>
+<div class="section" id="FIX_transport">
+<h2><a name="FIX_transport"></a>FIX transport</h2>
+                       
+<p>A general overview about the FIX transport can be found in the following 
articles:</p>
+                       
+<ul>
+                               
+<li>
+                                       <a class="externalLink" 
href="http://wso2.org/library/3449";>Apache Synapse FIX'ed</a>
+                               </li>
+                               
+<li>
+                                       <a class="externalLink" 
href="http://wso2.org/library/3837";>Using the WSO2 ESB and FIX</a>
+                                       (also applies to Synapse)
+                               </li>
+                       </ul>
+                       <a name="Setting_up_the_FIX_Transport"></a>
+<div class="section" id="Setting_up_the_FIX_Transport">
+<h3><a name="Setting_up_the_FIX_Transport"></a>Setting up the FIX 
Transport</h3>
+                               
+<p>
+                                       To use the FIX transport, you need a 
local
+                                       <a class="externalLink" 
href="http://www.quickfixj.org";>Quickfix/J</a>
+                                       installation. Download Quickfix/J from
+                                       <a class="externalLink" 
href="http://www.quickfixj.org/downloads";>http://www.quickfixj.org/downloads</a>
+                                       .
+                               </p>
+                               
+<p>
+                    To enable the FIX transport, you need to uncomment the FIX 
transport sender and
+                    FIX transport receiver configurations in the 
SYNAPSE_HOME/repository/conf/axis2.xml.
+                    Simply locate and uncomment the FIXTransportSender and 
FIXTransportListener sample
+                    configurations. Also, add the following jars to the 
Synapse class path
+                                       (SYNAPSE_HOME/lib directory).
+                               </p>
+                               
+<ul>
+                                       
+<li>quickfixj-core.jar</li>
+                                       
+<li>quickfixj-msg-fix40.jar</li>
+                                       
+<li>quickfixj-msg-fix41.jar</li>
+                                       
+<li>quickfixj-msg-fix42.jar</li>
+                                       
+<li>quickfixj-msg-fix43.jar</li>
+                                       
+<li>quickfixj-msg-fix44.jar</li>
+                                       
+<li>mina-core.jar</li>
+                                       
+<li>slf4j-api.jar</li>
+                                       
+<li>slf4j-jdk14.jar</li>
+                               </ul>
+                               
+<p>All these jars are shipped with the Quickfix/J binary distribution.</p>
+                       </div>
+                       <a name="FIX_Transport_Parameters"></a>
+<div class="section" id="FIX_Transport_Parameters">
+<h3><a name="FIX_Transport_Parameters"></a>FIX Transport Parameters</h3>
+                               
+<p>
+                    This is the list of all parameters accepted by the FIX 
transport. Refer the
+                    sample 257 and 258 to see how some of them are used in 
practice.
+                               </p>
+                               
+<dl>
+                                       
+<dt>
+                                               
<tt>transport.fix.AcceptorConfigURL</tt>
+                                       </dt>
+                                       
+<dd>
+                        If a service needs to listen to incoming FIX messages 
from a remote initiator,
+                        then Synapse needs to create an acceptor. This 
parameter should contain the
+                        URL of the file which contains the FIX configuration 
for the acceptor.
+                                               (See sample 257)
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.fix.InitiatorConfigURL</tt>
+                                       </dt>
+                                       
+<dd>
+                        If a service needs to send FIX messages to a remote 
acceptor Synapse should
+                        create an initiator. This parameter should contain the 
URL of the file which
+                        contains the FIX configuration for the initiator. (See 
sample 257)
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.fix.AcceptorMessageStore</tt>
+                                       </dt>
+                                       
+<dd>
+                        The type of message store to be used with the 
acceptor. Allowed values for
+                        this parameter are 'file', 'jdbc', 'memory' and 
'sleepycat'. If not specified
+                        memory based message store will be used by default. 
Additional parameters
+                        required to configure each of the message stores 
should be specified in the
+                        acceptor configuration file.
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.fix.InitiatorMessageStore</tt>
+                                       </dt>
+                                       
+<dd>
+                        Same as the above but applies only for the initiators. 
Additional parameters
+                        required to configure each of the message stores 
should be specified in the
+                        initiator configuration file.
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.fix.AcceptorLogFactory</tt>
+                                       </dt>
+                                       
+<dd>
+                        Specifies the transport level log factory to be used 
to log messages going
+                        through the acceptor. FIX messages are logged without 
putting them in SOAP
+                        envelopes at this level. Accepted values are 
'console', 'file' and 'jdbc'.
+                                               If not specified no logging 
will be done at the transport level. Additional
+                        parameters required to configure each of the lof 
factories should be specified
+                        in the acceptor configuration file.
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.fix.InitiatorLogFactory</tt>
+                                       </dt>
+                                       
+<dd>
+                        Specifies the transport level log factory to be used 
to log messages going
+                        through the initiator. Functionality is similar to the 
above. Additional
+                        parameters required to configure each of the lof 
factories should be specified
+                                               in the initiator configuration 
file.
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.fix.ResponseDeliverToCompID</tt>
+                                       </dt>
+                                       
+<dd>
+                        If a response FIX message sent from Synapse to a 
remote FIX engine should be
+                        forwarded from the remote engine to another party, 
this parameter can be used
+                        to set the DeliverToCompID field of the messages at 
Synapse.
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.fix.ResponseDeliverToSubID</tt>
+                                       </dt>
+                                       
+<dd>
+                        If a response FIX message sent from Synapse to a 
remote FIX engine should be
+                        forwarded from the remote engine to another party, 
this parameter can be used
+                        to set the DeliverToSubID field of the messages at 
Synapse.
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.fix.ResponseDeliverToLocationID</tt>
+                                       </dt>
+                                       
+<dd>
+                        If a response FIX message sent from Synapse to a 
remote FIX engine should be
+                        forwarded from the remote engine to another party, 
this parameter can be used
+                        to set the DeliverToLocationID field of the messages 
at Synapse.
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.fix.ServiceName</tt>
+                                       </dt>
+                                       
+<dd>
+                        Used when messages coming over a different protocol 
has to be forwarded over
+                        FIX. The value must be equal to the name of the 
service and the scope must be
+                        'axis2-client' (See sample 258)
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.fix.SendAllToInSequence</tt>
+                                       </dt>
+                                       
+<dd>
+                        When there are multiple responses to a FIX request and 
when we need only one
+                        of them to be sent to the original requester this 
parameter has to be set to
+                        'false'. This mostly comes handy when the original 
requester is communicating
+                        over a different protocol (like HTTP). If this 
parameter is not set to 'false'
+                        at such scenarios messages might get into a loop. (See 
sample 258)
+                                       </dd>
+                                       
+<dt>
+                                               
<tt>transport.fix.BeginStringValidation</tt>
+                                       </dt>
+                                       
+<dd>
+                        When the FIX messages sent to Synapse should not be 
forwarded to a FIX session
+                        with a different BeginString value this parameter can 
be set to 'true'. Setting
+                        this parameter to 'true' will enforce this restriction.
+                                       </dd>
+                               </dl>
+                       </div>
+               </div>
+        <a name="amqp_transport"></a>
+<div class="section" id="amqp_transport">
+<h2><a name="AMQP_transport"></a>AMQP transport</h2>
+            <a name="setting_up_the_amqp_transport"></a>
+<div class="section" id="setting_up_the_amqp_transport">
+<h3><a name="Setting_Up_the_Transport"></a>Setting Up the Transport</h3>
+                
+<p>
+                    AMQP transport is based on the widely used
+                    <a class="externalLink" 
href="http://www.rabbitmq.com/java-client.html";>Java AMQP client</a> library 
from
+                    <a class="externalLink" 
href="http://www.rabbitmq.com/";>RabbitMQ</a>.
+                    The client library is not distributed with Apache Synapse, 
and hence in order to use
+                    the AMQP transport, download the RabbitMQ Java client and 
copy the client library
+                    (rabbitmq-client.jar) into Synapse classpath 
(SYNAPSE_HOME/lib directory).
+                </p>
+                
+<p>
+                    To enable the AMQP transport, uncomment the AMQP transport 
sender and AMQP transport
+                    receiver configurations in the 
SYNAPSE_HOME/repository/conf/axis2.xml.
+                </p>
+            </div>
+            <a name="amqp_transport_parameters"></a>
+<div class="section" id="amqp_transport_parameters">
+<h3><a name="AMQP_Transport_Parameters"></a>AMQP Transport Parameters</h3>
+                
+<p>
+                    Following parameters can be configured as part of AMQP 
transport receiver, sender,
+                    a proxy service or an AMQP endpoint declaration.
+                </p>
+                
+<dl>
+                    
+<dt>
+                        <tt>transport.amqp.Uri</tt>
+                    </dt>
+                    
+<dd>The connection URL for the broker of the form
+                        
amqp://userName:password@hostName:portNumber/virtualHost</dd>
+                    
+<dt>
+                        <tt>transport.amqp.BrokerList</tt>
+                    </dt>
+                    
+<dd>The list of broker of the form, host1:port1,host2:port2... which will be 
used
+                        as the address array in AMQP connection to the 
broker</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ExchangeName</tt>
+                    </dt>
+                    
+<dd>The name of the exchange to connect</dd>
+                    
+<dt>
+                        <tt>transport.amqp.IsExchangeDurable</tt>
+                    </dt>
+                    
+<dd>Should the exchange be declared as durable?</dd>
+                    
+<dt>
+                        <tt>transport.amqp.IsExchangeAutoDelete</tt>
+                    </dt>
+                    
+<dd>Should the exchange be auto delete? Possible values are true or false</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ChannelPreFetchSize</tt>
+                    </dt>
+                    
+<dd>The channel pre fetch size for fair dispatch</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ChannelPreFetchCountSize</tt>
+                    </dt>
+                    
+<dd>The channel prefetch count for fair dispatch</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ExchangeType</tt>
+                    </dt>
+                    
+<dd>Type of the exchange to use. Possible values are, fanout, direct, header 
or topic</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ExchangeInternal</tt>
+                    </dt>
+                    
+<dd>Should the exchange be declared as internal? Possible values are true or 
false </dd>
+                    
+<dt>
+                        <tt>transport.amqp.BindExchange</tt>
+                    </dt>
+                    
+<dd>The name of the exchange that the publisher/consumer should 
publish/consume message to.</dd>
+                    
+<dt>
+                        <tt>transport.amqp.BindingKeys</tt>
+                    </dt>
+                    
+<dd>The comma separated binding keys this queue should be bound into 
exchange</dd>
+                    
+<dt>
+                        <tt>transport.amqp.RoutingKey</tt>
+                    </dt>
+                    
+<dd>The routing key to be used by the publisher.</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ConsumerTx</tt>
+                    </dt>
+                    
+<dd>Use transactions at consumer side if set to true. By default, this will be
+                        considered false and explicit acknowledgement will be 
done</dd>
+                    
+<dt>
+                        <tt>transport.amqp.QueueName</tt>
+                    </dt>
+                    
+<dd>The name of the queue</dd>
+                    
+<dt>
+                        <tt>transport.amqp.IsQueueDurable</tt>
+                    </dt>
+                    
+<dd>Should the queue declare as durable? Possible values are true or 
false.</dd>
+                    
+<dt>
+                        <tt>transport.amqp.IsQueueRestricted</tt>
+                    </dt>
+                    
+<dd>Should the queue declare as restricted? Possible values are true or 
false.</dd>
+                    
+<dt>
+                        <tt>transport.amqp.IsQueueAutoDelete</tt>
+                    </dt>
+                    
+<dd>Should the queue declare as auto delete when it's no longer in use?.
+                    Possible values are true or false.</dd>
+                    
+<dt>
+                        <tt>transport.amqp.OperateOnBlockingMode</tt>
+                    </dt>
+                    
+<dd>True if the polling task should wait until it process  the accepted
+                        messages. This can be used in conjunction with a 
single thread polling
+                        task (in the whole transport, i.e. only a single AMQP 
proxy per flow)
+                        to achieve in order delivery</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ConnectionFactoryName</tt>
+                    </dt>
+                    
+<dd>The connection factory to be used either with consumer or producer.</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ResponseConnectionFactoryName</tt>
+                    </dt>
+                    
+<dd>In a two-way scenario, which connection factory of the senders' should be 
used
+                        to send the response</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ScheduledTaskInitialDelay</tt>
+                    </dt>
+                    
+<dd>The initial delay (in milliseconds) that the polling task should delay 
before initial attempt</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ScheduledTaskDelay</tt>
+                    </dt>
+                    
+<dd>The delay (in milliseconds) that the polling task should delay before next 
attempt.</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ScheduledTaskTimeUnit</tt>
+                    </dt>
+                    
+<dd>The time unit which should use to calculate,
+                        transport.amqp.ScheduledTaskInitialDelay and 
transport.amqp.ScheduledTaskDelay.</dd>
+                    
+<dt>
+                    <tt>transport.amqp.NoOfConcurrentConsumers</tt>
+                    </dt>
+                    
+<dd>Number of concurrent consumers per polling task.</dd>
+                    
+<dt>
+                        <tt>transport.amqp.NoOfDispatchingTask</tt>
+                    </dt>
+                    
+<dd>Number of dispatching task to use any request messages to actual 
processing task.</dd>
+                    
+<dt>
+                        <tt>transport.amqp.ContentType</tt>
+                    </dt>
+                    
+<dd>Configure the content type as a service parameter.</dd>
+                    
+<dt>
+                        <tt>AMQP_CONTENT_TYPE</tt>
+                    </dt>
+                    
+<dd>Message context property to set the AMQP message content type.</dd>
+                    
+<dt>
+                        <tt>AMQP_CONTENT_ENCODING</tt>
+                    </dt>
+                    
+<dd> Message context property to set the AMQP message encoding</dd>
+                    
+<dt>
+                        <tt>AMQP_HEADER_*</tt>
+                    </dt>
+                    
+<dd>Specify any AMQP headers as message context properties using 
AMQP_HEADER_*</dd>
+                    
+<dt>
+                        <tt>AMQP_DELIVERY_MODE</tt>
+                    </dt>
+                    
+<dd>Message context property to set the AMQP message delivery mode</dd>
+                    
+<dt>
+                        <tt>AMQP_PRIORITY</tt>
+                    </dt>
+                    
+<dd>Message context property to set the AMQP message priority.</dd>
+                    
+<dt>
+                        <tt>AMQP_CORRELATION_ID</tt>
+                    </dt>
+                    
+<dd>Message context property to set the AMQP message correlation id</dd>
+                    
+<dt>
+                        <tt>AMQP_REPLY_TO</tt>
+                    </dt>
+                    
+<dd>Message context property to set the AMQP message reply to header.</dd>
+                    
+<dt>
+                        <tt>AMQP_EXPIRATION</tt>
+                    </dt>
+                    
+<dd>Message context property to set the AMQP expiration.</dd>
+                    
+<dt>
+                        <tt>AMQP_MESSAGE_ID</tt>
+                    </dt>
+                    
+<dd>Message context property to set the message id of the AMQP message</dd>
+                    
+<dt>
+                        <tt>AMQP_TIME_STAMP</tt>
+                    </dt>
+                    
+<dd>Message context property to set the timestamp of the AMQP message.</dd>
+                    
+<dt>
+                        <tt>AMQP_TYPE</tt>
+                    </dt>
+                    
+<dd>Message context property to set the type of the AMQP message</dd>
+                    
+<dt>
+                        <tt>AMQP_PRODUCER_TX</tt>
+                    </dt>
+                    
+<dd>Use transactions at producer side. Possible values are tx(for blocking 
transactions),
+                        lwpc(for light weight producer connections).
+                    </dd>
+                    
+<dt>
+                        <tt>connection-factory-pool-size</tt>
+                    </dt>
+                    
+<dd>A system property to set the worker pool size of the connection factory 
executor service.</dd>
+                    
+<dt>
+                        <tt>worker-pool-size</tt>
+                    </dt>
+                    
+<dd>A system property to set the worker pool size used by deployed services 
for polling broker.</dd>
+                    
+<dt>
+                        <tt>semaphore-time-out</tt>
+                    </dt>
+                    
+<dd>A system property to set the timeout (in seconds) of semaphore which waits 
for
+                    a response.
+                    </dd>
+                    
+<dt>
+                        <tt>initial-reconnect-duration</tt>
+                    </dt>
+                    
+<dd>If a polling task encounter an exception due to some reason(most probably
+                        due to broker outage) it will be suspended until a 
successful re-connect.
+                        This system property defines the initial duration that 
the re-connection
+                        check task should be suspended (1000 ms by default) 
before next re-try.</dd>
+                    
+<dt>
+                        <tt>reconnection-progression-factor</tt>
+                    </dt>
+                    
+<dd>A system property to define the factor (2.0 by default) to multiply the 
initial
+                        suspended duration to calculate the next suspending 
duration for the
+                        re-connection check task.</dd>
+                    
+<dt>
+                        <tt>maximum-reconnection-duration</tt>
+                    </dt>
+                    
+<dd>The maximum duration that re-connection check task should be suspended(
+                        10 minutes by default). After this time is reached, 
the suspended duration
+                        will be fall back to its original initial configured 
duration.
+                    </dd>
+                </dl>
+            </div>
+            <a name="amqp_transport_ex"></a>
+<div class="section" id="amqp_transport_ex">
+<h3><a name="Sample_Configurations"></a>Sample Configurations</h3>
+                    
+<p>Producer example</p>
+                    
+<div class="xmlConf">
+&lt;proxy name=&quot;ProducerProxy&quot; transports=&quot;http&quot;&gt;
+    &lt;target&gt;
+        &lt;inSequence&gt;
+            &lt;property action=&quot;set&quot; name=&quot;OUT_ONLY&quot; 
value=&quot;true&quot;/&gt;
+            &lt;property name=&quot;PRESERVE_WS_ADDRESSING&quot; 
value=&quot;true&quot;/&gt;&quot;
+            &lt;log level=&quot;custom&quot;&gt;
+                &lt;property name=&quot;status&quot; value=&quot;At 
ProducerProxy&quot;/&gt;
+            &lt;/log&gt;
+        &lt;/inSequence&gt;
+        &lt;endpoint&gt;
+            &lt;!--use the defined connection factory in AMQP transport 
sender--&gt;
+            &lt;address
+                
uri=&quot;amqp://SimpleStockQuoteService?transport.amqp.ConnectionFactoryName=producer&amp;transport.amqp.QueueName=ProducerProxy&quot;/&gt;
+        &lt;/endpoint&gt;
+        &lt;outSequence&gt;
+            &lt;send/&gt;
+        &lt;/outSequence&gt;
+    &lt;/target&gt;
+&lt;/proxy&gt;
+                    </div>
+                    
+<p>Consumer example</p>
+                    
+<div class="xmlConf">
+&lt;proxy name=&quot;ConsumerProxy&quot; transports=&quot;amqp&quot;&gt;
+    &lt;target&gt;
+        &lt;inSequence&gt;
+            &lt;property action=&quot;set&quot; name=&quot;OUT_ONLY&quot; 
value=&quot;true&quot;/&gt;
+            &lt;log level=&quot;custom&quot;&gt;
+                &lt;property name=&quot;status&quot; value=&quot;At 
ConsumerProxy&quot;/&gt;
+            &lt;/log&gt;
+        &lt;/inSequence&gt;
+        &lt;endpoint&gt;
+            &lt;address 
uri=&quot;http://localhost:9000/services/SimpleStockQuoteService&quot;/&gt;
+        &lt;/endpoint&gt;
+        &lt;outSequence&gt;
+            &lt;send/&gt;
+        &lt;/outSequence&gt;
+    &lt;/target&gt;
+    &lt;parameter 
name=&quot;transport.amqp.ConnectionFactoryName&quot;&gt;consumer&lt;/parameter&gt;
+    &lt;parameter 
name=&quot;transport.amqp.QueueName&quot;&gt;ProducerProxy&lt;/parameter&gt;
+&lt;/proxy&gt;
+                    </div>
+                    
+<p>Routing example</p>
+                    
+<div class="xmlConf">
+&lt;proxy name=&quot;DirectPublisherProxy&quot; transports=&quot;http&quot;&gt;
+    &lt;target&gt;
+    &lt;inSequence&gt;
+        &lt;property action=&quot;set&quot; name=&quot;OUT_ONLY&quot; 
value=&quot;true&quot;/&gt;
+        &lt;log level=&quot;custom&quot;&gt;
+            &lt;property name=&quot;status&quot; value=&quot;At 
DirectPublisherProxy&quot;/&gt;
+        &lt;/log&gt;
+    &lt;/inSequence&gt;
+    &lt;endpoint&gt;
+        &lt;!--use the defined connection factory in AMQP transport sender, 
note how we don't provide
+            any queue name because this is bind to the exchange--&gt;
+        &lt;address
+            
uri=&quot;amqp://?transport.amqp.ConnectionFactoryName=publisher&amp;transport.amqp.ExchangeName=direct_logs&amp;transport.amqp.ExchangeType=direct&amp;transport.amqp.RoutingKey=error&quot;/&gt;
+    &lt;/endpoint&gt;
+    &lt;outSequence&gt;
+        &lt;send/&gt;
+    &lt;/outSequence&gt;
+    &lt;/target&gt;
+&lt;/proxy&gt;
+
+&lt;proxy name=&quot;DirectSubscriberProxy1&quot; 
transports=&quot;amqp&quot;&gt;
+    &lt;target&gt;
+        &lt;inSequence&gt;
+            &lt;property action=&quot;set&quot; name=&quot;OUT_ONLY&quot; 
value=&quot;true&quot;/&gt;
+            &lt;log level=&quot;custom&quot;&gt;
+                &lt;property name=&quot;status&quot; value=&quot;At 
DirectSubscriberProxy 1&quot;/&gt;
+            &lt;/log&gt;
+        &lt;/inSequence&gt;
+        &lt;endpoint&gt;
+            &lt;address 
uri=&quot;http://localhost:9000/services/SimpleStockQuoteService&quot;/&gt;
+        &lt;/endpoint&gt;
+        &lt;outSequence&gt;
+            &lt;send/&gt;
+        &lt;/outSequence&gt;
+    &lt;/target&gt;
+    &lt;parameter 
name=&quot;transport.amqp.ConnectionFactoryName&quot;&gt;subscriber&lt;/parameter&gt;
+    &lt;parameter 
name=&quot;transport.amqp.ExchangeName&quot;&gt;direct_logs&lt;/parameter&gt;
+    &lt;parameter 
name=&quot;transport.amqp.ExchangeType&quot;&gt;direct&lt;/parameter&gt;
+    &lt;parameter 
name=&quot;transport.amqp.BindingKeys&quot;&gt;warning,error&lt;/parameter&gt;
+&lt;/proxy&gt;
+
+&lt;proxy name=&quot;DirectSubscriberProxy2&quot; 
transports=&quot;amqp&quot;&gt;
+    &lt;target&gt;
+        &lt;inSequence&gt;
+            &lt;property action=&quot;set&quot; name=&quot;OUT_ONLY&quot; 
value=&quot;true&quot;/&gt;
+            &lt;log level=&quot;custom&quot;&gt;
+                &lt;property name=&quot;status&quot; value=&quot;At 
DirectSubscriberProxy 2&quot;/&gt;
+            &lt;/log&gt;
+        &lt;/inSequence&gt;
+        &lt;endpoint&gt;
+            &lt;address 
uri=&quot;http://localhost:9000/services/SimpleStockQuoteService&quot;/&gt;
+        &lt;/endpoint&gt;
+        &lt;outSequence&gt;
+            &lt;send/&gt;
+        &lt;/outSequence&gt;
+    &lt;/target&gt;
+    &lt;parameter 
name=&quot;transport.amqp.ConnectionFactoryName&quot;&gt;subscriber&lt;/parameter&gt;
+    &lt;parameter 
name=&quot;transport.amqp.ExchangeName&quot;&gt;direct_logs&lt;/parameter&gt;
+    &lt;parameter 
name=&quot;transport.amqp.ExchangeType&quot;&gt;direct&lt;/parameter&gt;
+    &lt;parameter 
name=&quot;transport.amqp.BindingKeys&quot;&gt;error&lt;/parameter&gt;
+&lt;/proxy&gt;
+                    </div>
+                    
+<p>Producer transactions</p>
+                    
+<div class="xmlConf">
+&lt;proxy name=&quot;ProducerTxProxy1&quot; transports=&quot;http&quot;&gt;
+    &lt;target&gt;
+        &lt;inSequence&gt;
+            &lt;property action=&quot;set&quot; name=&quot;OUT_ONLY&quot; 
value=&quot;true&quot;/&gt;
+            &lt;property action=&quot;set&quot; 
name=&quot;AMQP_PRODUCER_TX&quot; scope=&quot;axis2&quot; 
value=&quot;lwpc&quot;/&gt;
+            &lt;log level=&quot;custom&quot;&gt;
+                &lt;property name=&quot;status&quot; value=&quot;At 
ProducerTxProxy1, use light weight producer confirm...&quot;/&gt;
+            &lt;/log&gt;
+        &lt;/inSequence&gt;
+        &lt;endpoint&gt;
+            &lt;!--use the defined connection factory in AMQP transport 
sender--&gt;
+            &lt;address
+                
uri=&quot;amqp://SimpleStockQuoteService?transport.amqp.ConnectionFactoryName=producer&amp;transport.amqp.QueueName=ProducerProxy&quot;/&gt;
+        &lt;/endpoint&gt;
+        &lt;outSequence&gt;
+            &lt;send/&gt;
+        &lt;/outSequence&gt;
+    &lt;/target&gt;
+&lt;/proxy&gt;
+                    </div>
+            </div>
+        </div>
+       
+
+        </div>
+      </div>
+    </div>
+    <hr/>
+    <footer>
+      <div class="container-fluid">
+        <div class="row-fluid">
+            <p>Copyright &copy;2005&#x2013;2023
+<a href="http://www.apache.org/";>Apache Software Foundation</a>.
+All rights reserved.</p>
+        </div>
+        </div>
+    </footer>
+    </body>
+</html>


Reply via email to