blob: b9f92dfcc47b8917ab1da7340b5547db410bdab8 [file] [log] [blame]
<!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 &amp; 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 &lt;axis2 deploy folder&gt;/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>
&lt;!-- ================================================= --&gt;
&lt;!-- Phases --&gt;
&lt;!-- ================================================= --&gt;
&lt;phaseOrder type="inflow"&gt;
&lt;!-- System pre defined phases --&gt;
&lt;phase name="TransportIn"/&gt;
&lt;phase name="PreDispatch"/&gt;
&lt;phase name="Dispatch"&gt;
&lt;handler name="AddressingBasedDispatcher"
class="axis2_engine"&gt;
&lt;order phase="Dispatch"/&gt;
&lt;/handler&gt;
&lt;handler name="RequestURIBasedDispatcher"
class="axis2_engine"&gt;
&lt;order phase="Dispatch"/&gt;
&lt;/handler&gt;
&lt;handler name="SOAPActionBasedDispatcher"
class="axis2_engine"&gt;
&lt;order phase="Dispatch"/&gt;
&lt;/handler&gt;
&lt;handler name="SOAPMessageBodyBasedDispatcher"
class="axis2_engine"&gt;
&lt;order phase="Dispatch"/&gt;
&lt;/handler&gt;
&lt;/phase&gt;
&lt;phase name="PostDispatch"&gt;
&lt;handler name="DispatchPostConditionsEvaluator"
class="axis2_engine"&gt;
&lt;order phase="PostDispatch"/&gt;
&lt;/handler&gt;
&lt;handler name="InstanceDispatcher"
class="axis2_engine"&gt;
&lt;order phase="PostDispatch"/&gt;
&lt;/handler&gt;
&lt;handler name="SOAPProcessingModelChecker"
class="axis2_engine"&gt;
&lt;order phase="PostDispatch"/&gt;
&lt;/handler&gt;
&lt;/phase&gt;
&lt;!-- System pre defined phases --&gt;
&lt;!-- After Postdispatch phase module author or or service author can add any phase he want --&gt;
&lt;!--phase name="userphase1"/--&gt;
&lt;phase name="RMPhase"/&gt;
&lt;/phaseOrder&gt;
&lt;phaseOrder type="outflow"&gt;
&lt;!-- user can add his own phases to this area --&gt;
&lt;phase name="RMPhase"/&gt;
&lt;!--phase name="userphase1"/--&gt;
&lt;!--system predefined phase--&gt;
&lt;!--these phase will run irrespective of the service--&gt;
&lt;!--phase name="PolicyDetermination"/--&gt;
&lt;!--phase name="MessageOut"/--&gt;
&lt;/phaseOrder&gt;
&lt;phaseOrder type="INfaultflow"&gt;
&lt;!-- user can add his own phases to this area --&gt;
&lt;!--phase name="userphase1"/--&gt;
&lt;phase name="RMPhase"/&gt;
&lt;/phaseOrder&gt;
&lt;phaseOrder type="Outfaultflow"&gt;
&lt;!-- user can add his own phases to this area --&gt;
&lt;phase name="RMPhase"/&gt;
&lt;phase name="MessageOut"/&gt;
&lt;!--phase name="userphase1"/--&gt;
&lt;!--phase name="PolicyDetermination"/--&gt;
&lt;/phaseOrder&gt;
</pre></div>
<p>
In the services xml file for the service which require RM enabled
add the entry
&lt;module ref="sandesha2"/&gt;
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-&gt;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-&gt;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>