blob: acd2ba6218bc51a6ead98c946f032214a2169f6a [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
~ 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.
-->
<document>
<properties>
<title>Apache Synapse - Sample 201</title>
</properties>
<body>
<section name="Sample 201: Reliable Communication Between the Client and Proxy Services Using WS-ReliableMessaging">
<div class="xmlConf">&lt;definitions xmlns="http://ws.apache.org/ns/synapse"&gt;
&lt;proxy name="StockQuoteProxy"&gt;
&lt;target&gt;
&lt;inSequence&gt;
&lt;send&gt;
&lt;endpoint&gt;
&lt;address uri="http://localhost:9000/services/SimpleStockQuoteService"/&gt;
&lt;/endpoint&gt;
&lt;/send&gt;
&lt;/inSequence&gt;
&lt;outSequence&gt;
&lt;send/&gt;
&lt;/outSequence&gt;
&lt;/target&gt;
&lt;publishWSDL uri="file:repository/conf/sample/resources/proxy/sample_proxy_1.wsdl"/&gt;
&lt;enableRM/&gt;
&lt;/proxy&gt;
&lt;/definitions&gt;</div>
<subsection name="Objective">
<p>
Show case how to engage WS-ReliableMessaging on proxy services so that the
communication between client and the proxy service is reliable
</p>
</subsection>
<subsection name="Pre-requisites">
<p>
<ul>
<li>
Deploy the SimpleStockQuoteService in the sample Axis2 server and start Axis2
</li>
<li>
Start Synapse using the configuration numbered 201 (repository/conf/sample/synapse_sample_201.xml)
<div class="command">
Unix/Linux: sh synapse.sh -sample 201<br/>
Windows: synapse.bat -sample 201
</div>
</li>
</ul>
</p>
</subsection>
<subsection name="Executing the Client">
<p>
In the above configuration, a proxy service is created with WS-RM enabled using
the &lt;enableRM/&gt; tag. Therefore, this proxy service is capable of
communicating with a WS-RM client. It also removes the WS-RM headers in the
inSequence before the message is sent to the backend server. This is required as
the reliable messaging is applicable only between the client and Synapse. Now
start the client with WS-RM as follows:
</p>
<div class="command">ant stockquote -Dsymbol=IBM -Dmode=quote -Daddurl=http://localhost:8280/services/StockQuoteProxy -Dwsrm=true</div>
<p>
In this case, client sends a WS-RM enabled request to Synapse where Synapse sends
normal requests to the server. This can be observed by examining the wire level
messages between the client and Synapse. These messages would be similar to the
wire level messages shown in <a href="sample101.html">sample 101</a>.
</p>
</subsection>
</section>
<p><a href="../samples.html">Back to Catalog</a></p>
</body>
</document>