Added: synapse/site/userguide/properties.html URL: http://svn.apache.org/viewvc/synapse/site/userguide/properties.html?rev=1777276&view=auto ============================================================================== --- synapse/site/userguide/properties.html (added) +++ synapse/site/userguide/properties.html Wed Jan 4 10:30:06 2017 @@ -0,0 +1,1627 @@ +<!DOCTYPE html> +<!-- + | Generated by Apache Maven Doxia at 2017-01-04 + | Rendered using Apache Maven Fluido Skin 1.4 +--> +<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="20170104" /> + <meta http-equiv="Content-Language" content="en" /> + <title>Apache Synapse - + Apache Synapse - Properties Catalog</title> + <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.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.4.min.js"></script> + + + </head> + <body class="topBarDisabled"> + + + + <div class="container-fluid"> + <div id="banner"> + <div class="pull-left"> + <div id="bannerLeft"> + <h2>Apache Synapse</h2> + </div> + </div> + <div class="pull-right"> </div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + + + <li id="publishDate">Last Published: 2017-01-04 + <span class="divider">|</span> + </li> + <li id="projectVersion">Version: 3.0.0 + </li> + + + + + </ul> + </div> + + + <div class="row-fluid"> + <div id="leftColumn" class="span2"> + <div class="well sidebar-nav"> + + + <ul class="nav nav-list"> + <li class="nav-header">Main Menu</li> + + <li> + + <a href="../index.html" title="Home"> + <span class="none"></span> + Home</a> + </li> + + <li> + + <a href="../download.html" title="Download"> + <span class="none"></span> + Download</a> + </li> + + <li> + + <a href="../history.html" title="History"> + <span class="none"></span> + History</a> + </li> + + <li> + + <a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="License"> + <span class="none"></span> + License</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"> + <span class="none"></span> + Thanks</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"> + <span class="none"></span> + Sponsorship</a> + </li> + + <li> + + <a href="http://www.apache.org/security/" class="externalLink" title="Security"> + <span class="none"></span> + Security</a> + </li> + <li class="nav-header">Documentation</li> + + <li> + + <a href="../userguide/installation.html" title="Installation Guide"> + <span class="none"></span> + Installation Guide</a> + </li> + + <li> + + <a href="../userguide/quick_start.html" title="Quick Start Guide"> + <span class="none"></span> + Quick Start Guide</a> + </li> + + <li> + + <a href="../userguide/samples/setup/index.html" title="Samples Setup Guide"> + <span class="none"></span> + Samples Setup Guide</a> + </li> + + <li> + + <a href="../userguide/samples.html" title="Samples Catalog"> + <span class="none"></span> + Samples Catalog</a> + </li> + + <li> + + <a href="../userguide/config.html" title="Configuration Language"> + <span class="none"></span> + Configuration Language</a> + </li> + + <li> + + <a href="../userguide/mediators.html" title="Mediators Catalog"> + <span class="none"></span> + Mediators Catalog</a> + </li> + + <li> + + <a href="../userguide/transports.html" title="Transports Catalog"> + <span class="none"></span> + Transports Catalog</a> + </li> + + <li class="active"> + + <a href="#"><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" > + + <!-- ~ Licensed to the Apache Software Foundation (ASF) under one + ~ or more contributor license agreements. See the NOTICE file + ~ distributed with this work for additional information + ~ regarding copyright ownership. The ASF licenses this file + ~ to you under the Apache License, Version 2.0 (the + ~ "License"); you may not use this file except in compliance + ~ with the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. --> + + <a name="Introduction"></a> +<div class="section" id="Introduction"> +<h2>Properties Catalog<a name="Properties_Catalog"></a></h2> + +<p> + Properties provide the means of accessing various types of information + regarding a message that passes through the ESB. Furthermore, it is also + possible to use properties to control the behavior of the ESB on a given message flow. + </p> + </div> + <a name="Content"></a> +<div class="section" id="Content"> +<h2>Content<a name="Content"></a></h2> + +<ul> + +<li> + <a href="#Introduction">Introduction</a> + </li> + +<li> + <a href="#Contents">Contents</a> + </li> + +<li> + <a href="#Generic_Properties">Generic Properties</a> + +<ul> + +<li> + <a href="#PRESERVE_WS_ADDRESSING">PRESERVE_WS_ADDRESSING</a> + </li> + +<li> + <a href="#RESPONSE">RESPONSE</a> + </li> + +<li> + <a href="#OUT_ONLY">OUT_ONLY</a> + </li> + +<li> + <a href="#ERROR_CODE">ERROR_CODE</a> + </li> + +<li> + <a href="#ERROR_MESSAGE">ERROR_MESSAGE</a> + </li> + +<li> + <a href="#ERROR_DETAIL">ERROR_DETAIL</a> + </li> + +<li> + <a href="#ERROR_EXCEPTION">ERROR_EXCEPTION</a> + </li> + +<li> + <a href="#TRANSPORT_HEADERS">TRANSPORT_HEADERS</a> + </li> + +<li> + <a href="#messageType">messageType</a> + </li> + +<li> + <a href="#ContentType">ContentType</a> + </li> + +<li> + <a href="#preserveProcessedHeaders">preserveProcessedHeaders</a> + </li> + +<li> + <a href="#SERVER_IP">SERVER_IP</a> + </li> + + </ul> + </li> + +<li> + <a href="#HTTP_Transport_Properties">HTTP Transport Properties</a> + +<ul> + +<li> + <a href="#POST_TO_URI">POST_TO_URI</a> + </li> + +<li> + <a href="#FORCE_SC_ACCEPTED">FORCE_SC_ACCEPTED</a> + </li> + +<li> + <a href="#DISABLE_CHUNKING">DISABLE_CHUNKING</a> + </li> + +<li> + <a href="#NO_ENTITY_BODY">NO_ENTITY_BODY</a> + </li> + +<li> + <a href="#FORCE_HTTP_1.0">FORCE_HTTP_1.0</a> + </li> + +<li> + <a href="#HTTP_SC.0">HTTP_SC</a> + </li> + +<li> + <a href="#FAULTS_AS_HTTP_200">FAULTS_AS_HTTP_200</a> + </li> + +<li> + <a href="#NO_KEEPALIVE">NO_KEEPALIVE</a> + </li> + +<li> + <a href="#REST_URL_POSTFIX">REST_URL_POSTFIX</a> + </li> + +<li> + <a href="#REQUEST_HOST_HEADER">REQUEST_HOST_HEADER</a> + </li> + +<li> + <a href="#FORCE_POST_PUT_NOBODY">FORCE_POST_PUT_NOBODY</a> + </li> + +<li> + <a href="#FORCE_HTTP_CONTENT_LENGTH">FORCE_HTTP_CONTENT_LENGTH</a> + </li> + +<li> + <a href="#COPY_CONTENT_LENGTH_FROM_INCOMING">COPY_CONTENT_LENGTH_FROM_INCOMING</a> + </li> + +<li> + <a href="#COPY_CONTENT_LENGTH_FROM_INCOMING">COPY_CONTENT_LENGTH_FROM_INCOMING</a> + </li> + </ul> + </li> + +<li> + <a href="#Synapse_Message_Context_Properties">Synapse Message Context Properties</a> + +<ul> + +<li> + <a href="#SYSTEM_DATE">SYSTEM_DATE</a> + </li> + +<li> + <a href="#SYSTEM_TIME">SYSTEM_TIME</a> + </li> + +<li> + <a href="#MESSAGE_FORMAT">MESSAGE_FORMAT</a> + </li> + +<li> + <a href="#OperationName">OperationName</a> + </li> + </ul> + </li> + </ul> + </div> + <a name="Generic_Properties"></a> +<div class="section" id="Generic_Properties"> +<h2>Generic Properties<a name="Generic_Properties"></a></h2> + +<p>Generic properties allow to configure or change the behavior of the message flow as they are processed by the ESB.</p> + +<p></p> + <a name="PRESERVE_WS_ADDRESSING"></a> +<div class="section" id="PRESERVE_WS_ADDRESSING"> +<h3>PRESERVE_WS_ADDRESSING<a name="PRESERVE_WS_ADDRESSING"></a></h3> + +<p> + By default, the ESB adds a new set of WS-Addressing headers to the messages + forwarded from the ESB. If this property is set to "true" on a message, + the ESB will forward it without altering its existing WS-Addressing headers. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="PRESERVE_WS_ADDRESSING" value="true"/></div> + </dd> + </dl> + </div> + <a name="RESPONSE"></a> +<div class="section" id="RESPONSE"> +<h3>RESPONSE<a name="RESPONSE"></a></h3> + +<p> + Once this property is set to 'true' on a message, the ESB will + start treating it as a response message. It is generally used to + route a request message back to its source as the response. + However, currently respond mediator perform the same functionality. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="RESPONSE" value="true"/></div> + </dd> + </dl> + </div> + <a name="OUT_ONLY"></a> +<div class="section" id="OUT_ONLY"> +<h3>OUT_ONLY<a name="OUT_ONLY"></a></h3> + +<p> + Set this property to "true" on a message to indicate that no response + message is expected for it once it is forwarded from the ESB. In other + words, the ESB will do an out-only invocation with such messages. + + It is very important to set this property on messages that are involved + in out-only invocations to prevent the ESB from registering unnecessary + callbacks for response handling and eventually running out of memory. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="OUT_ONLY" value="true"/></div> + </dd> + </dl> + </div> + <a name="ERROR_CODE"></a> +<div class="section" id="ERROR_CODE"> +<h3>ERROR_CODE<a name="ERROR_CODE"></a></h3> + +<p>Use this property to set a custom error code on a message which can be later + processed by a Synapse fault handler. If the Synapse encounters an error during + mediation or routing, this property will be automatically populated. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>String</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="error-code" expression="get-property('ERROR_CODE')"/></div> + </dd> + </dl> + </div> + <a name="ERROR_MESSAGE"></a> +<div class="section" id="ERROR_MESSAGE"> +<h3>ERROR_MESSAGE<a name="ERROR_MESSAGE"></a></h3> + +<p> + Use this property to set a custom error message on a message which can be + later processed by a Synapse fault handler. If the Synapse encounters an error + during mediation or routing, this property will be automatically populated. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>String</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="Cause" expression="get-property('ERROR_MESSAGE')"/></div> + </dd> + </dl> + </div> + <a name="ERROR_DETAIL"></a> +<div class="section" id="ERROR_DETAIL"> +<h3>ERROR_DETAIL<a name="ERROR_DETAIL"></a></h3> + +<p> + Use this property to set the exception stacktrace in case of an error. + If the ESB encounters an error during mediation or routing, this property + will be automatically populated. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>String</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="Trace" expression="get-property('ERROR_DETAIL')"/></div> + </dd> + </dl> + </div> + <a name="ERROR_EXCEPTION"></a> +<div class="section" id="ERROR_EXCEPTION"> +<h3>ERROR_EXCEPTION<a name="ERROR_EXCEPTION"></a></h3> + +<p> + Contains the actual exception thrown in case of a runtime error. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>String</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="error-exception" expression="get-property('ERROR_EXCEPTION')"/></div> + </dd> + </dl> + </div> + <a name="TRANSPORT_HEADERS"></a> +<div class="section" id="TRANSPORT_HEADERS"> +<h3>TRANSPORT_HEADERS<a name="TRANSPORT_HEADERS"></a></h3> + +<p>Contains the map of transport headers. Automatically populated. + Individual values of this map can be accessed using the property + mediator in the transport scope. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>java.util.Map</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>Populated with the transport headers of the incoming request.</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="TRANSPORT_HEADERS" action="remove" scope="axis2"/></div> + </dd> + </dl> + </div> + <a name="messageType"></a> +<div class="section" id="messageType"> +<h3>messageType<a name="messageType"></a></h3> + +<p>Message formatter is selected based on this property. + This property should have the content type, such as text/xml, + application/xml, or application/json. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>string</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>Content type of incoming request.</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="messageType" value="text/xml" scope="axis2"/></div> + </dd> + </dl> + </div> + <a name="ContentType"></a> +<div class="section" id="ContentType"> +<h3>ContentType<a name="ContentType"></a></h3> + +<p>This property will be in effect only if the messageType property is set. + If the messageType is set, the value of Content-Type HTTP header of the + outgoing request will be chosen based on this property. Note that this property + is required to be set only if the message formatter seeks it in the + message formatter implementation. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>string</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>Value of the Content-type header of the incoming request.</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="ContentType" value="text/xml" scope="axis2"/></div> + </dd> + </dl> + </div> + <a name="preserveProcessedHeaders"></a> +<div class="section" id="preserveProcessedHeaders"> +<h3>preserveProcessedHeaders<a name="preserveProcessedHeaders"></a></h3> + +<p>By default, Synapse removes the SOAP headers of incoming requests that have been processed. + If we set this property to 'true', Synapse preserves the SOAP headers. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>Preserving SOAP headers</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="preserveProcessedHeaders" value="true" scope="default"/></div> + </dd> + </dl> + </div> + <a name="SERVER_IP"></a> +<div class="section" id="SERVER_IP"> +<h3>SERVER_IP<a name="SERVER_IP"></a></h3> + +<p>Server IP/Host name of hosted server + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>string</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>Set automatically by the mediation engine upon startup with IP address or + hostname of the ESB host + </dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="StringServerIp" expression="get-property('SERVER_IP')" scope="default" type="STRING"/></div> + </dd> + </dl> + </div> + + </div> + <a name="HTTP_Transport_Properties"></a> +<div class="section" id="HTTP_Transport_Properties"> +<h2>HTTP Transport Properties<a name="HTTP_Transport_Properties"></a></h2> + +<p>HTTP transport properties allow to control and configure how the HTTP transport processes the ongoing messages. + </p> + <a name="POST_TO_URI"></a> +<div class="section" id="POST_TO_URI"> +<h3>POST_TO_URI<a name="POST_TO_URI"></a></h3> + +<p>This property makes the outgoing URL of the ESB a complete URL. + This is important when we talk through a Proxy Server. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>false</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="POST_TO_URI" scope="axis2" value="true"/></div> + </dd> + </dl> + </div> + <a name="FORCE_SC_ACCEPTED"></a> +<div class="section" id="FORCE_SC_ACCEPTED"> +<h3>FORCE_SC_ACCEPTED<a name="FORCE_SC_ACCEPTED"></a></h3> + +<p> + When set to true, this property forces a 202 HTTP response to the client so that it stops waiting + for a response. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>false</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="FORCE_SC_ACCEPTED" scope="axis2" value="true"/></div> + </dd> + </dl> + </div> + <a name="DISABLE_CHUNKING"></a> +<div class="section" id="DISABLE_CHUNKING"> +<h3>DISABLE_CHUNKING<a name="DISABLE_CHUNKING"></a></h3> + +<p>Disables the HTTP chunking for outgoing messaging. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>false</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="DISABLE_CHUNKING" scope="axis2" value="true"/></div> + </dd> + </dl> + </div> + <a name="NO_ENTITY_BODY"></a> +<div class="section" id="NO_ENTITY_BODY"> +<h3>NO_ENTITY_BODY<a name="NO_ENTITY_BODY"></a></h3> + +<p>This property should be removed if a user want to generate a + response from the ESB to a request without an entity body, for example, GET request. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>false</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="NO_ENTITY_BODY" scope="axis2" value="true"/></div> + </dd> + </dl> + </div> + <a name="FORCE_HTTP_1.0"></a> +<div class="section" id="FORCE_HTTP_1.0"> +<h3>FORCE_HTTP_1.0<a name="FORCE_HTTP_1.0"></a></h3> + +<p> + Force HTTP 1.0 for outgoing HTTP messages. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>false</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="FORCE_HTTP_1.0" scope="axis2" value="true"/></div> + </dd> + </dl> + </div> + <a name="HTTP_SC"></a> +<div class="section" id="HTTP_SC"> +<h3>HTTP_SC<a name="HTTP_SC"></a></h3> + +<p> + Set the HTTP status code. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>HTTP status code number</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="HTTP_SC" value="500" scope="axis2"/></div> + </dd> + </dl> + </div> + <a name="FAULTS_AS_HTTP_200"></a> +<div class="section" id="FAULTS_AS_HTTP_200"> +<h3>FAULTS_AS_HTTP_200<a name="FAULTS_AS_HTTP_200"></a></h3> + +<p>Set the HTTP status code. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>false</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="FAULTS_AS_HTTP_200" value="true" scope="axis2"/></div> + </dd> + </dl> + </div> + <a name="NO_KEEPALIVE"></a> +<div class="section" id="NO_KEEPALIVE"> +<h3>NO_KEEPALIVE<a name="NO_KEEPALIVE"></a></h3> + +<p>Disables HTTP keep alive for corresponded connection flow. This Can be use in both inflow and outflow. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>false</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="NO_KEEPALIVE" value="true" scope="axis2"/></div> + </dd> + </dl> + </div> + <a name="REST_URL_POSTFIX"></a> +<div class="section" id="REST_URL_POSTFIX"> +<h3>REST_URL_POSTFIX<a name="REST_URL_POSTFIX"></a></h3> + +<p>The value of this property will be appended to the target URL when sending messages + out in a RESTful manner through an address endpoint. This is useful when you need to + append a context to the target URL in case of RESTful invocations. If you are using an + HTTP endpoint instead of an address endpoint, specify variables in the format of "uri.var.*" + instead of using this property. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>A URL fragment starting with "/"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>In the case of GET requests through an address endpoint, this contains the query string.</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="REST_URL_POSTFIX" value="/context" scope="axis2"/></div> + </dd> + </dl> + </div> + <a name="REQUEST_HOST_HEADER"></a> +<div class="section" id="REQUEST_HOST_HEADER"> +<h3>REQUEST_HOST_HEADER<a name="REQUEST_HOST_HEADER"></a></h3> + +<p> + The value of this property will be set as the HTTP host header of outgoing request. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>string</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>ESB will set hostname of target endpoint and port as the HTTP host header</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="REQUEST_HOST_HEADER" value="www.wso2.org" scope="axis2"/></div> + </dd> + </dl> + </div> + <a name="FORCE_HTTP_CONTENT_LENGTH"></a> +<div class="section" id="FORCE_HTTP_CONTENT_LENGTH"> +<h3>FORCE_HTTP_CONTENT_LENGTH<a name="FORCE_HTTP_CONTENT_LENGTH"></a></h3> + +<p> + This property allows the content length to be sent when the ESB sends a + request to a back end server. When HTTP 1.1 is used, this property disables + chunking and sends the content length. When HTTP 1.0 is used, the property + only sends the content length. This property should be set in scenarios where + the backend server is not able to accept chunked content. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>false</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="FORCE_HTTP_CONTENT_LENGTH" scope="axis2" value="true"/></div> + </dd> + </dl> + </div> + <a name="COPY_CONTENT_LENGTH_FROM_INCOMING"></a> +<div class="section" id="COPY_CONTENT_LENGTH_FROM_INCOMING"> +<h3>COPY_CONTENT_LENGTH_FROM_INCOMING<a name="COPY_CONTENT_LENGTH_FROM_INCOMING"></a></h3> + +<p> + This property allows the HTTP content length to be copied from an incoming message. + It is only valid when the FORCE_HTTP_CONTENT_LENGTH property is used. + The COPY_CONTENT_LENGTH_FROM_INCOMING avoids buffering the message in memory for calculating + the content length, thus reducing the risk of performance degradation. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>"true", "false"</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>false</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>axis2</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="COPY_CONTENT_LENGTH_FROM_INCOMING" scope="axis2" value="true"/></div> + </dd> + </dl> + </div> + </div> + <a name="Synapse_Message_Context_Properties"></a> +<div class="section" id="Synapse_Message_Context_Properties"> +<h2>Synapse Message Context Properties<a name="Synapse_Message_Context_Properties"></a></h2> + +<p>Synapse Message Context Properties allow to retrieve the data related to synapse + mediation engine information for current message flow.</p> + <a name="SYSTEM_DATE"></a> +<div class="section" id="SYSTEM_DATE"> +<h3>SYSTEM_DATE<a name="SYSTEM_DATE"></a></h3> + +<p> + Returns the current date as a String. Optionally, a date format as per the standard + date format may be supplied. e.g. synapse:get-property("SYSTEM_DATE", "yyyy.MM.dd G 'at' HH:mm:ss + z") + or get-property('SYSTEM_DATE'). + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>string</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="StringDateVal" expression="get-property('SYSTEM_DATE')" scope="default" type="STRING"/></div> + </dd> + </dl> + </div> + <a name="SYSTEM_TIME"></a> +<div class="section" id="SYSTEM_TIME"> +<h3>SYSTEM_TIME<a name="SYSTEM_TIME"></a></h3> + +<p> + Returns the current time in milliseconds. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>string</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="StringTimeVal" expression="get-property('SYSTEM_TIME')" scope="default" type="STRING"/></div> + </dd> + </dl> + </div> + <a name="MESSAGE_FORMAT"></a> +<div class="section" id="MESSAGE_FORMAT"> +<h3>MESSAGE_FORMAT<a name="MESSAGE_FORMAT"></a></h3> + +<p>Returns pox, soap11, soap12 depending on the message. + If a message type is unknown this returns soap12. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>string</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="StringMessageFormat" expression="get-property('MESSAGE_FORMAT')" scope="default" type="STRING"/></div> + </dd> + </dl> + </div> + <a name="OperationName"></a> +<div class="section" id="OperationName"> +<h3>OperationName<a name="OperationName"></a></h3> + +<p> + Returns the operation name corresponding to the message. + </p> + +<dl> + +<dt> + <tt>Possible Values</tt> + </dt> + +<dd>string</dd> + +<dt> + <tt>Default Behavior</tt> + </dt> + +<dd>none</dd> + +<dt> + <tt>Scope</tt> + </dt> + +<dd>synapse</dd> + +<dt> + <tt>Example</tt> + </dt> + +<dd> + +<div class="xmlConf"><property name="StringOperationName" expression="get-property('OperationName')" scope="default" type="STRING"/></div> + </dd> + </dl> + </div> + </div> + + + </div> + </div> + </div> + + <hr/> + + <footer> + <div class="container-fluid"> + <div class="row-fluid"> + <p >Copyright © 2005–2017 + <a href="http://www.apache.org/">Apache Software Foundation</a>. + All rights reserved. + + </p> + </div> + + + </div> + </footer> + </body> +</html>
Added: synapse/site/userguide/samples/sample15.html URL: http://svn.apache.org/viewvc/synapse/site/userguide/samples/sample15.html?rev=1777276&view=auto ============================================================================== --- synapse/site/userguide/samples/sample15.html (added) +++ synapse/site/userguide/samples/sample15.html Wed Jan 4 10:30:06 2017 @@ -0,0 +1,444 @@ +<!DOCTYPE html> +<!-- + | Generated by Apache Maven Doxia at 2017-01-04 + | Rendered using Apache Maven Fluido Skin 1.4 +--> +<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="20170104" /> + <meta http-equiv="Content-Language" content="en" /> + <title>Apache Synapse - + Apache Synapse - Sample 15</title> + <link rel="stylesheet" href="../../css/apache-maven-fluido-1.4.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.4.min.js"></script> + + + </head> + <body class="topBarDisabled"> + + + + <div class="container-fluid"> + <div id="banner"> + <div class="pull-left"> + <div id="bannerLeft"> + <h2>Apache Synapse</h2> + </div> + </div> + <div class="pull-right"> </div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + + + <li id="publishDate">Last Published: 2017-01-04 + <span class="divider">|</span> + </li> + <li id="projectVersion">Version: 3.0.0 + </li> + + + + + </ul> + </div> + + + <div class="row-fluid"> + <div id="leftColumn" class="span2"> + <div class="well sidebar-nav"> + + + <ul class="nav nav-list"> + <li class="nav-header">Main Menu</li> + + <li> + + <a href="../../index.html" title="Home"> + <span class="none"></span> + Home</a> + </li> + + <li> + + <a href="../../download.html" title="Download"> + <span class="none"></span> + Download</a> + </li> + + <li> + + <a href="../../history.html" title="History"> + <span class="none"></span> + History</a> + </li> + + <li> + + <a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="License"> + <span class="none"></span> + License</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"> + <span class="none"></span> + Thanks</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"> + <span class="none"></span> + Sponsorship</a> + </li> + + <li> + + <a href="http://www.apache.org/security/" class="externalLink" title="Security"> + <span class="none"></span> + Security</a> + </li> + <li class="nav-header">Documentation</li> + + <li> + + <a href="../../userguide/installation.html" title="Installation Guide"> + <span class="none"></span> + Installation Guide</a> + </li> + + <li> + + <a href="../../userguide/quick_start.html" title="Quick Start Guide"> + <span class="none"></span> + Quick Start Guide</a> + </li> + + <li> + + <a href="../../userguide/samples/setup/index.html" title="Samples Setup Guide"> + <span class="none"></span> + Samples Setup Guide</a> + </li> + + <li> + + <a href="../../userguide/samples.html" title="Samples Catalog"> + <span class="none"></span> + Samples Catalog</a> + </li> + + <li> + + <a href="../../userguide/config.html" title="Configuration Language"> + <span class="none"></span> + Configuration Language</a> + </li> + + <li> + + <a href="../../userguide/mediators.html" title="Mediators Catalog"> + <span class="none"></span> + Mediators Catalog</a> + </li> + + <li> + + <a href="../../userguide/transports.html" title="Transports Catalog"> + <span class="none"></span> + Transports Catalog</a> + </li> + + <li> + + <a href="../../userguide/properties.html" title="Properties Catalog"> + <span class="none"></span> + Properties Catalog</a> + </li> + + <li> + + <a href="../../userguide/xpath.html" title="XPath functions and Variables"> + <span class="none"></span> + XPath functions and Variables</a> + </li> + + <li> + + <a href="../../userguide/extending.html" title="Extending Synapse"> + <span class="none"></span> + Extending Synapse</a> + </li> + + <li> + + <a href="../../userguide/template_library.html" title="Synapse Template Libraries"> + <span class="none"></span> + Synapse Template Libraries</a> + </li> + + <li> + + <a href="../../userguide/upgrading.html" title="Upgrading"> + <span class="none"></span> + Upgrading</a> + </li> + + <li> + + <a href="../../userguide/deployment.html" title="Deployment"> + <span class="none"></span> + Deployment</a> + </li> + + <li> + + <a href="../../apidocs/" title="Javadocs"> + <span class="none"></span> + Javadocs</a> + </li> + + <li> + + <a href="../../userguide/faq.html" title="FAQ"> + <span class="none"></span> + FAQ</a> + </li> + <li class="nav-header">Developer Resources</li> + + <li> + + <a href="../../dev/developer-guide.html" title="Developer Guide"> + <span class="none"></span> + Developer Guide</a> + </li> + + <li> + + <a href="../../dev/best-practices.html" title="Development Best Practices"> + <span class="none"></span> + Development Best Practices</a> + </li> + + <li> + + <a href="../../dev/release-process.html" title="Release Process"> + <span class="none"></span> + Release Process</a> + </li> + <li class="nav-header">Project Details</li> + + <li> + + <a href="../../project-info.html" title="Overview"> + <span class="none"></span> + Overview</a> + </li> + + <li> + + <a href="../../mail-lists.html" title="Mailing Lists"> + <span class="none"></span> + Mailing Lists</a> + </li> + + <li> + + <a href="../../source-repository.html" title="Source Repository"> + <span class="none"></span> + Source Repository</a> + </li> + + <li> + + <a href="../../issue-tracking.html" title="Issue Tracking"> + <span class="none"></span> + Issue Tracking</a> + </li> + + <li> + + <a href="../../dependency-management.html" title="Dependencies"> + <span class="none"></span> + Dependencies</a> + </li> + + <li> + + <a href="../../team-list.html" title="Project Team"> + <span class="none"></span> + Project Team</a> + </li> + </ul> + + + + <hr /> + + <div id="poweredBy"> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="builtBy" alt="Built by Maven" src="../../images/logos/maven-feather.png" /> + </a> + </div> + </div> + </div> + + + <div id="bodyColumn" class="span10" > + + <!-- ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more + contributor license agreements. See the NOTICE file ~ distributed with this + work for additional information ~ regarding copyright ownership. The ASF + licenses this file ~ to you under the Apache License, Version 2.0 (the ~ + "License"); you may not use this file except in compliance ~ with the License. + You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ ~ Unless required by applicable law or agreed to in writing, ~ software + distributed under the License is distributed on an ~ * "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY ~ KIND, either express or implied. See the + License for the ~ specific language governing permissions and limitations + ~ under the License. --> + + <div class="section"> +<h2>Sample 15: Message Copying and Content Enriching with Enrich Mediator<a name="Sample_15:_Message_Copying_and_Content_Enriching_with_Enrich_Mediator"></a></h2> + +<div class="xmlConf"><definitions xmlns="http://synapse.apache.org/ns/2010/04/configuration"> + <sequence name="main"> + <in> + <enrich> + <source type="custom" + xpath="//m0:getQuote/m0:request/m0:symbol/text()" + xmlns:m0="http://services.samples"/> + <target type="property" property="ORIGINAL_REQ"/> + </enrich> + <enrich> + <source type="body"/> + <target type="property" property="REQUEST_PAYLOAD"/> + </enrich> + + <enrich> + <source type="inline" key="init_req"/> + <target xmlns:m0="http://services.samples" + xpath="//m0:getQuote/m0:request/m0:symbol/text()"/> + </enrich> + + <send> + <endpoint> + <address uri="http://localhost:9000/services/SimpleStockQuoteService"/> + </endpoint> + </send> + <drop/> + </in> + <out> + <header xmlns:urn="http://synapse.apache.org" name="urn:lastTradeTimestamp" value="foo"/> + <enrich> + <source type="custom" + xpath="//ns:getQuoteResponse/ns:return/ax21:lastTradeTimestamp" + xmlns:ns="http://services.samples" + xmlns:ax21="http://services.samples/xsd"/> + <target xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:urn="http://synapse.apache.org" + xpath="/soapenv:Envelope/soapenv:Header/urn:lastTradeTimestamp"/> + </enrich> + <log level="full"/> + <log> + <property name="Original Request Symbol" expression="get-property('ORIGINAL_REQ')"/> + <property name="Request Payload" expression="get-property('REQUEST_PAYLOAD')"/> + </log> + <send/> + </out> + + </sequence> + <localEntry key="init_req">MSFT</localEntry> + <localEntry key="price_req"> + <m0:symbol xmlns:m0="http://services.samples">MSFT</m0:symbol> + </localEntry> + +</definitions></div> + +<div class="section"> +<h3>Objective<a name="Objective"></a></h3> + +<p> + Objective: Introduction to Message Copying and Content Enriching with Enrich Mediator + </p> + </div> + + +<div class="section"> +<h3>Pre-requisites<a name="Pre-requisites"></a></h3> + +<p> + </p> +<ul> + +<li> + Start the Synapse configuration numbered 15: i.e. synapse -sample 15 + </li> + +<li> + Start the Axis2 server and deploy the SimpleStockQuoteService if + not already done + </li> + </ul> + + </div> + +<div class="section"> +<h3>Executing the Client<a name="Executing_the_Client"></a></h3> + +<p> + Execute the client as follows. + </p> + +<div class="command">ant stockquote -Dtrpurl=http://localhost:8280/services/StockQuote</div> + +<p>This sample demonstrate the various capabilities of Enrich Mediator. Inside the in-sequence we store/copy different + parts of the message to properties and just before sending the message to the StockQuoteService, we modify the + request value based on the local entry value-init_req. Then in the out-sequence, the enrich mediator is used + to enrich a soap header based on the 'lastTradeTimestamp' value of the response. + </p> + + </div> + + </div> + +<p> + <a href="../samples.html">Back to Catalog</a> + </p> + + + </div> + </div> + </div> + + <hr/> + + <footer> + <div class="container-fluid"> + <div class="row-fluid"> + <p >Copyright © 2005–2017 + <a href="http://www.apache.org/">Apache Software Foundation</a>. + All rights reserved. + + </p> + </div> + + + </div> + </footer> + </body> +</html> Added: synapse/site/userguide/samples/sample16.html URL: http://svn.apache.org/viewvc/synapse/site/userguide/samples/sample16.html?rev=1777276&view=auto ============================================================================== --- synapse/site/userguide/samples/sample16.html (added) +++ synapse/site/userguide/samples/sample16.html Wed Jan 4 10:30:06 2017 @@ -0,0 +1,431 @@ +<!DOCTYPE html> +<!-- + | Generated by Apache Maven Doxia at 2017-01-04 + | Rendered using Apache Maven Fluido Skin 1.4 +--> +<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="20170104" /> + <meta http-equiv="Content-Language" content="en" /> + <title>Apache Synapse - + Apache Synapse - Sample 16</title> + <link rel="stylesheet" href="../../css/apache-maven-fluido-1.4.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.4.min.js"></script> + + + </head> + <body class="topBarDisabled"> + + + + <div class="container-fluid"> + <div id="banner"> + <div class="pull-left"> + <div id="bannerLeft"> + <h2>Apache Synapse</h2> + </div> + </div> + <div class="pull-right"> </div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + + + <li id="publishDate">Last Published: 2017-01-04 + <span class="divider">|</span> + </li> + <li id="projectVersion">Version: 3.0.0 + </li> + + + + + </ul> + </div> + + + <div class="row-fluid"> + <div id="leftColumn" class="span2"> + <div class="well sidebar-nav"> + + + <ul class="nav nav-list"> + <li class="nav-header">Main Menu</li> + + <li> + + <a href="../../index.html" title="Home"> + <span class="none"></span> + Home</a> + </li> + + <li> + + <a href="../../download.html" title="Download"> + <span class="none"></span> + Download</a> + </li> + + <li> + + <a href="../../history.html" title="History"> + <span class="none"></span> + History</a> + </li> + + <li> + + <a href="http://www.apache.org/licenses/LICENSE-2.0" class="externalLink" title="License"> + <span class="none"></span> + License</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"> + <span class="none"></span> + Thanks</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"> + <span class="none"></span> + Sponsorship</a> + </li> + + <li> + + <a href="http://www.apache.org/security/" class="externalLink" title="Security"> + <span class="none"></span> + Security</a> + </li> + <li class="nav-header">Documentation</li> + + <li> + + <a href="../../userguide/installation.html" title="Installation Guide"> + <span class="none"></span> + Installation Guide</a> + </li> + + <li> + + <a href="../../userguide/quick_start.html" title="Quick Start Guide"> + <span class="none"></span> + Quick Start Guide</a> + </li> + + <li> + + <a href="../../userguide/samples/setup/index.html" title="Samples Setup Guide"> + <span class="none"></span> + Samples Setup Guide</a> + </li> + + <li> + + <a href="../../userguide/samples.html" title="Samples Catalog"> + <span class="none"></span> + Samples Catalog</a> + </li> + + <li> + + <a href="../../userguide/config.html" title="Configuration Language"> + <span class="none"></span> + Configuration Language</a> + </li> + + <li> + + <a href="../../userguide/mediators.html" title="Mediators Catalog"> + <span class="none"></span> + Mediators Catalog</a> + </li> + + <li> + + <a href="../../userguide/transports.html" title="Transports Catalog"> + <span class="none"></span> + Transports Catalog</a> + </li> + + <li> + + <a href="../../userguide/properties.html" title="Properties Catalog"> + <span class="none"></span> + Properties Catalog</a> + </li> + + <li> + + <a href="../../userguide/xpath.html" title="XPath functions and Variables"> + <span class="none"></span> + XPath functions and Variables</a> + </li> + + <li> + + <a href="../../userguide/extending.html" title="Extending Synapse"> + <span class="none"></span> + Extending Synapse</a> + </li> + + <li> + + <a href="../../userguide/template_library.html" title="Synapse Template Libraries"> + <span class="none"></span> + Synapse Template Libraries</a> + </li> + + <li> + + <a href="../../userguide/upgrading.html" title="Upgrading"> + <span class="none"></span> + Upgrading</a> + </li> + + <li> + + <a href="../../userguide/deployment.html" title="Deployment"> + <span class="none"></span> + Deployment</a> + </li> + + <li> + + <a href="../../apidocs/" title="Javadocs"> + <span class="none"></span> + Javadocs</a> + </li> + + <li> + + <a href="../../userguide/faq.html" title="FAQ"> + <span class="none"></span> + FAQ</a> + </li> + <li class="nav-header">Developer Resources</li> + + <li> + + <a href="../../dev/developer-guide.html" title="Developer Guide"> + <span class="none"></span> + Developer Guide</a> + </li> + + <li> + + <a href="../../dev/best-practices.html" title="Development Best Practices"> + <span class="none"></span> + Development Best Practices</a> + </li> + + <li> + + <a href="../../dev/release-process.html" title="Release Process"> + <span class="none"></span> + Release Process</a> + </li> + <li class="nav-header">Project Details</li> + + <li> + + <a href="../../project-info.html" title="Overview"> + <span class="none"></span> + Overview</a> + </li> + + <li> + + <a href="../../mail-lists.html" title="Mailing Lists"> + <span class="none"></span> + Mailing Lists</a> + </li> + + <li> + + <a href="../../source-repository.html" title="Source Repository"> + <span class="none"></span> + Source Repository</a> + </li> + + <li> + + <a href="../../issue-tracking.html" title="Issue Tracking"> + <span class="none"></span> + Issue Tracking</a> + </li> + + <li> + + <a href="../../dependency-management.html" title="Dependencies"> + <span class="none"></span> + Dependencies</a> + </li> + + <li> + + <a href="../../team-list.html" title="Project Team"> + <span class="none"></span> + Project Team</a> + </li> + </ul> + + + + <hr /> + + <div id="poweredBy"> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="builtBy" alt="Built by Maven" src="../../images/logos/maven-feather.png" /> + </a> + </div> + </div> + </div> + + + <div id="bodyColumn" class="span10" > + + <!-- ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more + contributor license agreements. See the NOTICE file ~ distributed with this + work for additional information ~ regarding copyright ownership. The ASF + licenses this file ~ to you under the Apache License, Version 2.0 (the ~ + "License"); you may not use this file except in compliance ~ with the License. + You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ ~ Unless required by applicable law or agreed to in writing, ~ software + distributed under the License is distributed on an ~ * "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY ~ KIND, either express or implied. See the + License for the ~ specific language governing permissions and limitations + ~ under the License. --> + + <div class="section"> +<h2>Sample 16: Introduction to dynamic and static registry keys<a name="Sample_16:_Introduction_to_dynamic_and_static_registry_keys"></a></h2> + +<div class="xmlConf"><definitions xmlns="http://ws.apache.org/ns/synapse"> + + <!-- the SimpleURLRegistry allows access to a URL based registry (e.g. file:/// or http://) --> + <registry provider="org.wso2.carbon.mediation.registry.ESBRegistry"> + <!-- the root property of the simple URL registry helps resolve a resource URL as root + key --> + <parameter name="root">file:repository/samples/resources/</parameter> + <!-- all resources loaded from the URL registry would be cached for this number of milli seconds --> + <parameter name="cachableDuration">15000</parameter> + </registry> + + <sequence name="main"> + <in> + <!-- define the request processing XSLT resource as a property value --> + <property name="symbol" value="transform/transform.xslt"/> + <!-- {} denotes that this key is a dynamic one and it is not a static key --> + <!-- use Xpath expression "get-property()" to evaluate real key from property --> + <xslt key="{get-property('symbol')}"/> + </in> + <out> + <!-- transform the standard response back into the custom format the client expects --> + <!-- the key is looked up in the remote registry using a static key --> + <xslt key="transform/transform_back.xslt"/> + </out> + <send/> + </sequence> + +</definitions></div> + +<div class="section"> +<h3>Objective<a name="Objective"></a></h3> + +<p> + Objective: Introduction to dynamic and static keys + </p> + </div> + + +<div class="section"> +<h3>Pre-requisites<a name="Pre-requisites"></a></h3> + +<p> + </p> +<ul> + +<li> + Start the Synapse configuration numbered 16: i.e. synapse -sample 16 + </li> + +<li> + Start the Axis2 server and deploy the SimpleStockQuoteService if + not already done + </li> + </ul> + + </div> + +<div class="section"> +<h3>Executing the Client<a name="Executing_the_Client"></a></h3> + +<p> + Execute the client as follows. + </p> + +<div class="command">ant stockquote -Dtrpurl=http://localhost:8280/services/StockQuote</div> + +<p>This Sample demonstrates the use of dynamic keys with mediators. XSLT mediator is used as an + example for that and deference between static and dynamic usage of keys are shown with that. + </p> + +<p>The first registry resource "transform/transform.xslt" is set as a property value. Inside the + XSLT mediator the local property value is lookup using the Xpath expression "get-property()". + Likewise any Xpath expression can be enclosed inside "{ }" to denote that it is a dynamic key. + Then the mediator will evaluate the real value for that expression. + </p> + +<p>The second XSLT resource "transform/transform_back.xslt" is used simply as a static key as + usual. It is not included inside "{ }" and because of the mediator directly use the static + value as the key. + </p> + +<p>Execute the custom quote client as 'ant stockquote -Dmode=customquote' and analys the output + which is similar to the Sample 8. + </p> + + </div> + + </div> + +<p> + <a href="../samples.html">Back to Catalog</a> + </p> + + + </div> + </div> + </div> + + <hr/> + + <footer> + <div class="container-fluid"> + <div class="row-fluid"> + <p >Copyright © 2005–2017 + <a href="http://www.apache.org/">Apache Software Foundation</a>. + All rights reserved. + + </p> + </div> + + + </div> + </footer> + </body> +</html>
