blob: af624d1ac727cf34cdd1edb0df44162b2020583b [file] [log] [blame]
Apache Sandesha2C
What is it?
-----------
Sandesha2C is a C implementation of WS-ReliableMessaging specification
published by IBM, Microsoft, BEA and TIBCO. Sandesha2C is built on top
of Axis2C. Therefore by using Sandesha2C you can add reliable messaging
capability to the web services hosted using Axis2C. Sandesha2C can also
be used with Axis2C 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.90.
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 Sandesha2C 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="TransportIn"/>
<phase name="PreDispatch"/>
<phase name="Dispatch">
<handler name="AddressingBasedDispatcher"
class="axis2_engine">
<order phase="Dispatch"/>
</handler>
<handler name="RequestURIBasedDispatcher"
class="axis2_engine">
<order phase="Dispatch"/>
</handler>
<handler name="SOAPActionBasedDispatcher"
class="axis2_engine">
<order phase="Dispatch"/>
</handler>
<handler name="SOAPMessageBodyBasedDispatcher"
class="axis2_engine">
<order phase="Dispatch"/>
</handler>
</phase>
<phase name="PostDispatch">
<handler name="DispatchPostConditionsEvaluator"
class="axis2_engine">
<order phase="PostDispatch"/>
</handler>
<handler name="InstanceDispatcher"
class="axis2_engine">
<order phase="PostDispatch"/>
</handler>
<handler name="SOAPProcessingModelChecker"
class="axis2_engine">
<order phase="PostDispatch"/>
</handler>
</phase>
<!-- System pre defined phases -->
<!-- After Postdispatch phase module author or or service author can add any phase he want -->
<!--phase name="userphase1"/-->
<phase name="RMPhase"/>
</phaseOrder>
<phaseOrder type="outflow">
<!-- user can add his own phases to this area -->
<phase name="RMPhase"/>
<!--phase name="userphase1"/-->
<!--system predefined phase-->
<!--these phase will run irrespective of the service-->
<!--phase name="PolicyDetermination"/-->
<!--phase name="MessageOut"/-->
</phaseOrder>
<phaseOrder type="INfaultflow">
<!-- user can add his own phases to this area -->
<!--phase name="userphase1"/-->
<phase name="RMPhase"/>
</phaseOrder>
<phaseOrder type="Outfaultflow">
<!-- user can add his own phases to this area -->
<phase name="RMPhase"/>
<phase name="MessageOut"/>
<!--phase name="userphase1"/-->
<!--phase name="PolicyDetermination"/-->
</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.