axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sam...@apache.org
Subject svn commit: r414850 [2/2] - in /webservices/axis2/site/c: ./ docs/
Date Fri, 16 Jun 2006 15:25:15 GMT
Modified: webservices/axis2/site/c/docs/userguide.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/c/docs/userguide.html?rev=414850&r1=414849&r2=414850&view=diff
==============================================================================
--- webservices/axis2/site/c/docs/userguide.html (original)
+++ webservices/axis2/site/c/docs/userguide.html Fri Jun 16 08:25:14 2006
@@ -2,8 +2,8 @@
           @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/axis2/c" id="projectLogo"><img alt="Apache Axis2 C" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
-                	Last published: 23 May 2006
-                  | Doc for 0.91</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_C"><h5>Axis2/C</h5><ul><li class="none"><a href="../index.html">Home</a></li><li class="expanded"><a href="../download.cgi">Download Axis2/C</a><ul><li class="none"><a href="../download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/c/" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="none"><a href="../docs/index.html">Documentation</a></li><li class="expanded"><a href="../mail-lists.html">Get Involved</a><ul><li class="none"><a href="../mail-lists.html">Mailing Lists</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="../issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><a h
 ref="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="Axis2_C_User_s_Guide"></a><h2>Axis2/C User's Guide</h2><div class="subsection"><a name="Content"></a><h3>Content</h3><ul>
+                	Last published: 16 June 2006
+                  | Doc for 0.92</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_C"><h5>Axis2/C</h5><ul><li class="none"><a href="../index.html">Home</a></li><li class="expanded"><a href="../download.cgi">Download Axis2/C</a><ul><li class="none"><a href="../download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/c/" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="none"><a href="../docs/index.html">Documentation</a></li><li class="expanded"><a href="../mail-lists.html">Get Involved</a><ul><li class="none"><a href="../mail-lists.html">Mailing Lists</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="../issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><a h
 ref="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="Axis2_C_User_s_Guide"></a><h2>Axis2/C User's Guide</h2><div class="subsection"><a name="Content"></a><h3>Content</h3><ul>
   <li><p><a href="#Introduction">Introduction</a></p>
     <ul>
       <li><a href="#What_is_Axis2_">What is Axis2/C?</a></li>
@@ -11,7 +11,7 @@
   </li>
   <li><a href="#Web_Services_Using_Axis2">Web Services Using Axis2/C</a>
     <ul>
-      <li><a href="#Writing_Web_Services_Using%20Axis2_C">Writing Web
+      <li><a href="#Writing_Web_Services_Using_Axis2_C">Writing Web
         Services Using Axis2/C</a>
         <ul>
           <li><a href="#Creating_Web_Service__MyService_">Creating Web
@@ -30,6 +30,18 @@
           </li>
         </ul>
       </li>
+      <li><a href="#Writing_Web_Services_Using_Code_Generator">
+        Writing Web Services Skeleton Using Code Generator</a>
+        <ul>
+          <li><a href="#WSDL2Code_tool">WSDL2Code tool</a></li>
+          <li><a href="#Implement_the_Business_Logic">Implement the Business Logic
+              </a></li>
+          <li><a href="#echoString">echoString</a></li>
+          <li><a href="#echoStringArray">echoStringArray</a></li>
+          <li><a href="#echoStruct">echoStruct</a></li>
+          <li><a href="#services_xml">services.xml</a></li>
+        </ul>
+      </li>
       <li><a href="#deploy">Deploy the Web Service</a></li>
     </ul>
   </li>
@@ -47,7 +59,18 @@
           <li><a href="#EchoBlockingDualClient">echo_blocking_dual
           Client</a></li>
         </ul>
+      </li><li><a href="#Writing_Web_Clients_Using_Code_Generator">
+        Writing Web Service Clients using Code Generation with Data Binding Support</a>
+        <ul>
+          <li><a href="#Codegenerator_Client_echoString">
+                      Client for echoString operation</a></li>
+          <li><a href="#Codegenerator_Client_echoStringArray">
+                      Client for echoStringArray operation</a></li>
+          <li><a href="#Codegenerator_Client_echoStruct">
+                      Client for echoStruct operation</a></li>
+        </ul>
       </li>
+      
     </ul>
   </li>
 </ul></div><div class="subsection"><a name="Introduction"></a><h3>Introduction</h3><p>Welcome to Axis2/C, the Apache Axis2 implemented in C. This User's Guide
@@ -95,13 +118,13 @@
 time to spare, please get involved and lend us a hand! The Axis2/C developer
 community welcomes your participation and contributions.</p><p>Let us know what you think! Please send your feedback on Axis2/C to "<a href="mailto:axis-user@ws.apache.org">axis-c-user@ws.apache.org</a>" and
 please remember to prefix the subject of the mail with [Axis2].</p><p>The following sections will guide through how to write web service clients
-and services.</p><p></p><p>Web Services Using Axis2/C</p><p>Before starting, please make sure that you have installed Axis2/C
+and services.</p><p></p><p><a id="Web_Services_Using_Axis2"></a></p></div><div class="subsection"><a name="Web_Services_Using_Axis2_C"></a><h3>Web Services Using Axis2/C</h3><p>Before starting, please make sure that you have installed Axis2/C
 correctly and check whether you can run the axis2_http_server located in
 AXIS2C_HOME/bin . (See <a href="installationguide.html">Installation
 Guide</a>).</p><p><a id="Writing_Web_Services_Using_Axis2_C"></a></p></div><div class="subsection"><a name="Writing_Web_Services_Using_Axis2_C"></a><h3>Writing Web Services Using Axis2/C</h3></div><div class="subsection"><a name="Creating_Web_Service__Echo_service_"></a><h3>Creating Web Service (Echo service)</h3><p>First let's see how we can write a simple Web Service (echo service) using
 Axis2/C's primary interfaces and deploy it. For this purpose we will create a
 Web Service with one operation as follows.</p>
-    <div class="source"><pre>axis2_om_node_t* axis2_echo_echo(axis2_om_node_t *echo_node){} 
+    <div class="source"><pre>axiom_node_t* axis2_echo_echo(axiom_node_t *echo_node){} 
 
 </pre></div>
   <p>You can have a peek at the complete source code for this example echo
@@ -119,22 +142,22 @@
 operations struct which defines four function pointers to be implemented and
 assigned by a service skeleton.</p><p>They are:-</p>
     <div class="source"><pre>int (AXIS2_CALL * init) (axis2_svc_skeleton_t *svc_skeleton,
-                         axis2_env_t **env);
+                         const axis2_env_t *env);
 
-axis2_om_node_t * (AXIS2_CALL* invoke)(axis2_svc_skeleton_t *svc_skeli, 
-                    axis2_env_t **env, axis2_om_node_t *node);
+axiom_node_t * (AXIS2_CALL* invoke)(axis2_svc_skeleton_t *svc_skeli, 
+                    const axis2_env_t *env, axiom_node_t *node);
 
