<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~  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.
  -->

<!--Distributed transacton example  -->

 <definitions xmlns="http://ws.apache.org/ns/synapse">

<sequence name="myFaultHandler">
    <log level="custom">
        <property name="text" value="** Rollback Transaction**"/>
    </log>
    <transaction action="rollback"/>
    <send/>
</sequence>

<sequence name="main" onError="myFaultHandler">
    <in>
        <send>
            <endpoint>
                <address uri="http://localhost:9000/services/SimpleStockQuoteService"/>
            </endpoint>
        </send>
    </in>

    <out>
        <transaction action="new"/>

        <log level="custom">
            <property name="text" value="** Reporting to the Database esbdb**"/>
        </log>
        <dbreport useTransaction="true" xmlns="http://ws.apache.org/ns/synapse">
            <connection>
                <pool>
                    <dsName>java:jdbc/XADerbyDS</dsName>
                    <icClass>org.jnp.interfaces.NamingContextFactory</icClass>
                    <url>localhost:1099</url>
                    <user>synapse</user>
                    <password>synapse</password>
                </pool>
            </connection>
            <statement>
                <sql>delete from company where name =?</sql>
                <parameter expression="//m0:return/m1:symbol/child::text()"
                           xmlns:m0="http://services.samples" xmlns:m1="http://services.samples/xsd"
                           type="VARCHAR"/>
            </statement>
        </dbreport>

        <log level="custom">
            <property name="text" value="** Reporting to the Database esbdb1**"/>
        </log>
        <dbreport useTransaction="true" xmlns="http://ws.apache.org/ns/synapse">
            <connection>
                <pool>
                    <dsName>java:jdbc/XADerbyDS1</dsName>
                    <icClass>org.jnp.interfaces.NamingContextFactory</icClass>
                    <url>localhost:1099</url>
                    <user>synapse</user>
                    <password>synapse</password>
                </pool>
            </connection>
            <statement>
                <sql> INSERT into company values ('IBM','c4',12.0)</sql>
            </statement>
        </dbreport>
        <transaction action="commit"/>
        <send/>
    </out>
</sequence>
</definitions> 
