<?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 17</title>
    </properties>
    <body>
        <section name="Sample 17: Introduction to the payloadFactory mediator">
            <div class="xmlConf">&lt;definitions xmlns=&quot;http://ws.apache.org/ns/synapse&quot;&gt;
&lt;sequence name=&quot;main&quot;&gt;
    &lt;in&gt;
        &lt;!-- using payloadFactory mediator to transform the request message --&gt;
        &lt;payloadFactory media-type=&quot;xml&quot;&gt;
            &lt;format&gt;
                &lt;m:getQuote xmlns:m=&quot;http://services.samples&quot;&gt;
                &lt;m:request&gt;
                &lt;m:symbol&gt;$1&lt;/m:symbol&gt;
                &lt;/m:request&gt;
                &lt;/m:getQuote&gt;
            &lt;/format&gt;
            &lt;args&gt;
                &lt;arg xmlns:m0=&quot;http://services.samples&quot; expression=&quot;//m0:Code&quot;/&gt;&lt;/args&gt;
            &lt;/payloadFactory&gt;
    &lt;/in&gt;
    &lt;out&gt;
        &lt;!-- using payloadFactory mediator to transform the response message --&gt;
        &lt;payloadFactory media-type=&quot;xml&quot;&gt;
            &lt;format&gt;
                &lt;m:CheckPriceResponse xmlns:m=&quot;http://services.samples/xsd&quot;&gt;
                &lt;m:Code&gt;$1&lt;/m:Code&gt;
                &lt;m:Price&gt;$2&lt;/m:Price&gt;
                &lt;/m:CheckPriceResponse&gt;
            &lt;/format&gt;
            &lt;args&gt;
                &lt;arg xmlns:m0=&quot;http://services.samples/xsd&quot; expression=&quot;//m0:symbol&quot;/&gt;
                &lt;arg xmlns:m0=&quot;http://services.samples/xsd&quot; expression=&quot;//m0:last&quot;/&gt;
            &lt;/args&gt;
        &lt;/payloadFactory&gt;
    &lt;/out&gt;
    &lt;send/&gt;
    &lt;/sequence&gt;
&lt;/definitions&gt;</div>
            <subsection name="Objective">
                <p>
                    Objective: Introduction to the payloadFactory mediator
                </p>
            </subsection>

            <subsection name="Pre-requisites">
                <p>
                    <ul>
                        <li>
                            Start the Synapse configuration numbered 17: i.e. synapse -sample 17
                        </li>
                        <li>
                            Start the Axis2 server and deploy the SimpleStockQuoteService if
                            not already done
                        </li>
                    </ul>
                </p>
            </subsection>
            <subsection name="Executing the Client">
                <p>
                    Execute the client as follows.
                </p>
                <div class="command">ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280/ -Dmode=customquote
                </div>
                <p>This Sample demonstrates how the PayloadFactory Mediator can be used to perform transformations
                    as an alternative to the XSLT mediator, which is demonstrated in Sample 8: Introduction to
                    Static and Dynamic Registry Resources and Using XSLT Transformations
                </p>

            </subsection>

        </section>
        <p>
            <a href="../samples.html">Back to Catalog</a>
        </p>
    </body>
</document>