-axis2_om_node_t *(AXIS2_CALL* on_fault)(axis2_svc_skeleton_t *svc_skeli,
-                    axis2_env_t **env, axis2_om_node_t *node);
+axiom_node_t *(AXIS2_CALL* on_fault)(axis2_svc_skeleton_t *svc_skeli,
+                    const axis2_env_t *env, axiom_node_t *node);
 
 int (AXIS2_CALL *free)(axis2_svc_skeleton_t *svc_skeli, 
-                       axis2_env_t **env);
+                       const axis2_env_t *env);
 
 </pre></div>
   <p>Lets implement the above functions for echo service.</p><p><i>/* Initialize the service */</i><br></br>
 int AXIS2_CALL<br></br>
 echo_init(axis2_svc_skeleton_t *svc_skeleton,<br></br>
-                        axis2_env_t **env)<br></br>
+                        const axis2_env_t *env)<br></br>
 {<br></br>
     svc_skeleton-&gt;func_array = axis2_array_list_create(env, 0);<br></br>
     <i>/* Add the implemented operation names of the service to  <br></br>
@@ -148,10 +171,10 @@
 <i>/*<br></br>
  * This method invokes the right service method <br></br>
  */</i><br></br>
-axis2_om_node_t* AXIS2_CALL<br></br>
+axiom_node_t* AXIS2_CALL<br></br>
 echo_invoke(axis2_svc_skeleton_t *svc_skeleton,<br></br>
-            axis2_env_t **env,<br></br>
-            axis2_om_node_t *node)<br></br>
+            const axis2_env_t *env,<br></br>
+            axiom_node_t *node)<br></br>
 {<br></br>
     <i>/* Invoke the business logic.<br></br>
      * Depending on the function name invoke the correct impl method.<br></br>
@@ -163,19 +186,19 @@
 }<br></br>
 <br></br>
 <i>/* On fault, handle the fault */</i><br></br>
-axis2_om_node_t* AXIS2_CALL<br></br>
+axiom_node_t* AXIS2_CALL<br></br>
 echo_on_fault(axis2_svc_skeleton_t *svc_skeli, <br></br>
-              axis2_env_t **env, axis2_om_node_t *node)<br></br>
+              const axis2_env_t *env, axiom_node_t *node)<br></br>
 {<br></br>
    <i>/* Here we are just setting a simple error message inside an element <br></br>
     * called 'EchoServiceError' <br></br>
     */</i><br></br>
-    axis2_om_node_t *error_node = NULL;<br></br>
-    axis2_om_node_t* text_node = NULL;<br></br>
-    axis2_om_element_t *error_ele = NULL;<br></br>
-    error_ele = axis2_om_element_create(env, node, "EchoServiceError", NULL, <br></br>
+    axiom_node_t *error_node = NULL;<br></br>
+    axiom_node_t* text_node = NULL;<br></br>
+    axiom_element_t *error_ele = NULL;<br></br>
+    error_ele = axiom_element_create(env, node, "EchoServiceError", NULL, <br></br>
         &amp;error_node);<br></br>
-    AXIS2_OM_ELEMENT_SET_TEXT(error_ele, env, "Echo service failed ", <br></br>
+    AXIOM_ELEMENT_SET_TEXT(error_ele, env, "Echo service failed ", <br></br>
         text_node);<br></br>
     <b>return</b> error_node;<br></br>
 }<br></br>
@@ -183,7 +206,7 @@
 <i>/* Free the resources used */</i><br></br>
 int AXIS2_CALL<br></br>
 echo_free(axis2_svc_skeleton_t *svc_skeleton,<br></br>
-            axis2_env_t **env)<br></br>
+            const axis2_env_t *env)<br></br>
 {<br></br>
     <i>/* Free the function array */</i><br></br>
     <b>if</b>(svc_skeleton-&gt;func_array)<br></br>
@@ -195,14 +218,14 @@
     <i>/* Free the function array */</i><br></br>
     <b>if</b>(svc_skeleton-&gt;ops)<br></br>
     {<br></br>
-        AXIS2_FREE((*env)-&gt;allocator, svc_skeleton-&gt;ops);<br></br>
+        AXIS2_FREE(env-&gt;allocator, svc_skeleton-&gt;ops);<br></br>
         svc_skeleton-&gt;ops = NULL;<br></br>
     }<br></br>
     <br></br>
     <i>/* Free the service skeleton */</i><br></br>
     <b>if</b>(svc_skeleton)<br></br>
     {<br></br>
-        AXIS2_FREE((*env)-&gt;allocator, svc_skeleton);<br></br>
+        AXIS2_FREE(env-&gt;allocator, svc_skeleton);<br></br>
         svc_skeleton = NULL;<br></br>
     }<br></br>
 <br></br>
@@ -211,15 +234,15 @@
 </p><p>Now we can write the create function of the echo_service_skeleton as<br></br>
 follows.</p><p><i>/*Create function */<br></br>
 </i> axis2_svc_skeleton_t *<br></br>
-axis2_echo_create(axis2_env_t **env)<br></br>
+axis2_echo_create(const axis2_env_t *env)<br></br>
 {<br></br>
     axis2_svc_skeleton_t *svc_skeleton = NULL;<br></br>
     <i>/* Allocate memory for the structs */</i><br></br>
-    svc_skeleton = AXIS2_MALLOC((*env)-&gt;allocator, <br></br>
+    svc_skeleton = AXIS2_MALLOC(env-&gt;allocator, <br></br>
         <b>sizeof</b>(axis2_svc_skeleton_t));<br></br>
 <br></br>
     svc_skeleton-&gt;ops = AXIS2_MALLOC(<br></br>
-        (*env)-&gt;allocator, <b>sizeof</b>(axis2_svc_skeleton_ops_t));<br></br>
+        env-&gt;allocator, <b>sizeof</b>(axis2_svc_skeleton_ops_t));<br></br>
 <br></br>
     <i>/* Assign function pointers */</i><br></br>
     svc_skeleton-&gt;ops-&gt;free = echo_free;<br></br>
@@ -233,7 +256,7 @@
 file.</p><p><br></br>
 </p><p>AXIS2_EXPORT int <br></br>
 axis2_get_instance(axis2_svc_skeleton_t **inst,<br></br>
-                   axis2_env_t **env)<br></br>
+                   const axis2_env_t *env)<br></br>
 {<br></br>
     *inst = axis2_echo_create(env);<br></br>
     <b>if</b>(!(*inst))<br></br>
@@ -245,7 +268,7 @@
 <br></br>
 AXIS2_EXPORT int <br></br>
 axis2_remove_instance(axis2_svc_skeleton_t *inst,<br></br>
-                      axis2_env_t **env)<br></br>
+                      const axis2_env_t *env)<br></br>
 {<br></br>
     axis2_status_t status = AXIS2_FAILURE;<br></br>
     <b>if</b> (inst)<br></br>
@@ -261,12 +284,12 @@
 from a service dll (or any other dll of Axis2/C engine). Axis2/C engine calls
 axis2_get_instance method, which creates a new service instance, and cast the
 return pointer to axis2_svc_skeleton interface.Then the interface methods can
-be called by Axis2/C engine.</p><p><a id="Step2"></a></p></div><div class="subsection"><a name="Step2_:_Now_we_can_write_the_echo_service_in_a_file_echo_c"></a><h3>Step2 : Now we can write the echo service in a file echo.c</h3><p><a id="Step3">axis2_om_node_t *<br></br>
-axis2_echo_echo (axis2_env_t **env, axis2_om_node_t *node)<br></br>
+be called by Axis2/C engine.</p><p><a id="Step2"></a></p></div><div class="subsection"><a name="Step2_:_Now_we_can_write_the_echo_service_in_a_file_echo_c"></a><h3>Step2 : Now we can write the echo service in a file echo.c</h3><p>axiom_node_t *<br></br>
+axis2_echo_echo (const axis2_env_t *env, axiom_node_t *node)<br></br>
 {<br></br>
-    axis2_om_node_t *text_parent_node = NULL;<br></br>
-    axis2_om_node_t *text_node = NULL;<br></br>
-    axis2_om_node_t *ret_node = NULL;<br></br>
+    axiom_node_t *text_parent_node = NULL;<br></br>
+    axiom_node_t *text_node = NULL;<br></br>
+    axiom_node_t *ret_node = NULL;<br></br>
 <br></br>
     AXIS2_ENV_CHECK(env, NULL);<br></br>
    <br></br>
@@ -277,40 +300,40 @@
      */</i><br></br>
     <b>if</b> (!node) <i>/* 'echoString' node */</i><br></br>
     {<br></br>
-        AXIS2_ERROR_SET((*env)-&gt;error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE);<br></br>
+        AXIS2_ERROR_SET(env-&gt;error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE);<br></br>
         printf("Echo client ERROR: input parameter NULL\n");<br></br>
         <b>return</b> NULL;<br></br>
     }<br></br>
 <br></br>
-    text_parent_node = AXIS2_OM_NODE_GET_FIRST_CHILD(node, env);<br></br>
+    text_parent_node = AXIOM_NODE_GET_FIRST_CHILD(node, env);<br></br>
     <b>if</b> (!text_parent_node) <i>/* 'text' node */</i><br></br>
     {<br></br>
-        AXIS2_ERROR_SET((*env)-&gt;error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE);<br></br>
+        AXIS2_ERROR_SET(env-&gt;error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE);<br></br>
         printf("Echo client ERROR: invalid XML in request\n");<br></br>
         <b>return</b> NULL;<br></br>
     }<br></br>
     <br></br>
-    text_node = AXIS2_OM_NODE_GET_FIRST_CHILD(text_parent_node, env);<br></br>
+    text_node = AXIOM_NODE_GET_FIRST_CHILD(text_parent_node, env);<br></br>
     <b>if</b> (!text_node) <i>/* actual text to echo */</i><br></br>
     {<br></br>
-        AXIS2_ERROR_SET((*env)-&gt;error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE);<br></br>
+        AXIS2_ERROR_SET(env-&gt;error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE);<br></br>
         printf("Echo client ERROR: invalid XML in request\n");<br></br>
         <b>return</b> NULL;<br></br>
     }<br></br>
     <br></br>
-    <b>if</b> (AXIS2_OM_NODE_GET_NODE_TYPE(text_node, env) == AXIS2_OM_TEXT)<br></br>
+    <b>if</b> (AXIOM_NODE_GET_NODE_TYPE(text_node, env) == AXIOM_TEXT)<br></br>
     {<br></br>
-        axis2_om_text_t *text = (axis2_om_text_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(text_node, env);<br></br>
-        <b>if</b>( text &amp;&amp; AXIS2_OM_TEXT_GET_VALUE(text , env))<br></br>
+        axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(text_node, env);<br></br>
+        <b>if</b>( text &amp;&amp; AXIOM_TEXT_GET_VALUE(text , env))<br></br>
         {<br></br>
-            axis2_char_t *text_str = AXIS2_OM_TEXT_GET_VALUE(text, env);<br></br>
+            axis2_char_t *text_str = AXIOM_TEXT_GET_VALUE(text, env);<br></br>
             printf("Echoing text value  %s \n", text_str);<br></br>
             ret_node = build_om_programatically(env, text_str);<br></br>
         }<br></br>
     }<br></br>
     <b>else</b><br></br>
     {<br></br>
-        AXIS2_ERROR_SET((*env)-&gt;error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE);<br></br>
+        AXIS2_ERROR_SET(env-&gt;error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE);<br></br>
         printf("Echo client ERROR: invalid XML in request\n");<br></br>
         <b>return</b> NULL;<br></br>
     }<br></br>
@@ -319,26 +342,26 @@
 }<br></br>
 <br></br>
 <i>/* Builds the response content */</i><br></br>
-axis2_om_node_t *<br></br>
-build_om_programatically(axis2_env_t **env, axis2_char_t *text)<br></br>
+axiom_node_t *<br></br>
+build_om_programatically(const axis2_env_t *env, axis2_char_t *text)<br></br>
 {<br></br>
-    axis2_om_node_t *echo_om_node = NULL;<br></br>
-    axis2_om_element_t* echo_om_ele = NULL;<br></br>
-    axis2_om_node_t* text_om_node = NULL;<br></br>
-    axis2_om_element_t * text_om_ele = NULL;<br></br>
-    axis2_om_namespace_t *ns1 = NULL;<br></br>
+    axiom_node_t *echo_om_node = NULL;<br></br>
+    axiom_element_t* echo_om_ele = NULL;<br></br>
+    axiom_node_t* text_om_node = NULL;<br></br>
+    axiom_element_t * text_om_ele = NULL;<br></br>
+    axiom_namespace_t *ns1 = NULL;<br></br>
     <br></br>
-    ns1 = axis2_om_namespace_create (env, "http://localhost:9090/axis2/services/echo", "ns1");<br></br>
+    ns1 = axiom_namespace_create (env, "http://localhost:9090/axis2/services/echo", "ns1");<br></br>
 <br></br>
-    echo_om_ele = axis2_om_element_create(env, NULL, "echoString", ns1, &amp;echo_om_node);<br></br>
+    echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &amp;echo_om_node);<br></br>
     <br></br>
-    text_om_ele = axis2_om_element_create(env, echo_om_node, "text", NULL, &amp;text_om_node);<br></br>
+    text_om_ele = axiom_element_create(env, echo_om_node, "text", NULL, &amp;text_om_node);<br></br>
 <br></br>
-    AXIS2_OM_ELEMENT_SET_TEXT(text_om_ele, env, text, text_om_node);<br></br>
+    AXIOM_ELEMENT_SET_TEXT(text_om_ele, env, text, text_om_node);<br></br>
     <br></br>
     <b>return</b> echo_om_node;<br></br>
 }<br></br>
-</a></p></div><div class="subsection"><a name="Step3_:Write_the_services_xml_file"></a><h3>Step3 :Write the services.xml file</h3><p>Axis2/C uses "services.xml" to keep configurations for a Web Service. Each
+</p><p><a id="Step3"></a></p></div><div class="subsection"><a name="Step3_:Write_the_services_xml_file"></a><h3>Step3 :Write the services.xml file</h3><p>Axis2/C uses "services.xml" to keep configurations for a Web Service. Each
 Web Service deployed in Axis2/C needs a "services.xml" containing the
 configurations. Note that services.xml has the same semantics as Axis2 Java's
 services.xml file. Only difference is that for class attributes instead of
@@ -383,9 +406,163 @@
 service/service group name which will contain the shared library (compiled
 service) and the services.xml file which describe the web service. So in this
 example case we will have a folder named echo which contain the services,xml
-file and echo dll.</p><p><a id="deploy"></a></p></div><div class="subsection"><a name="Deploy_the_Web_Service"></a><h3>Deploy the Web Service</h3><p>Deploying the service means putting the service folder to the services
-directory. At the moment the server has to be restarted for the service to be
-deployed since hot deployment has not yet been implemented.</p><p><a id="Web_Service_Clients_Using_Axis2"></a></p></div><div class="subsection"><a name="Web_Service_Clients_UsingAxis2_C"></a><h3>Web Service Clients UsingAxis2/C</h3><p>Now let's see how we can write a Web Service Client to consume a Web
+file and echo dll.</p><p><a id="Writing_Web_Services_Using_Code_Generator"></a></p></div><div class="subsection"><a name="Writing_Web_Services_Skeleton_Using_Code_Generator"></a><h3>Writing Web Services Skeleton Using Code Generator</h3></div><div class="subsection"><a name="WSDL2Code_tool"></a><h3>WSDL2Code tool</h3><p>Axis2/Java WSDL2Code tool supports generation of Axis2/C stub and
+skel. Axis2/Java svn revision 414253 and later versions provides this facility.. 
+A basic guide for the tool can be found <a href="http://ws.apache.org/axis2/1_0/userguide2.html#Writing_Web_Services_by_Code_Generating_Skeleton" class="externalLink" title="External Link">
+here</a></p><p>We will run the tool with the following parameters and generate the
+skeleton and the other required files to support ADB (Axis Data Binding). In order to run
+the tool, set all the .jar library files in the Axis2/Java to the 
+classpath. To generate code with no data binding support, just replace -d adb -u
+with -d none</p>
+    <div class="source"><pre>java WSDL2Code -Dorg.apache.adb.properties=/org/apache/axis2/schema/c-schema-compile.properties
+ -uri interoptestdoclitparameters.wsdl -ss -sd -d adb -u 
+
+</pre></div>
+  <p>If you need an XML in/out programming model, you can just ignore the data binding support
+by setting following parameters</p>
+    <div class="source"><pre>java WSDL2Code -uri interoptestdoclitparameters.wsdl -ss -sd -d none 
+
+</pre></div>
+  <p>The WSDL interoptestdoclitparameters.wsdl can be found in 
+&lt;axis2_src_dir&gt;/test/resources directory. This is used to generate
+stub and skeleton code throughout this user guide. </p></div><div class="subsection"><a name="Implement_the_Business_Logic"></a><h3>Implement the Business Logic</h3><p>
+
+Locate the skeleton source file from the generated files: 
+"axis2_WSDLInteropTestDocLitService.c". You can go through the rest of the guide to
+add the business logic to the following operations in the WSDL.
+
+<ul>
+ <li>echoString  - Operation that echoes a String value</li>
+ <li>echoStringArray - Operation that accept string array as the input and echoes them back</li>
+ <li>echoStruct - Operation that accept a Struct as the input and echoes them back</li>
+</ul>
+
+Complete skeleton source file for the above operations can be found under 
+&lt;axis2_src_dir&gt;/samples/codegen/server/interop_doc2 directory with the name 
+"axis2_WSDLInteropTestDocLitService.c". 
+
+</p></div><div class="subsection"><a name="echoString"></a><h3>echoString</h3><p>If you generate the code with data binding support, you will find the following code segment
+in the "axis2_WSDLInteropTestDocLitService.c"
+Fill the business logic inside this function as shown below.</p>
+    <div class="source"><pre>axis2_echoStringResponse_t*
+axis2_WSDLInteropTestDocLitService_echoString
+                     (const axis2_env_t* env  ,axis2_echoString_t* param6 )
+{
+    /* Todo fill this with the necessary business logic */
+}
+
+
+</pre></div>
+  <p>Once filled with the business logic, it will be as follows. The code is simple 
+and the inline comments provide some explanation.</p>
+    <div class="source"><pre>axis2_echoStringResponse_t*
+axis2_WSDLInteropTestDocLitService_echoString
+               (const axis2_env_t* env  ,axis2_echoString_t* param6 )
+{
+	  axis2_echoString_t* echo_in = param6;
+	  axis2_echoStringResponse_t* echo_out = NULL;
+
+	  char* echo_string = NULL;
+	  
+	  /* retrieve the string input */
+	  echo_string = AXIS2_ECHOSTRING_GET_PARAM0 ( echo_in, env );
+
+	  /* create the response and set the output string */
+	  echo_out = axis2_echoStringResponse_create ( env );
+	  AXIS2_ECHOSTRUCTRESPONSE_SET_RETURN ( echo_out, env, echo_string );
+
+	  return echo_out;
+}
+
+
+</pre></div>
+  </div><div class="subsection"><a name="echoStringArray"></a><h3>echoStringArray</h3>
+    <div class="source"><pre>axis2_echoStringArrayResponse_t*
+axis2_WSDLInteropTestDocLitService_echoStringArray
+                    (const axis2_env_t* env  ,axis2_echoStringArray_t* param2 )
+
+{
+	  axis2_echoStringArray_t* echo_in = param2;
+	  axis2_echoStringArrayResponse_t* echo_out = NULL;
+	  axis2_ArrayOfstring_literal_t* array_in = NULL;
+	  axis2_ArrayOfstring_literal_t* array_out = NULL;
+	  char ** string_array = NULL;
+	  int string_array_length = 0;
+	
+	  /* retrieve the array from input*/
+	  array_in = AXIS2_ECHOSTRINGARRAY_GET_PARAM0( echo_in, env);
+	  /* retrieve the string_array and array length */
+	  string_array =
+	     AXIS2_ARRAYOFSTRING_LITERAL_GET_STRING 
+	            (array_in, env,&amp;string_array_length );
+	
+	  /* create the output array and set the string array and length */
+	  array_out = axis2_ArrayOfstring_literal_create ( env );
+	  AXIS2_ARRAYOFSTRING_LITERAL_SET_STRING(
+           	array_out, env, string_array, string_array_length );
+	
+	  /* create the response and set the output*/
+	  echo_out = axis2_echoStringArrayResponse_create ( env );
+	  AXIS2_ECHOSTRINGARRAYRESPONSE_SET_RETURN ( echo_out, env , array_out );
+	
+	  return echo_out;
+
+}
+
+
+</pre></div>
+  </div><div class="subsection"><a name="echoStruct"></a><h3>echoStruct</h3>
+    <div class="source"><pre>axis2_echoStructResponse_t*
+axis2_WSDLInteropTestDocLitService_echoStruct
+                (const axis2_env_t* env  ,axis2_echoStruct_t* param4 )
+
+{
+	 axis2_echoStruct_t* echo_in = param4;
+	 axis2_echoStructResponse_t* echo_out = NULL;
+	 axis2_SOAPStruct_t* struct_in = NULL;
+	 axis2_SOAPStruct_t* struct_out = NULL;
+	
+	 float float_val = 0;
+	 int int_val = 0;
+	 char* string_val = NULL;
+	
+	 /* retrieve the structure from input */
+	 struct_in = AXIS2_ECHOSTRUCT_GET_PARAM0( echo_in, env);
+
+	 /* retrieve each value from the structure */	
+	 float_val = AXIS2_SOAPSTRUCT_GET_VARFLOAT ( struct_in, env);
+	 int_val = AXIS2_SOAPSTRUCT_GET_VARINT ( struct_in, env);
+	 string_val = AXIS2_SOAPSTRUCT_GET_VARSTRING ( struct_in, env);
+	
+	 /* create the output structure and set values */
+	 struct_out = axis2_SOAPStruct_create( env );
+	 AXIS2_SOAPSTRUCT_SET_VARFLOAT ( struct_out, env, float_val );
+	 AXIS2_SOAPSTRUCT_SET_VARINT ( struct_out, env, int_val );
+	 AXIS2_SOAPSTRUCT_SET_VARSTRING ( struct_out, env, string_val );
+	
+	 /* create the response and set the output structure*/
+	 echo_out = axis2_echoStructResponse_create ( env );
+	 AXIS2_ECHOSTRUCTRESPONSE_SET_RETURN ( echo_out, env, struct_out );
+	
+	 return echo_out;
+}
+
+
+
+
+</pre></div>
+  </div><div class="subsection"><a name="services_xml"></a><h3>services.xml</h3><p>
+Axis2 uses "services.xml" to hold the configurations for a particular Web 
+service deployed in the Axis2 engine. When we generate the skeleton using 
+the WSDL2Java tool, it will also generate the required services.xml for this 
+Web service as well. This is essential to <a href="#deploy">deploy the service</a>. Please refer to the 
+<a href="#step3">Write the services.xml</a> section of this guide to learn
+more about services.xml
+
+
+</p><p><a id="deploy"></a></p></div><div class="subsection"><a name="Deploy_the_Web_Service"></a><h3>Deploy the Web Service</h3><p>We simply put our service folder to the services
+directory. You need restart the server for the engine to pick this service.
+</p><p><a id="Web_Service_Clients_Using_Axis2"></a></p></div><div class="subsection"><a name="Web_Service_Clients_UsingAxis2_C"></a><h3>Web Service Clients UsingAxis2/C</h3><p>Now let's see how we can write a Web Service Client to consume a Web
 Service.</p><p>Web Services can be used to provide wide range of functionality to the
 users ranging from simple, less time consuming  operations such as
 "getStockQuote"  to time consuming business services. When we utilize (invoke
@@ -426,12 +603,12 @@
 <b>Transport Level Asynchrony</b>.</p><p>By combining API Level Asynchrony &amp; Transport Level Asynchrony we can
 obtain four different invocation patterns for Web services as shown in the
 following table.</p><p><a id="table1"></a></p><table class="bodyTable"><tbody>
-    <tr class="b"><td><strong>API (Blocking/Non-Blocking)</strong></td><td><strong> Dual Transports (Yes/No)</strong></td><td><strong>Description</strong></td></tr>
-    <tr class="a"><td>Blocking</td><td>No</td><td>Simplest and the familiar invocation pattern</td></tr>
-    <tr class="b"><td>Non-Blocking</td><td>No</td><td>Using callbacks or polling</td></tr>
-    <tr class="a"><td>Blocking</td><td>Yes</td><td>This is useful when the service operation is IN-OUT in nature but
+    <tr class="a"><td><strong>API (Blocking/Non-Blocking)</strong></td><td><strong> Dual Transports (Yes/No)</strong></td><td><strong>Description</strong></td></tr>
+    <tr class="b"><td>Blocking</td><td>No</td><td>Simplest and the familiar invocation pattern</td></tr>
+    <tr class="a"><td>Non-Blocking</td><td>No</td><td>Using callbacks or polling</td></tr>
+    <tr class="b"><td>Blocking</td><td>Yes</td><td>This is useful when the service operation is IN-OUT in nature but
         the transport used is One-Way (e.g. SMTP)</td></tr>
-    <tr class="b"><td>Non-Blocking</td><td>Yes</td><td>This is can be used to gain the maximum asynchronous behavior. No
+    <tr class="a"><td>Non-Blocking</td><td>Yes</td><td>This is can be used to gain the maximum asynchronous behavior. No
         blocking in the API level and also in the transport level</td></tr>
   </tbody></table><p>Axis2/C provides the user with all these possibilities to invoke Web
 Services.</p><p>Below we describe how to write Web Services Clients using Axis2/C.</p><p><a id="Writing_Web_Service_Clients_using_Axis2&apos;s_Primary_APIs"></a></p></div><div class="subsection"><a name="Writing_Web_Service_Clients_Using_Axis2_s_Primary_APIs"></a><h3>Writing Web Service Clients Using Axis2's Primary APIs</h3><p><a id="EchoBlockingClient"></a></p></div><div class="subsection"><a name="echo_blocking_Client"></a><h3>echo_blocking Client</h3><p>Axis2/C provides the user with several invocation patterns for Web
@@ -441,11 +618,11 @@
 blocking invocation. The client code you need to write is as follows.</p>
     <div class="source"><pre>    
     
-    endpoint_ref = axis2_endpoint_ref_create(&amp;env, address);
+    endpoint_ref = axis2_endpoint_ref_create(env, address);
 
     
-    options = axis2_options_create(&amp;env);
-    AXIS2_OPTIONS_SET_TO(options, &amp;env, endpoint_ref);
+    options = axis2_options_create(env);
+    AXIS2_OPTIONS_SET_TO(options, env, endpoint_ref);
 
     
     client_home = AXIS2_GETENV("AXIS2C_HOME");
@@ -453,7 +630,7 @@
         client_home = "../../deploy";
 
     
-    svc_client = axis2_svc_client_create(&amp;env, client_home);
+    svc_client = axis2_svc_client_create(env, client_home);
     if (!svc_client)
     {
         printf("Error creating service client\n");
@@ -463,19 +640,19 @@
     }
 
     
-    AXIS2_SVC_CLIENT_SET_OPTIONS(svc_client, &amp;env, options);    
+    AXIS2_SVC_CLIENT_SET_OPTIONS(svc_client, env, options);    
 
     
-    payload = build_om_payload_for_echo_svc(&amp;env);
+    payload = build_om_payload_for_echo_svc(env);
     
     
-    ret_node = AXIS2_SVC_CLIENT_SEND_RECEIVE(svc_client, &amp;env, payload);
+    ret_node = AXIS2_SVC_CLIENT_SEND_RECEIVE(svc_client, env, payload);
     
     
     if(ret_node)
     {
         axis2_char_t *om_str = NULL;
-        om_str = AXIS2_OM_NODE_TO_STRING(ret_node, &amp;env);
+        om_str = AXIOM_NODE_TO_STRING(ret_node, env);
         if (om_str)
             printf("\nReceived OM : %s\n", om_str);
         printf("\necho client invoke SUCCESSFUL!\n");
@@ -494,7 +671,7 @@
   <li>Set up the options to be used in the invocation.</li>
   <li>Create the service client.</li>
   <li>Set the options to service client.</li>
-  <li>Build the XML payload to be sent out using OM.</li>
+  <li>Build the XML payload to be sent out using AXIOM.</li>
   <li>Send payload and receive result XML as OM.</li>
   <li>Consume result.</li>
 </ol><p>Options can be used to define the invocation parameters such as target
@@ -513,7 +690,7 @@
 "Axis2CHome/samples/user_guide/clients" with the name echo_non_blocking.c.
 The changes that user may have to do with respect to the "echo_blocking"
 client to make it non-blocking would be as follows:</p>
-    <div class="source"><pre>AXIS2_SVC_CLIENT_SEND_RECEIVE_NON_BLOCKING(svc_client, &amp;env, payload, callback);
+    <div class="source"><pre>AXIS2_SVC_CLIENT_SEND_RECEIVE_NON_BLOCKING(svc_client, env, payload, callback);
 
 </pre></div>
   <p>Unlike "send_receive", "send_receive_non_blocking" accepts a callback
@@ -522,18 +699,18 @@
     <div class="source"><pre>axis2_status_t (AXIS2_CALL *
 on_complete)(
     struct axis2_callback *callback,
-    axis2_env_t **env);
+    const axis2_env_t *env);
 
 axis2_status_t (AXIS2_CALL *
 on_error)(
     struct axis2_callback *callback,
-    axis2_env_t **env,
+    const axis2_env_t *env,
     int exception);
 
 axis2_bool_t (AXIS2_CALL *
 get_complete)(
     struct axis2_callback *callback,
-    axis2_env_t **env);
+    const axis2_env_t *env);
 
 </pre></div>
   <p>The user is expected to implement the "on_complete " and "on_error "
@@ -567,7 +744,7 @@
 same API can be used to invoke Web Services (IN-OUT operations) using two
 separate transport connections. All that you have to do is to set
 "use_separate_listener" to true in options:</p>
-    <div class="source"><pre>AXIS2_OPTIONS_SET_USE_SEPERATE_LISTENER(options, &amp;env, AXIS2_TRUE);
+    <div class="source"><pre>AXIS2_OPTIONS_SET_USE_SEPERATE_LISTENER(options, env, AXIS2_TRUE);
 
 </pre></div>
   <p>In addition to setting the use_separate_listener to true, to use dual
@@ -586,7 +763,7 @@
 axis2.xml and have the module installed in the modules folder of the deploy
 folder.</p><p>The second method is to engage the module on service client using the
 service_client API.</p>
-    <div class="source"><pre>AXIS2_SVC_CLIENT_ENGAGE_MODULE(svc_client, &amp;env, AXIS2_MODULE_ADDRESSING);
+    <div class="source"><pre>AXIS2_SVC_CLIENT_ENGAGE_MODULE(svc_client, env, AXIS2_MODULE_ADDRESSING);
 
 </pre></div>
   <p>Once addressing is engaged, echo_non_blocking_dual client would work
@@ -598,4 +775,190 @@
 here we do not use a callback object to handle response. This is a very
 useful mechanism when the service invocation is IN-OUT in nature and the
 transports are One-Way (e.g. SMTP). For the sample client we use two HTTP
-connections for request and response.</p></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2005-2006, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
+connections for request and response.</p><p><a id="Writing_Web_Clients_Using_Code_Generator"></a></p></div><div class="subsection"><a name="Writing_Web_Service_Clients_using_Code_Generation_with_Data_Binding_Support"></a><h3>Writing Web Service Clients using Code Generation with Data Binding Support</h3><p>Axis2 code generator provides the data binding support for Web Service client
+generation as well. You can generate the required stubs from a given WSDL with the 
+other supporting files. Use the following parameters to generate the
+Axis2/C stub code with the data binding support. You should have Axis2/Java source
+svn revision 414253 or later to generate Axis2/C code</p>
+    <div class="source"><pre>java WSDL2Code -Dorg.apache.adb.properties=/org/apache/axis2/schema/c-schema-compile.properties
+ -uri interoptestdoclitparameters.wsdl -d adb -u 
+
+</pre></div>
+  <p>In order to ignore the databinding support (to use XML in/out model), just use following parameters.</p>
+    <div class="source"><pre>java WSDL2Code -uri interoptestdoclitparameters.wsdl -d none 
+
+</pre></div>
+  <p>The following section demonstrates how to use the generated code using 
+the wsdl file "interoptestdoclitparameters.wsdl" to implement the client business logic.
+</p><p><a id="Codegenerator_Client_echoString"></a></p></div><div class="subsection"><a name="Client_for_echoString_operation"></a><h3>Client for echoString operation</h3>
+    <div class="source"><pre>
+#include "axis2_WSDLInteropTestDocLitService_stub.h"
+
+/*
+ * demonstrates how to execute the service using databinding
+ */
+void invoke_service_using_databinding ( axis2_stub_t* stub,
+                                       const axis2_env_t* env );
+int main(int argc, char** argv)
+{
+    /* variables to keep the environment */
+    axis2_env_t* env = NULL;
+    axis2_char_t* client_home = NULL;
+    axis2_char_t* endpoint_uri =NULL;
+    axis2_stub_t* stub= NULL;
+    
+    /* endpoint uri: if it is NULL endpoint will be picked from the WSDL */    
+    endpoint_uri = "http://localhost:9090/axis2/services/WSDLInteropTestDocLitService";
+
+    env = axis2_env_create_all( "codegen_utest_blocking.log", 
+                                                  AXIS2_LOG_LEVEL_TRACE);
+
+    /* Set up deploy folder.*/
+    client_home = AXIS2_GETENV("AXIS2C_HOME");
+    if (!client_home)
+        client_home = "../../../deploy";
+    
+    /* create the stub using generated code */
+    stub = axis2_WSDLInteropTestDocLitService_stub_create( env, client_home , endpoint_uri); 
+    
+    /* calls the service*/
+    invoke_service_using_databinding ( stub, env );
+
+    return 0;
+}
+
+void invoke_service_using_databinding ( axis2_stub_t* stub,
+                                       const axis2_env_t* env )
+{
+    /* variables used by databinding */
+    axis2_echoString_t* echo_in = NULL;
+    axis2_echoStringResponse_t* echo_out = NULL;
+    
+    /* variables to store data */
+    char* echo_str = "hello";
+    char* return_echo_str = NULL;
+
+    /* create the input params using databinding */
+    echo_in = axis2_echoString_create( env );
+    AXIS2_ECHOSTRING_SET_PARAM0( echo_in, env, echo_str );
+
+    /* invoke the web service method*/
+    echo_out = axis2_echoString( stub, env, echo_in );
+    
+    /* return the output params using databinding */
+    return_echo_str  = AXIS2_ECHOSTRUCTRESPONSE_GET_RETURN( echo_out, env );
+    
+    /* print the result */
+    printf ( "returned string %s\n", return_echo_str );
+
+} 
+
+
+</pre></div>
+  <p><a id="Codegenerator_Client_echoStringArray"></a></p></div><div class="subsection"><a name="Client_for_echoStringArray_operation"></a><h3>Client for echoStringArray operation</h3><p>
+
+You can change the invoke_service_using_databinding function to invoke the echoStringArray
+operation as follows.
+
+
+    <div class="source"><pre>
+void invoke_service_using_databinding ( axis2_stub_t* stub,
+                                       const axis2_env_t* env )
+{
+    /* variables used by databinding */
+    axis2_echoStringArray_t* echo_in = NULL;
+    axis2_echoStringArrayResponse_t* echo_out = NULL;
+    axis2_ArrayOfstring_literal_t* array_in = NULL;
+    axis2_ArrayOfstring_literal_t* array_out = NULL;
+
+	/* variables to store data */
+    char *string_array[]= { "test","this","array" };
+    int array_length = 3;
+
+    char **string_return_string_array = NULL;
+    int return_array_length = 0;
+    int i = 0; 
+	
+	/*create the input array and set the string array and length*/
+    array_in = axis2_ArrayOfstring_literal_create (env );
+    AXIS2_ARRAYOFSTRING_LITERAL_SET_STRING( array_in, env,
+                    string_array, array_length );
+
+    /* create the request and set the inputs */
+    echo_in = axis2_echoStringArray_create ( env );
+    AXIS2_ECHOSTRINGARRAY_SET_PARAM0( echo_in, env, array_in );
+
+    /* invoke the web service method*/
+    echo_out = axis2_echoStringArray(  stub, env, echo_in );
+
+    /* return the output params using databinding */
+    array_out = AXIS2_ECHOSTRINGARRAYRESPONSE_GET_RETURN( echo_out, env );	
+    
+	/* retrieve the string array values and length */
+	string_return_string_array = AXIS2_ARRAYOFSTRING_LITERAL_GET_STRING
+            ( array_out, env, &amp;return_array_length );
+
+    /* print the output */
+    for ( i = 0; i &lt; return_array_length ; i ++ )
+    {
+        printf("value%d: %s \n", i, string_return_string_array[i] );
+    }
+}
+</pre></div>
+  
+
+<a id="Codegenerator_Client_echoStruct"></a></p></div><div class="subsection"><a name="Client_for_echoStruct_operation"></a><h3>Client for echoStruct operation</h3>
+    <div class="source"><pre>
+void invoke_service_using_databinding ( axis2_stub_t* stub,
+                                       const axis2_env_t* env )
+{
+    /* variables used by databinding */
+    axis2_echoStruct_t* echo_in = NULL;
+    axis2_echoStructResponse_t* echo_out = NULL;
+    axis2_SOAPStruct_t* struct_in = NULL;
+    axis2_SOAPStruct_t* struct_out = NULL;
+
+
+	/* variables to store data */
+    float float_val = 11;
+    int int_val = 10;
+    char* string_val = "hello struct";
+
+    int ret_int_val = 0;
+    float ret_float_val = 0;
+    char* ret_string_val = "";
+    
+	/* create the struct and set input values*/
+    struct_in = axis2_SOAPStruct_create( env );
+    AXIS2_SOAPSTRUCT_SET_VARFLOAT ( struct_in, env, float_val );
+    AXIS2_SOAPSTRUCT_SET_VARINT ( struct_in, env, int_val );
+    AXIS2_SOAPSTRUCT_SET_VARSTRING ( struct_in, env, string_val );
+
+    /* create the request and set the struct */
+    echo_in = axis2_echoStruct_create( env );
+    AXIS2_ECHOSTRUCT_SET_PARAM0( echo_in, env, struct_in );
+
+    /* invoke the web service method */
+    echo_out = axis2_echoStruct(  stub, env, echo_in );
+
+    /* retrieve the structure from response */
+    struct_out = AXIS2_ECHOSTRUCTRESPONSE_GET_RETURN( echo_out, env );
+
+    /* retrieve each value from the structure */
+    ret_float_val = AXIS2_SOAPSTRUCT_GET_VARFLOAT ( struct_out, env );
+    ret_int_val = AXIS2_SOAPSTRUCT_GET_VARINT ( struct_out, env );
+    ret_string_val = AXIS2_SOAPSTRUCT_GET_VARSTRING ( struct_out, env );
+
+    /* print the values */
+    printf ( "returned values \n");
+    printf (" float %f\n", ret_float_val );
+    printf (" int %d \n", ret_int_val );
+    printf (" string %s \n", ret_string_val);
+	
+}
+
+
+
+
+</pre></div>
+  </div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2005-2006, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file

Modified: webservices/axis2/site/c/downloads.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/c/downloads.html?rev=414850&r1=414849&r2=414850&view=diff
==============================================================================
--- webservices/axis2/site/c/downloads.html (original)
+++ webservices/axis2/site/c/downloads.html Fri Jun 16 08:25:14 2006
@@ -2,6 +2,6 @@
           @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/axis2/c" id="projectLogo"><img alt="Apache Axis2 C" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
-                	Last published: 15 May 2006
-                  | Doc for 0.91</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_C"><h5>Axis2/C</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="download.cgi">Download Axis2/C</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/c/" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="none"><a href="docs/index.html">Documentation</a></li><li class="expanded"><a href="mail-lists.html">Get Involved</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</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="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><a href="http://maven.apache.or
 g/" 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="Downloads"></a><h2>Downloads</h2><p>You must define the
+                	Last published: 16 June 2006
+                  | Doc for 0.92</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_C"><h5>Axis2/C</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="download.cgi">Download Axis2/C</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/c/" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="none"><a href="docs/index.html">Documentation</a></li><li class="expanded"><a href="mail-lists.html">Get Involved</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</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="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><a href="http://maven.apache.or
 g/" 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="Downloads"></a><h2>Downloads</h2><p>You must define the
         <code>maven.xdoc.distributionUrl</code>property if you wish to generate the download report.</p></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2005-2006, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>

Modified: webservices/axis2/site/c/issue-tracking.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/c/issue-tracking.html?rev=414850&r1=414849&r2=414850&view=diff
==============================================================================
--- webservices/axis2/site/c/issue-tracking.html (original)
+++ webservices/axis2/site/c/issue-tracking.html Fri Jun 16 08:25:14 2006
@@ -2,7 +2,7 @@
           @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/axis2/c" id="projectLogo"><img alt="Apache Axis2 C" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
-                	Last published: 15 May 2006
-                  | Doc for 0.91</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_C"><h5>Axis2/C</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="download.cgi">Download Axis2/C</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/c/" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="none"><a href="docs/index.html">Documentation</a></li><li class="expanded"><a href="mail-lists.html">Get Involved</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</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="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><a href="http://maven.apache.or
 g/" 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="Issue_Tracking"></a><h2>Issue Tracking</h2><p>
+                	Last published: 16 June 2006
+                  | Doc for 0.92</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_C"><h5>Axis2/C</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="download.cgi">Download Axis2/C</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/c/" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="none"><a href="docs/index.html">Documentation</a></li><li class="expanded"><a href="mail-lists.html">Get Involved</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</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="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><a href="http://maven.apache.or
 g/" 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="Issue_Tracking"></a><h2>Issue Tracking</h2><p>
                 <a href="http://issues.apache.org/jira/browse/AXIS2C" class="externalLink" title="External Link">http://issues.apache.org/jira/browse/AXIS2C</a>
       </p></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2005-2006, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>

Modified: webservices/axis2/site/c/mail-lists.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/c/mail-lists.html?rev=414850&r1=414849&r2=414850&view=diff
==============================================================================
--- webservices/axis2/site/c/mail-lists.html (original)
+++ webservices/axis2/site/c/mail-lists.html Fri Jun 16 08:25:14 2006
@@ -2,8 +2,8 @@
           @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/axis2/c" id="projectLogo"><img alt="Apache Axis2 C" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
-                	Last published: 15 May 2006
-                  | Doc for 0.91</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_C"><h5>Axis2/C</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="download.cgi">Download Axis2/C</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/c/" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="none"><a href="docs/index.html">Documentation</a></li><li class="expanded"><a href="mail-lists.html">Get Involved</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</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="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><a href="http://maven.apache.or
 g/" 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="Mailing_Lists"></a><h2>Mailing Lists</h2><p> 
+                	Last published: 16 June 2006
+                  | Doc for 0.92</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_C"><h5>Axis2/C</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="download.cgi">Download Axis2/C</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/c/" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="none"><a href="docs/index.html">Documentation</a></li><li class="expanded"><a href="mail-lists.html">Get Involved</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</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="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><a href="http://maven.apache.or
 g/" 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="Mailing_Lists"></a><h2>Mailing Lists</h2><p> 
         These are the mailing lists that have been established for this
         project.  For each list, there is a subscribe, unsubscribe, and an
         archive link.

Modified: webservices/axis2/site/c/team-list.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/c/team-list.html?rev=414850&r1=414849&r2=414850&view=diff
==============================================================================
--- webservices/axis2/site/c/team-list.html (original)
+++ webservices/axis2/site/c/team-list.html Fri Jun 16 08:25:14 2006
@@ -16,8 +16,8 @@
   	  function init() {
 	    	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	                     }
     </script></head><body class="composite" onload="init();"><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/axis2/c" id="projectLogo"><img alt="Apache Axis2 C" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
-                	Last published: 23 May 2006
-                  | Doc for 0.91</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_C"><h5>Axis2/C</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="download.cgi">Download Axis2/C</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/c/" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="none"><a href="docs/index.html">Documentation</a></li><li class="expanded"><a href="mail-lists.html">Get Involved</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</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="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><a href="http://maven.apache.or
 g/" 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="The_Team"></a><h2>The Team</h2><p>
+                	Last published: 16 June 2006
+                  | Doc for 0.92</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis2_C"><h5>Axis2/C</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="download.cgi">Download Axis2/C</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/c/" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="none"><a href="docs/index.html">Documentation</a></li><li class="expanded"><a href="mail-lists.html">Get Involved</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</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="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><a href="http://maven.apache.or
 g/" 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="The_Team"></a><h2>The Team</h2><p>
         A successful project requires many people to play many roles.
         Some members write code or documentation, while others are
         valuable as testers, submitting patches and suggestions.
@@ -34,38 +34,38 @@
         The following is a list of developers with commit privileges that have 
         directly contributed to the project in one way or another.  
       </p><table class="bodyTable"><thead>
-        <tr class="a"><th>Name</th><th>Id</th><th>Email</th><th>Organization</th><th>Roles</th><th>TZ Offset</th><th>Time</th></tr>
+        <tr class="b"><th>Name</th><th>Id</th><th>Email</th><th>Organization</th><th>Roles</th><th>TZ Offset</th><th>Time</th></tr>
         </thead><tbody>
-                <tr class="b"><td>Samisa Abeysinghe</td><td><a name="samisa"></a>samisa</td><td><a href="mailto:samisa AT wso2.com">samisa AT wso2.com</a></td><td>WSO2</td><td>
+                <tr class="a"><td>Samisa Abeysinghe</td><td><a name="samisa"></a>samisa</td><td><a href="mailto:samisa AT wso2.com">samisa AT wso2.com</a></td><td>WSO2</td><td>
                     </td><td></td><td><span id="developer-samisa">Unknown</span></td></tr>
-                <tr class="a"><td>Paul Fremantle</td><td><a name="pzf"></a>pzf</td><td><a href="mailto:paul AT wso2.com">paul AT wso2.com</a></td><td>WSO2</td><td>
+                <tr class="b"><td>Paul Fremantle</td><td><a name="pzf"></a>pzf</td><td><a href="mailto:paul AT wso2.com">paul AT wso2.com</a></td><td>WSO2</td><td>
                     </td><td></td><td><span id="developer-pzf">Unknown</span></td></tr>
-                <tr class="b"><td>Sahan Gamage</td><td><a name="sahan"></a>sahan</td><td><a href="mailto:sahan AT wso2.com">sahan AT wso2.com</a></td><td>WSO2</td><td>
+                <tr class="a"><td>Sahan Gamage</td><td><a name="sahan"></a>sahan</td><td><a href="mailto:sahan AT wso2.com">sahan AT wso2.com</a></td><td>WSO2</td><td>
                     </td><td></td><td><span id="developer-sahan">Unknown</span></td></tr>
-                <tr class="a"><td>Nandika Jayawardana</td><td><a name="nandika"></a>nandika</td><td><a href="mailto:nandika AT wso2.com">nandika AT wso2.com</a></td><td>WSO2</td><td>
+                <tr class="b"><td>Nandika Jayawardana</td><td><a name="nandika"></a>nandika</td><td><a href="mailto:nandika AT wso2.com">nandika AT wso2.com</a></td><td>WSO2</td><td>
                     </td><td></td><td><span id="developer-nandika">Unknown</span></td></tr>
-                <tr class="b"><td>Damitha Kumarage</td><td><a name="damitha"></a>damitha</td><td><a href="mailto:damitha AT wso2.com">damitha AT wso2.com</a></td><td>WSO2</td><td>
+                <tr class="a"><td>Damitha Kumarage</td><td><a name="damitha"></a>damitha</td><td><a href="mailto:damitha AT wso2.com">damitha AT wso2.com</a></td><td>WSO2</td><td>
                     </td><td></td><td><span id="developer-damitha">Unknown</span></td></tr>
-                <tr class="a"><td>Dinesh Premalal</td><td><a name="dinesh"></a>dinesh</td><td><a href="mailto:xydinesh AT gmail.com">xydinesh AT gmail.com</a></td><td>University of Moratuwa</td><td>
+                <tr class="b"><td>Dinesh Premalal</td><td><a name="dinesh"></a>dinesh</td><td><a href="mailto:xydinesh AT gmail.com">xydinesh AT gmail.com</a></td><td>University of Moratuwa</td><td>
                     </td><td></td><td><span id="developer-dinesh">Unknown</span></td></tr>
-                <tr class="b"><td>Sanjaya Rathnaweera</td><td><a name="pini"></a>pini</td><td><a href="mailto:sanjaya AT wso2.com">sanjaya AT wso2.com</a></td><td>WSO2</td><td>
+                <tr class="a"><td>Sanjaya Rathnaweera</td><td><a name="pini"></a>pini</td><td><a href="mailto:sanjaya AT wso2.com">sanjaya AT wso2.com</a></td><td>WSO2</td><td>
                     </td><td></td><td><span id="developer-pini">Unknown</span></td></tr>
-                <tr class="a"><td>Davanum Srinivas</td><td><a name="dims"></a>dims</td><td><a href="mailto:dims AT wso2.com">dims AT wso2.com</a></td><td>WSO2</td><td>
+                <tr class="b"><td>Davanum Srinivas</td><td><a name="dims"></a>dims</td><td><a href="mailto:dims AT wso2.com">dims AT wso2.com</a></td><td>WSO2</td><td>
                     </td><td></td><td><span id="developer-dims">Unknown</span></td></tr>
-                <tr class="b"><td>Sanjiva Weerawarana</td><td><a name="sanjiva"></a>sanjiva</td><td><a href="mailto:sanjiva AT wso2.com">sanjiva AT wso2.com</a></td><td>WSO2</td><td>
+                <tr class="a"><td>Sanjiva Weerawarana</td><td><a name="sanjiva"></a>sanjiva</td><td><a href="mailto:sanjiva AT wso2.com">sanjiva AT wso2.com</a></td><td>WSO2</td><td>
                     </td><td></td><td><span id="developer-sanjiva">Unknown</span></td></tr>
-                <tr class="a"><td>Nabeel Yoosuf</td><td><a name="nabeel"></a>nabeel</td><td><a href="mailto:nabeel AT wso2.com">nabeel AT wso2.com</a></td><td>WSO2</td><td>
+                <tr class="b"><td>Nabeel Yoosuf</td><td><a name="nabeel"></a>nabeel</td><td><a href="mailto:nabeel AT wso2.com">nabeel AT wso2.com</a></td><td>WSO2</td><td>
                     </td><td></td><td><span id="developer-nabeel">Unknown</span></td></tr>
                 </tbody></table></div><div class="subsection"><a name="Contributors"></a><h3>Contributors</h3><p>
         The following additional people have contributed to this project
         through the way of suggestions, patches or documentation.
       </p><table class="bodyTable"><thead>
-        <tr class="b"><th>Name</th><th>Email</th><th>Organization</th><th>Roles</th></tr>
+        <tr class="a"><th>Name</th><th>Email</th><th>Organization</th><th>Roles</th></tr>
         </thead><tbody>
-                <tr class="a"><td>James Clark</td><td><a href="mailto:jjc AT public.jclark.com">jjc AT public.jclark.com</a></td><td></td><td>
+                <tr class="b"><td>James Clark</td><td><a href="mailto:jjc AT public.jclark.com">jjc AT public.jclark.com</a></td><td></td><td>
                     Technical Adviser on Building a Portable/Re-usable C library<br></br>
                     </td></tr>
-                <tr class="b"><td>Dimuthu Gamage</td><td><a href="mailto:dimuthuc AT gmail.com">dimuthuc AT gmail.com</a></td><td>Univerisity of Moratuwa</td><td>
+                <tr class="a"><td>Dimuthu Gamage</td><td><a href="mailto:dimuthuc AT gmail.com">dimuthuc AT gmail.com</a></td><td>Univerisity of Moratuwa</td><td>
                     Handle Axis2/C Firefox Extension<br></br>
                     </td></tr>
                 </tbody></table></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2005-2006, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org


Mime
View raw message