                        Apache Sandesha2/C

  What is it?
  -----------
  Sandesha2/C is a C implementation of WS-ReliableMessaging specification 
  published by IBM, Microsoft, BEA and TIBCO. Sandesha2/C is built on top 
  of Axis2/C. Therefore by using Sandesha2/C you can add reliable messaging 
  capability to the web services hosted using Axis2/C. Sandesha2/C can also 
  be used with Axis2/C client to interact with already hosted web services 
  in a reliable manner. Read Sandesha2 Architecture guide to see how 
  Sandesha2 work internally. 
  
  The Latest Version
  ------------------
  0.91.

  Documentation
  -------------
  The documentation not available yet. For the architecture guide please
  visit Sandesha2 Architecture guide at 
  http://ws.apache.org/sandesha/sandesha2/architectureGuide.html

  Acknowledgments
  ----------------
  Apache Sandesha2/C relies heavily on the use of autoconf and libtool to
  provide a build environment.

  Installation
  ------------
  Please see the INSTALL file.

  Licensing
  ---------
  Please see the LICENSE file.

  How To Run.
  ----------
  Install sandesha2 module into <axis2 deploy folder>/modules folder. Add the RMPhase
  information into axis2.xml as following. Search for 'RMPhase' in the
  following xml block to identify the RM specific entries.

    <!-- ================================================= -->
    <!-- Phases  -->
    <!-- ================================================= -->
    <phaseOrder type="inflow">
        <!-- System pre defined phases       -->
        <phase name="Transport"/>
        <phase name="PreDispatch"/>
        <phase name="Dispatch"/>
        <phase name="PostDispatch"/>
        <!-- End system pre defined phases       -->
        <!-- After PostDispatch phase, module or service author can add any phase as required  -->
        <!-- User defined phases could be added here -->
        <!--phase name="userphase1"/-->
        <phase name="RMPhase"/>
    </phaseOrder>
    <phaseOrder type="outflow">
        <!-- User defined phases could be added here -->
        <phase name="RMPhase"/>
        <!--phase name="RMPhase"/-->
        <!--phase name="userphase1"/-->
        <!--system predefined phase-->
        <phase name="MessageOut"/>
    </phaseOrder>
    <phaseOrder type="INfaultflow">
        <!-- User defined phases could be added here -->
        <!--phase name="userphase1"/-->
        <phase name="RMPhase"/>
    </phaseOrder>
    <phaseOrder type="Outfaultflow">
        <!-- User defined phases could be added here -->
        <phase name="RMPhase"/>
        <!--phase name="userphase1"/-->
        <phase name="MessageOut"/>
    </phaseOrder>

In the services xml file for the service which require RM enabled
add the entry
 <module ref="sandesha2"/>
If you need all services in the engine RM enabled add the above entry into
axis2.xml.

You can use samples in the samples folder for testing.

