| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Apache Sandesha2/C - README</title><style type="text/css" media="all"> |
| @import url("../style/maven-base.css"); |
| |
| @import url("../style/maven-classic.css");</style><link rel="stylesheet" href="../style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/sandesha2/c" id="projectLogo"><img alt="Apache Sandesha2/C" src="http://ws.apache.org/sandesha2/c/images/sandesha2c_logo.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft"> |
| Last published: 05 October 2007 |
| | Doc for 0.91</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuApache_Sandesha2_C"><h5>Apache Sandesha2/C</h5><ul><li class="none"><a href="../index.html">Apache Sandesha2/C Home</a></li><li class="expanded"><a href="../download.cgi">Download Sandesha2/C</a><ul><li class="none"><a href="../download.cgi">Releases</a></li></ul></li><li class="expanded"><a href="../docs/index.html">Documentation</a><ul><li class="none"><a href="../docs/installationguide.html">Installation Guide</a></li><li class="none"><a href="../docs/sandesha2c_manual.html">Sandesha2/C manual</a></li></ul></li><li class="expanded"><a href="../lists_issues.html">Get Involved</a><ul><li class="none"><a href="../lists_issues.html">Mailing Lists & Issue Tracking</a></li><li class="none"><a href="../svn.html">Checkout Source Code</a></li></ul></li><li class="expanded"><a href="../coding_conventions.html">Developer Guidelines</a><ul><li class="none"><a href="../coding_conventions.html">Coding Convention</a></li><li class="none"><a href="../versioning.html">Versionning</a></li></ul></li><li class="expanded"><a href="../team-list.html">Project Information</a><ul><li class="none"><a href="../team-list.html">Project Team</a></li><li class="none"><a href="http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/" class="externalLink" title="External Link">Source Code</a></li></ul></li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="../images/logos/maven-button-1.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="Engaging_Sandesha2_C_Module"></a><h2>Engaging Sandesha2/C Module</h2><p> |
| 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. |
| </p> |
| <div class="source"><pre> |
| <!-- ================================================= --> |
| <!-- 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> |
| |
| </pre></div> |
| <p> |
| 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. |
| </p><p> |
| You can use samples in the samples folder for testing. |
| </p><div class="subsection"><a name="Known_Issues"></a><h3>Known Issues</h3><p> |
| |
| Please keep in mind the following when using Sandesha2/C with Axis2/C. |
| <ol> |
| <li>Comment the line no:295 in src/core/transport/http/receiver/http_svr_thread.c |
| <pre>axutil_free_thread_env(thread_env);</pre> |
| </li> |
| |
| <li>Comment the line no:299 in src/core/transport/http/receiver/http_svr_thread.c |
| <pre>axutil_thread_pool_exit_thread(env->thread_pool, thd);</pre> |
| </li> |
| <li>Comment the following block starting form line no:259 src/core/transport/http/sender/http_sender.c |
| <pre> |
| 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); |
| </pre> |
| </li> |
| <li>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. |
| </li> |
| </ol> |
| Some of the above changes may lead to memory leaks in Axis2/C. </p></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2005-2007, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html> |