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 /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. In the services xml file for the service which require RM enabled add the entry 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. Known Issues Please keep in mind the following when using Sandesha2/C with Axis2/C. 1. Comment the line no:295 in src/core/transport/http/receiver/http_svr_thread.c axutil_free_thread_env(thread_env); 2. Comment the line no:299 in src/core/transport/http/receiver/http_svr_thread.c axutil_thread_pool_exit_thread(env->thread_pool, thd); 3. property = axutil_property_create(env); axutil_property_set_scope(property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_free_func(property, env, axis2_http_client_free_void_arg); axutil_property_set_value(property, env, sender->client); axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_HTTP_CLIENT, property); 4. If for some reason RM sequences seems not executing properly the reason could be the database is corrupted for some reason. Try rerunning the the database scripts to clean the database. Some of the above changes may lead to memory leaks in Axis2/C.