You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ha...@apache.org on 2005/12/19 16:03:03 UTC

svn commit: r357701 - in /webservices/axis/trunk/site/src: cpp/src/documentation/content/xdocs/ cpp/src/documentation/content/xdocs/cpp/ cpp/src/documentation/content/xdocs/cpp/arch/ java/src/documentation/content/xdocs/

Author: hawkeye
Date: Mon Dec 19 07:02:49 2005
New Revision: 357701

URL: http://svn.apache.org/viewcvs?rev=357701&view=rev
Log:
Updated and made more generic with  less focus on last release.
Also - the windows linux split is not as obvious (hopefully removed entirely !)

Modified:
    webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/antbuild-guide.ihtml
    webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/WSDL2Ws.ihtml
    webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/handler.ihtml
    webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/mem-management.ihtml
    webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/developers-guide.ihtml
    webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/documentation.ihtml
    webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/download.ihtml
    webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/index.ihtml
    webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/linuser-guide.ihtml
    webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/site.xml
    webservices/axis/trunk/site/src/java/src/documentation/content/xdocs/site.xml

Modified: webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/antbuild-guide.ihtml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/antbuild-guide.ihtml?rev=357701&r1=357700&r2=357701&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/antbuild-guide.ihtml (original)
+++ webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/antbuild-guide.ihtml Mon Dec 19 07:02:49 2005
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 <html>
 <head>
-  <title>ANT Build Guide</title>
+  <title>Axis CPP - ANT Build Guide</title>
   <meta name="Author" content="Adrian Dick">
   <meta name="Keywords" content="">
   <meta name="Description" content="">
@@ -11,14 +11,21 @@
 <p>
 This document provides instructions for using and extending the ANT
 based build for the AXIS C++ project.</p>
-<p><a href="#prepareSystem">Preparing system</a><br>
-<a href="#thirdPartySoftware">Getting necessary third party software</a><BR>
-<A href="#PropertyFiles">Property Files</A><br>
-<a href="#cvsExtract">Getting a CVS checkout</a><br>
-<a href="#SettingTheEnvironment">Setting the Environment</a><br>
-<a href="#runningTheBuild">Running the ANT build </a><BR>
-<A href="#EnablingTraceAndDebug">Enabling Trace and Debug</A><br>
-<a href="#addingExtraPlatform">Adding an extra platform </a></p>
+<UL><H2>Contents</H2>
+<UL>
+	<LI><A href="#prepareSystem">Preparing system</A></LI>
+	<LI><A href="#thirdPartySoftware">Getting necessary third party
+	software</A></LI>
+	<LI><A href="#PropertyFiles">Property Files</A></LI>
+	<LI><A href="#cvsExtract">Getting the source code</A></LI>
+	<LI><A href="#SettingTheEnvironment">Setting the Environment</A></LI>
+	<LI><A href="#runningTheBuild">Running the ANT build </A></LI>
+	<LI><A href="#EnablingTraceAndDebug">Enabling Trace and Debug</A></LI>
+	<LI><A href="#addingExtraPlatform"><A href="#addingExtraPlatform">Adding
+	an extra platform </A></A></LI>
+</UL>
+
+	<A href="#addingExtraPlatform"></A>
 <h2><a name="prepareSystem"></a>Preparing system</h2>
 <p>
 To use the ANT based build you will need to install the following:</p>
@@ -41,10 +48,10 @@
     <ul>
       <li>Available from <a href="http://ant-contrib.sourceforge.net">http://ant-contrib.sourceforge.net</a></li>
       <li>Place JARs into <code>[ANT INSTALL DIR]/lib</code>.</li>
-      <li>Require both ant-contrib and cpptasks</li>
+      <li>Require both ant-contrib (v0.6) and cpptasks (v1.0b3)</li>
     </ul>
   </li>
-  <li>Doxygen - Used for generating API documentation
+  <li>(Optional) Doxygen - Used for generating API documentation
     <ul>
       <li>Available from <a href="http://www.doxygen.org">http://www.doxygen.org</a></li>
     </ul>
@@ -54,49 +61,34 @@
       <li>For Windows - Microsoft Visual C++ v6</li>
       <li>For Linux - gcc / g++</li>
       <li>For AIX - IBM Visual Age for C++</li>
-    </ul>
+			<LI>For Solaris - cc</LI>
+			<LI>For HP-UX - aC++</LI>
+			<LI>For OS400 - icc</LI>
+		</ul>
   </li>
 </ul>
 
 <h2><a name="thirdPartySoftware"></a>Getting necessary third party
 software</h2>
-<p>Axis Cpp Developers can use either Xerces-c or the Expat XML Parsers
+<p>Axis Cpp Developers use the Xerces-cXML Parsers
 to build the Axis Cpp. Additionally, you can opt to build Apache mod files for Apache 1.3 or 2.0.</p>
-<p><b>Expat XML Parser</b></p>
-<p>You can get expat binaries from <a
- href="http://sourceforge.net/projects/expat/">http://sourceforge.net/projects/expat/</a>.</p>
-<p><b>Xerces-C XML Parser</b></p>
-<p>You can get Xerces-C binaries from <a
+<p><B>Xerces-C XML Parser</B></p><p>You can get Xerces-C binaries from <a
  href="http://xerces.apache.org">http://xerces.apache.org</a>.</p>
 <P><B>Apache</B></P><P>You can get Apache 1.3 or 2.0 from <A
 	href="http://httpd.apache.org/">http://httpd.apache.org/</A></P>
 <H2><A name="PropertyFiles"></A>Property Files</H2>
-<P>To aid in the portability of the ANT scripts, a number of property
-files are used. The script will decide which to use based on the
+<P>The behaviour of the ANT scripts is controlled by the values specified in <CODE>build.common.properies</CODE>. To aid in the portability of the ANT scripts, there are also a number of platform specific property
+files which override properties as required. The ANT scripts will automatically determine the correct file to be used based on the
 platform in which it is currently running. The property files are found
-in <CODE>ws-axis/c</CODE> with the following naming convention:</P>
-<BLOCKQUOTE><CODE>build.<I>[platform]</I>.properties</CODE></BLOCKQUOTE>
+in <CODE>ws-axis/c/build</CODE> with the following naming convention:</P>
+<BLOCKQUOTE><CODE>build.common.properties<BR>
+	build.<I>[platform]</I>.properties</CODE></BLOCKQUOTE>
 <P>A number of example property files are provided for Windows, Linux,
-AIX and Solaris, it is intended that you update these files to suit your
-development and buid environment. This includes location of third party
+AIX and Solaris. It is intended you update these files to suit your
+development and build environment, including location of third party
 software dependencies and target packaging structure.</P>
 <P>These property files also allow you to make some selection on which artefacts will be produced by the build:</P>
 <UL>
-	<LI>Select which XML Parsers to use:
-	<UL>
-		<LI>For each one to be built, set the following to true:<BR>
-		<CODE>xmlParser.xml4c</CODE><BR>
-		<CODE>xmlParser.xerces</CODE><BR>
-		<CODE>xmlParser.expat</CODE></LI>
-		</UL>
-	</LI>
-	<LI>Select which transport implementation to use:<UL>
-		<LI>For each one to be built, set the following to true:<BR>
-		<CODE>transport.axis</CODE><BR>
-		<CODE>transport.axis2</CODE><BR>
-		<CODE>transport.libwww</CODE></LI>
-	</UL>
-	</LI>
 	<LI>Select which Apache module to produce:
 	<UL>
 		<LI>For each one to be built, set the following to true:<BR>
@@ -112,7 +104,7 @@
 	</LI>
 </UL>
 
-<P>The default selections are Xerces as XML parser, axis2 transport implementation and both the Apache 1.3 and Apache 2.0 modules.</P>
+<P>The default selections are for both the Apache 1.3 and Apache 2.0 modules.</P>
 <h2><A name="SettingTheEnvironment"></A>Setting the Environment</h2>
 <P>Before running ANT the following environment variables must be
 set:</P>
@@ -130,38 +122,18 @@
 <P>The default property files make use of the following environment variables to locate the various third party software dependencies.</P>
 <UL>
 	<LI><CODE>AXISJAVA_LIB</CODE> - location of Axis Java JAR files, as required for WSDL2Ws tool</LI>
-	<LI><CODE>EXPAT_HOME</CODE> - location of Expat installation <I>(if
-	using Expat</I>)</LI>
-	<LI><CODE>XERCES_HOME</CODE> - location of Xerces installation (<I>if
-	using Xerces</I>)</LI>
-	<LI><CODE>XML4C_HOME</CODE> - location of XML4C installation (<I>if
-	using XML4C</I>)</LI>
+	<LI><CODE>XERCES_HOME</CODE> - location of Xerces installation</LI>
 	<LI><CODE>APACHE_HOME</CODE> - location of Apache 1.3 installation (<I>if
-	building Apache 1.3 module</I>)</LI>
+		building Apache 1.3 module</I>)</LI>
 	<LI><CODE>APACHE2_HOME</CODE> - location of Apache 2.0 installation (<I>if
 	building Apache 2.0 module</I>)</LI>
 </UL>
 
-<h2><a name="cvsExtract"></a>Getting a CVS checkout</h2>
-<p>Visit <a href="windows/cpp/">http://ws.apache.org/</a> Click on
-&#8220;axis&#8221; and then on &#8220;CVS Repository&#8221; to find details on how to access
-the
-CVS Repository. <br>
-In short summary:<br>
-Anyone can checkout the source code from our anonymous CVS server. To
-do so, simply use the following commands (if you are using a GUI CVS
-client, configure it appropriately): </p>
-<blockquote><code>cvs -d
-:pserver:anoncvs@cvs.apache.org:/home/cvspublic
-login<br>
-password: anoncvs<br>
-  <br>
-cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic checkout ws-axis</code></blockquote>
-<p>The checkout of the repository will be created in the current
-directory
-in a folder named &#8220;<code>ws-axis</code>&#8221;<br>
-<br>
-The checked out folder ws-axis/c will be referred to as <code>[CHECKOUT_HOME]</code>
+<h2><a name="cvsExtract"></a>Getting   the source code</h2>
+<p>See <A href="developers-guide.html#checkingOut">here</A> for more detail
+	on gaining access to the code in SVN.</p>
+	<P>Note: The ANT scripts were written based on the previous CVS structure and have not been updated to the SVN structure, so you will need to ensure your checkout is into the following structure:</P><BLOCKQUOTE><CODE>[build root]\ws-axis\c</CODE></BLOCKQUOTE>
+	<p>The checked out folder <CODE>ws-axis\c</CODE> will be referred to as <code>[CHECKOUT_HOME]</code>
 from this point on.</p>
 
 <h2><a name="runningTheBuild"></a>Running the ANT build</h2>
@@ -169,57 +141,40 @@
 <P>Once you have configured your environment and property files the build is a simple two step process. The first step is to build all the generated artefacts. At the comment prompt change to <CODE>[CHECKOUT_HOME]</CODE> and run:</P>
 
 <blockquote><code>ant</code></blockquote>
-<p>This will carry out the following:</p><ul>
-  <li>Build Axis C Client library</li>
-  <li>Build Axis C Transport library
-	<UL>
-		<LI>Axis, axis2, libwww configurable through the property files</LI>
-	</UL>
-	</li>
-  <li>Build Axis C XML Parser library
-    <ul>
-      <li>Expat, Xerces-C, etc configurable through the property files</li>
-    </ul>
-  </li>
-  <li>Build Axis C Server library</li>
-	<LI>Build Axis C Apache module<UL>
+<p>This will build the following:</p><ul>
+  <li>Client library</li>
+  <li>Transport libraries</li>
+  <li>XML Parser library
+    </li>
+  <li>Server library</li>
+	<LI>Apache modules<UL>
 		<LI>Apache 1.3 or Apache 2.0 configurable through the property files</LI>
 	</UL>
 	</LI>
-	<LI>Build Axis C Simple Server Executable<UL>
+	<LI>Simple Server Executable<UL>
 		<LI>Configurable through the property files</LI>
 	</UL>
 	</LI>
-	<LI>Build and package WSDL2Ws tool</LI>
-	<li>Generate API Documentation</li>
-	<li>Package artefacts into a distributable structure
-    <ul>
-      <li>This structure is configurable through the property files</li>
-    </ul>
-  </li>
-  <li>Validate all artefacts have been correctly generated</li>
+	<LI>WSDL2Ws tool</LI>
+	<li>API Documentation</li>
 </ul>
 <P>The second step is to package the generated artefacts. From <CODE>[CHECKOUT_HOME]</CODE> run:</P>
 <blockquote><CODE>ant -f package.xml</CODE></blockquote>
-<P>This will carry out the following:</P>
+<P>This will package into two distributables:</P>
 <UL>
-	<LI>Package artefacts in to a binary release distributable</LI>
-	<LI>Package artefacts in to a source release distributable</LI>
-</UL>
-<p>To remove artefacts from a previous build use the following command:
-</p>
-<BLOCKQUOTE><CODE>ant clean</CODE></BLOCKQUOTE>
-<h2><A name="EnablingTraceAndDebug"></A>Enabling Trace and Debug</h2>
+	<LI>binary</LI>
+	<LI>source<CODE></CODE></LI>
+</UL><h2><A name="EnablingTraceAndDebug"></A>Enabling Trace and Debug</h2>
 <p>By default, the ANT build scripts do not produce libraries with trace or debug symbols. To include these make use of one of the following to build:</p>
 <BLOCKQUOTE><CODE>ant buildWithTrace</CODE></BLOCKQUOTE>
 <BLOCKQUOTE><CODE>ant buildWithDebug</CODE></BLOCKQUOTE>
 <BLOCKQUOTE><CODE>ant buildWithTraceAndDebug</CODE></BLOCKQUOTE>
-<P>The packaging step remains the same. Although it the source release package will automatically select the trace instrumented source code.</P>
+<P>The packaging step remains the same, but when packaging the source distributable it will automatically select the trace instrumented source code if available.</P>
 <P>When trace is selected, the ant build adds in trace entry and exit
 statements into many of the methods in Axis C++. Then at runtime, in
-axiscpp.conf, set ClientLogPath to a file in a directory somewhere and
-Axis C++ will write out trace to that file. Omitting ClientLogPath from
-axiscpp.conf switches trace off.</P>
+<CODE>axiscpp.conf</CODE>, set <CODE>ClientLogPath</CODE> to a file and
+Axis C++ will write out trace to that file. Omitting <CODE>ClientLogPath</CODE> from
+<CODE>axiscpp.conf</CODE> switches trace off.</P>
 <h2><a name="addingExtraPlatform"></a>Adding an extra platform</h2>
 <p>The AXIS community would greatly appreciate your input, if you're
 working on a platform not currently supported by the ANT scripts.<br>
@@ -246,8 +201,8 @@
 condition check for the correct platform and any debug flags should be conditional on the debug property being set, eg:
     <pre>&lt;linker id="LinuxLinker" name="g++" libtool="true" if="linux"&gt;<br>  &lt;linkerarg value="-g" if=&quot;debug&quot;/&gt;<br>  &lt;libset libs="stdc++"/&gt;<br>&lt;/linker&gt;</pre>
 Note: As for compilers, linkers may extend one another.</li>
-  <li>Add new <code>compiler</code> and <code>linker</code> to the <code>cc</code>
-task within each of <code>compileAxisClient</code>, <code>compileAxisTransport</code>, <code>compileAxisXMLParser</code>, <code>compileSimpleAxisServer</code>, <code>compileAxisServerEngine</code>, <code>compileApache13Module</code> and <code>compileApache20Module</code> targets, eg:
+  <li>Add new <code>compiler</code> and <code>linker</code> to the various <code>cc</code>
+tasks used within the ANT scripts, eg:
     <pre>&lt;cc outfile="${dir.bin}/${transportLibraryName}" objdir="${dir.objects}"<br> exceptions="true" failonerror="false" outtype="shared" multithreaded="true"&gt;<br>  &lt;!-- Compilers --&gt;<br><FONT
 		color="green">  &lt;compiler refid="Linuxgcc"/&gt;</FONT><br>  &lt;compiler refid="AIXxlc"/&gt;
   ...<br>  &lt;!-- Linkers --&gt;<br>  <FONT

Modified: webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/WSDL2Ws.ihtml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/WSDL2Ws.ihtml?rev=357701&r1=357700&r2=357701&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/WSDL2Ws.ihtml (original)
+++ webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/WSDL2Ws.ihtml Mon Dec 19 07:02:49 2005
@@ -8,80 +8,35 @@
 <HR size="1" noshade="noshade">
 <p><strong>Contents</strong></p>
 
-<p>
-<a href="#intro">1 Introduction</a> 
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#codegen">1.1 Source Code Generation</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#proglang">1.2 Programming Languages</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#encode">1.3 Encoding Styles</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#svcstyle">1.4 Styles of Services</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#complext">1.5 Support for Complex Types </a>
-</p>
-
-<p>
-<a href="#usage">2 Using the Tool</a> 
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#dependencies">2.1 Dependencies on Axis Java tool</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#building">2.2 Building the Tool</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#synopsis">2.3 Synopsis</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#classpath">2.4 Setting up CLASSPATH</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#runtool">2.5 Running the Tool</a>
-</p>
-
-<p>
-<a href="#test">3 Architecture</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#test1">3.1 Outline</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#test2">3.2 Mediator WebServiceContext</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#test3">3.3 Generator</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#test4">3.4 Flow of Execution</a>
-</p>
-
-<p>
-&nbsp;&nbsp;&nbsp;&nbsp;<a href="#test5">3.5 Sequence Diagram</a>
-</p>
-
-<p><a name="intro"></a></p>
 
+<UL>
+	<LI><A href="#intro">1 Introduction</A></LI>
+	<UL>
+		<LI><A href="#codegen">1.1 Source Code Generation</A></LI>
+		<LI><A href="#proglang">1.2 Programming Languages</A></LI>
+		<LI><A href="#encode">1.3 Encoding Styles</A></LI>
+		<LI><A href="#svcstyle">1.4 Styles of Services</A></LI>
+		<LI><A href="#complext">1.5 Support for Complex Types </A></LI>
+	</UL>
+	
+	<LI><A href="#usage">2 Using the Tool</A></LI>
+	<UL>
+		<LI><A href="#dependencies">2.1 Dependencies on Axis Java tool</A></LI>
+		<LI><A href="#building">2.2 Building the Tool</A></LI>
+		<LI><A href="#synopsis">2.3 Synopsis</A></LI>
+		<LI><A href="#classpath">2.4 Setting up CLASSPATH</A></LI>
+		<LI><A href="#runtool">2.5 Running the Tool</A></LI>
+	</UL>
+	<LI><A href="#test">3 Architecture</A></LI>
+	<UL>
+		<LI><A href="#test1">3.1 Outline</A></LI>
+		<LI><A href="#test2">3.2 Mediator WebServiceContext</A></LI>
+		<LI><A href="#test3">3.3 Generator</A></LI>
+		<LI><A href="#test4">3.4 Flow of Execution</A></LI>
+		<LI><A href="#test5">3.5 Sequence Diagram</A></LI>
+	</UL>
+</UL><p>
+<a name="intro"></a></p>
 <h1>1 Introduction</h1>
 
       <p>The WSDL2Ws tool that comes with Axis C++ can be used to generate different types of wrapper classes / skeletons for the server side and wrapper classes / stubs for the client side for a given WSDL file. WSDL2Ws tool is written in  Java and is based on the WSDL tools by Axis Java project.

Modified: webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/handler.ihtml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/handler.ihtml?rev=357701&r1=357700&r2=357701&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/handler.ihtml (original)
+++ webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/handler.ihtml Mon Dec 19 07:02:49 2005
@@ -1,458 +1,313 @@
 <html>
 <head>
-  <meta http-equiv="Content-Type" content="text/html">
+  <meta http-equiv="Content-Type" content="text/html"></meta>
   <title>Handler Tutorial</title>
 </head>
 
-<body>
-<h1>Handler Tutorial</h1>
-
-<p><a href="#linux">For Linux </a> <br>  <br>
-
-<a href="#windows">For Windows </a><br> 
-
-<br>
-</p>
-
-<br>
-
-<p><a name="#linux"></a> </p>
-
-<h1>Linux</h1>
-
-<p><a href="#introduction"> Introduction to Handlers </a> <br> <br>
-<a href="#sample">Sample Handlers (building, running)</a> <br> <br>
-<a href="#creating">Creating your own Handlers </a> <br> <br>
-<a href="#API">API Notes for Handler writers</a> <br> <br> </p>
-
-
-<p> <a name="#introduction"> </a> </p>
-<p>Handlers are pluggable components in Axis C++. We have included a set of sample handlers for your reference. You could write your own handlers by following the instructions given for the sample Handlers. <br> <br>
-
-<b>Note: If you are using Client side Handlers you need to enter the following entry to the [Axis_Folder]/axiscpp.conf configuration file. </b> <br> <br>
-ClientWSDDFilePath:xxx <br> <br>
-Here xxx should be the path to the “client.wsdd” file.
-<br>
-
-</p>
-<p><a name="#sample"> </a> </p>
-<p><b>Testing the sample Handlers </b> </p> 
-<br>
-
-<p>We have included the following sample Handlers for your reference.<br> <br>
-
-1) echoStringHeaderHandler (A server side handler sample)<br>
- This sample handler will simply echo (i.e send back) the string which you send in the SOAP Header in the SOAP request. <br> <br>
-2)testHandler (A client side handler sample) <br> <br>
-
-This sample handler will simply add a SOAP Header to the generated SOAP request. <br> <br>
-
-Please note that these are very primitive sample handlers and are presented here to give you an idea about writing your own Handlers. <br> </p>
-
-<p>
-<b>echoStringHeaderHandler</b> <br> <br>
-<b>Building the Sample Handlers in RedHat linux</b> <br><br>
-
-<b>Building echoStringHeaderHandler</b> (A server side handler sample) <br> <br>
-The build files are available at <br> <br>
-AXISCPP_HOME/samples/server/echoStringHeaderHandler.<br>
-Change your current directory to this directory and then you could execute the following. <br><br>
-     make  <br><br>
-     make install  <br><br>
-The handler so file will be created at  $AXISCPP_DEPLOY/lib   directory <br> <br>
-
-<b>Configuring the Handler</b> <br> <br>
-Now edit the AXISCPP_DEPLOY/etc/server.wsdd  to include the handler for a particular service. <br> <br>
-</p>
-
-<p>
-
-&lt;service name="Calculator" provider="CPP:RPC" description="Simple Calculator Axis C++ Service "&gt; <br>
-&lt;requestFlow name="CalculatorHandlers"&gt;<br>
-&lt;handler name="ESHHandler" type="AXIS_HOME/handlers/custom/echoStringHeaderHandler/libeshhandler.so"&gt; <br>
-&lt;/handler&gt; <br>
-&lt;/requestFlow&gt; <br>
-&lt;responseFlow name="CalculatorHandlers"&gt; <br>
-&lt;handler name="ESHHandler" type="AXISCPP_DEPLOY/lib/libeshhandler.so"&gt; <br>
-&lt;/handler&gt; <br>
-&lt;/responseFlow&gt; <br>
-&lt;parameter name="allowedMethods" value="add sub mul div "/&gt; <br>
-&lt;parameter name="className" value="Axis\webservices\Calculator.dll" /&gt; <br>
-&lt;/service&gt; <br>
-</p>
-
-<p>
-<b>Note:</b> Make sure you specify the correct path of the handler so in the server.wsdd file. Replace the AXISCPP_DEPLOY with the exact relative path which AXISCPP_DEPLOY  points to. (eg:  type="/usr/local/axiscpp_deploy/etc/libeshhandler.so  ) <br> <br>
-Now you are almost done to run your server side handler.<br>
-Restart the Apache server and that's it. <br> <br>
-<b>Running the Handler</b> <br> <br>
-Since this Handler is configured to the Calculator web service in the above step, this Handler will be executed when a client send a SOAP request to the Calculator web service. <br><br>
-
-<b>testHandler</b> <br> <br>
-<b>Building the Sample Handlers in RedHat linux</b> <br><br>
-
-<b>Building testHandler</b> (A client side handler sample) <br> <br>
-The build files are available at  AXISCPP_HOME/samples/client/testHandler. Change your current directory to this direcotory and then you could execute the following. <br><br>
-     make <br><br>
-     make install <br><br>
-The handler so file will be created at $AXISCPP_DEPLOY/lib/.  <br> <br>
-
-<b>Configuring the Handler</b> <br> <br>
-
-Now edit the AXISCPP_DEPLOY/etc/client.wsdd  to include the handler for a particular service. 
-
-</p>
-
-<p>
-
-&lt;service name="Calculator" provider="CPP:RPC" description="Calculator web service"&gt; <br>
-&lt;requestFlow name="CalculatorHandlers"&gt; <br>
-&lt;handler name="TestHandler" type="AXISCPP_DEPLOY/lib/libtest_client_handler.so"&gt; <br>
-&lt;/handler&gt; <br>
-&lt;/requestFlow&gt; <br>
-&lt;/service&gt; 
-
-</p>
-
-<p>
-<b>Note:</b> Make sure you specify the correct path of the handler so in the client.wsdd file. Replace the AXISCPP_DEPLOY with the exact relative path which  AXISCPP_DEPLOY  points to. (eg:  type="/usr/local/axiscpp_deploy/lib/libtest_client_handler.so) <br> <br>
-
-Now you are almost done to run your client side handler. <br> <br>
-<b>Note:</b> If you are using Client side Handlers you need to enter the  <ClientWSDDFilePath>  entry in the AXISCPP_DEPLOY/etc/axiscpp.conf configuration file. (See above) <br> <br>
-<b>Running the Handler</b> <br> <br>
-Since this Handler is configured to the Calculator web service in the above step, this Handler will be executed when you run the calculator web service client. (It is at  AXISCPP_DEPLOY/bin/calculator )
-</p>
-
-
-<p><a name="#creating"> </a> </p>
-<p><b>Handler Notes:</b>  <br>
-1) You can see the Handler behavior through the TCP Monitor. (TCP Monitor is a Axis Java tool) <br>
-2) To get an idea of Handlers look at the Handler sample source files. <br>
-     a. echoStringHeaderHandler (AXISCPP_HOME/samples/server/echoStringHeaderHandler)  <br>
-     b. testHandler (AXISCPP_HOME/samples/client/testHandler)
-
- </p>
-
-
-
-<p><a name="#API"> </a> </p>
-<br>
-<p><b>The Handler API and details for Handler writers</b> <br><br>
-
-Now you have seen some sample Handlers so that you can explore more on Handlers. The following sections helps you for the same. <br> <br>
-
-In order to get access to the DeSerializer the handler writer can use the following code block. <br> <br>
-
-</p>
-<p>
-
-// ----- <br>
-..... <br>
-IHandlerSoapDeSerializer* pIHandlerSoapDeSerializer; <br>
-pIMsg-&gt;getSoapDeSerializer(&pIHandlerSoapDeSerializer);<br>
-..... <br>
--------// <br><br>
-
-</p>
-<p>
-In order to get access to a incoming HeaderBlock the handler writer can use the following code block. <br><br>
-
-// -----<br>
-.....<br>
-IHeaderBlock* pIHeaderBlock= pIHandlerSoapDeSerializer->getHeaderBlock("echoMeString", "http://soapinterop.org/echoheader/");<br>
-.....<br>
--------// 
-
-</p>
-
-<p>
-In order to manipulate the above accessed HeaderBlock the handler writer can use the following code block. <br><br>
-
-// -----<br>
-.....<br>
-if (pIHeaderBlock != NULL) {<br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;const BasicNode* pBasicNode= pIHeaderBlock-&gt;getFirstChild();<br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;const AxisChar* pachHeaderValue;<br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;if (pBasicNode != NULL)<br>
-&nbsp;&nbsp;&nbsp;{<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  if((pBasicNode-&gt;getNodeType()) == CHARACTER_NODE) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  pachHeaderValue= pBasicNode-&gt;getValue();<br>
-&nbsp;&nbsp;&nbsp;} else {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pachHeaderValue = "This was not the expected value Ros";<br>
-&nbsp;&nbsp;&nbsp;}<br>
-&nbsp;&nbsp;&nbsp;} else <br>
-&nbsp;&nbsp;&nbsp;{<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pachHeaderValue = "pBascNode is NULL";<br>
-&nbsp;&nbsp;&nbsp; }<br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;AxisChar* pachTmpValue = (AxisChar*) malloc(strlen(pachHeaderValue) + 4); <br>
-&nbsp;&nbsp;&nbsp;strcpy(pachTmpValue, pachHeaderValue);<br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;pachTemp = "EchoStringHeaderHandlerPr1.id"; <br>
-&nbsp;&nbsp;&nbsp;pIMsg-&gt;setProperty(pachTemp, pachTmpValue);<br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;free(pachTmpValue); <br><br>                                                                                                                                                                     
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;} else { <br><br>
-&nbsp;&nbsp;&nbsp;//do some thing <br>
-&nbsp;&nbsp;&nbsp;//AxisChar* pachTmpValue = "Default values since no reqeust SOAP header";<br>
-&nbsp;&nbsp;&nbsp;//pachTemp = "EchoStringHeaderHandlerPr1.id";<br>
-&nbsp;&nbsp;&nbsp; //pIMsg-&gt;setProperty(pachTemp, pachTmpValue);<br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;//free(pachTmpValue);<br>
-&nbsp;&nbsp;&nbsp;}<br>
-</p>
-<p>
-.....<br>
--------//
-
-<br><br>
-
-In order to get access to the incoming SOAP Body the handler writer can use the following code block. <br><br>
-
-To get the body as a AxisChar* <br><br>
-
-// -----<br><br>
-.....<br>
-IHandlerSoapDeSerializer* pIHandlerSoapDeSerializer;<br>
-pIMsg-&gt;getSoapDeSerializer(&pIHandlerSoapDeSerializer);<br>
-AxisChar* pSoapBody = pIHandlerSoapDeSerializer-&gt;getBodyAsChar(); <br>
-.....<br>
--------// <br><br>
-
-To get the body as a decoded base64 stream.<br>
-// -----<br>
-.....<br>
-IHandlerSoapDeSerializer* pIHandlerSoapDeSerializer; <br>
-pIMsg-&gt;getSoapDeSerializer(&pIHandlerSoapDeSerializer);<br>
-xsd__base64Binary bb = pIHandlerSoapDeSerializer-&gtgetBodyAsBase64Binary();<br>
-.....<br>
--------// 
-
-</p>
-
-<p>
-<b>Notes:</b><br>
-Have a look at the following classes at the API docs to see all the available functions and their respective descriptions. (You can even look at the relevent .h/.hpp header files for the API comments) <br>
-IhandlerSoapDeSerializer<br>
-IHeaderBlock<br>
-BasicNode<br>
-</p>
-<p>
-The BasicNode API is similar (not exactly the same,  but ..) to the DOM and is written as a tree traversing API. <br><br>
-
-With the sample code samples provided above and with the API notes a developer will easily be able to write and play around his/her own Handlers. <br><br>
-
-This tutorial will be updated frequently with the new additions and specially with your suggestions.<br><br>
-
-</p>
-
-<p><a name="#windows"></a> 
-
-<h1>Windows</h1> </p>
-
-<p><a href="#introd"> Introduction to Handlers </a> <br> <br>
-<a href="#sam">Sample Handlers (building, running)</a> <br> <br>
-<a href="#create">Creating your own Handlers </a> <br> <br>
-<a href="#APP">API Notes for Handler writers</a> <br> <br> </p>
-
-
-<p> <a name="#introd"> </a> </p>
-
-<p>Handlers are pluggable components in Axis C++. We have included a set of sample handlers for your reference. <br> <br>
-You could write your own handlers by following the instructions given for the sample Handlers.<br> <br>
-<b>Note: If you are using Client side Handlers you need to enter the following entry to the [Axis_Folder]/axiscpp.conf configuration file.</b> <br> <br>
-ClientWSDDFilePath:Axis\conf\client.wsdd <br> <br>
-After entering this entry to your [Axis_Folder]/axiscpp.conf configuration file will look like:<br> <br>
-LogPath:Axis\logs\AxisLog.txt<br>
-WSDDFilePath:Axis\conf\server.wsdd<br>
-ClientWSDDFilePath:Axis\conf\client.wsdd<br> <br> </p>
-
-<p><a name="#sam"> </a> </p>
-<p>
-<b>Testing the sample Handlers </b><br> <br>
-We have included the following sample Handlers for your reference.<br> <br>
-1) <b>echoStringHeaderHandler</b> (A server side handler sample) <br> <br>This sample handler will simply echo (i.e send back) the string which you send in the SOAP Header in the SOAP request. <br> <br>
-2)<b>testHandler</b> (A client side handler sample)<br>  <br>
-This sample handler will simply add a SOAP Header to the generated SOAP request.<br>
-Please note that these are very primitive sample handlers and are presented here to give you an idea about writing your own Handlers.<br> <br>
-<b>echoStringHeaderHandler</b> <br> <br>
-<b>Building the Sample Handlers in VC</b> <br>
-
-</p>
-<p> 
-<b>Building echoStringHeaderHandler</b> (A server side handler sample) <br> <br>
-The VC dsw file (ServerHandlers.dsw) is available at Axis_Extract/vc/samples/server/ ServerHandlers.dsw.<br>
-Open this file and build the project echoStringHeaderHandler. Once the build is successful you will find the DLL (echoStringHeaderHandler.dll) at Axis_Extract/bin. <br>
- If you see this DLL at the above location you are done with the first step.<br> <br>
-<b>Configuring the Handler</b> <br> <br>
-Now edit the  [Axis_Folder]/conf/server.wsdd  to include the handler for a particular service.<br>
-</p>
-<p>
-&lt;service name="Calculator" provider="CPP:RPC" description="Simple Calculator Axis C++ Service "&gt;<br>
-&lt;requestFlow name="CalculatorHandlers"&gt;<br>
-&lt;handler name="ESHHandler" type="[Axis_Extract]/bin/echoStringHeaderHandler.dll"&gt;<br>
-&lt;/handler&gt;<br>
-&lt;/requestFlow&gt;<br>
-&lt;responseFlow name="CalculatorHandlers"&gt;<br>
-&lt;handler name="ESHHandler" type="[Axis_Extract]/bin/echoStringHeaderHandler.dll"&gt;<br>
-&lt;/handler&gt;<br>
-&lt;/responseFlow&gt;<br>
-&lt;parameter name="allowedMethods" value="add sub mul div "/&gt;<br>
-&lt;parameter name="className" value="Axis\webservices\Calculator.dll" /&gt;<br>
-&lt;/service&gt;<br><br>
-<b>Note:</b> Make sure you specify the correct path of the handler dll in the server.wsdd file. <br>
-Now you are almost done to run your server side handler.<br>
-Restart the Apache server.<br> <br>
-
-</p><p>
-<b>Running the Handler</b> <br> <br>
-Since this Handler is configured to the Calculator web service in the above step, this Handler will be executed when a client send a SOAP request to the Calculator web service.<br> <br>
-<b>testHandler</b> <br> <br>
-<b>Building the Sample Handlers in VC</b> <br> <br>
-<b>Building testHandler </b>(A client side handler sample)<br> <br>
-The VC dsw file <b>(ClientHandlers.dsw)</b> is available at Axis_Extract/vc/samples/client/ClientHandlers.dsw.Open this file and build the project TestHandler.  <br>
-Once the build is successful you will find the DLL testHandler.dll) at Axis_Extract/bin. If you see this DLL at the above location you are done with the first step. <br> <br>
-<b>Configuring the Handler</b> <br> <br>
-Now edit the [Axis_Folder]/conf/client.wsdd to include the handler for a particular service. <br>
-</p>
-<p>
-
-&lt;service name="Calculator" provider="CPP:DOCUMENT" description="Calculator web service"&gt;<br>
-&lt;requestFlow name="CalculatorHandlers"&gt;<br>
-&lt;handler name="TestHandler" type="[Axis_Extract]/bin/testHandler.dll"&gt;<br>
-&lt;/handler&gt;<br>
-&lt;/requestFlow&gt;<br>
-&lt;/service&gt;
-
-</p>
-<p>
-<b>Note:</b> Make sure you specify the correct path of the handler dll in the client.wsdd file. <br>
-Now you are almost done to run your client side handler. <br> <br>
-<b>Note: If you are using Client side Handlers you need to enter the ClientWSDDFilePath entry in the [Axis_Folder]/axiscpp.conf  configuration file. (See above) <br> <br> <br>
-<b>Running the Handler</b> <br> <br>
-Since this Handler is configured to the Calculator web service in the above step, this Handler will be executed when you run the calculator web service client. (It is at  [Axis_Extract]/bin/Calculator.exe)  <br> <br> </p>
-
-<p><a name="#create"> </a> </p>
-<p>Handler Notes: <br> <br>
-1) You can see the Handler behavior through the TCP Monitor. (TCP Monitor is a Axis Java tool) <br> <br>
-2) To get an idea of Handlers look at the Handler sample source files. <br> <br>
-a. echoStringHeaderHandler ([Axis_Extract]/samples/server/echoStringHeaderHandler)  <br> <br>
-b. testHandler ([Axis_Extract]/samples/client/testHandler)  <br> <br>
-
-</p>
- <p>
-  
-<a name="#APP"> </a> </p>
-<p><b>The Handler API and details for Handler writers</b> <br><br>
-
-Now you have seen some sample Handlers so that you can explore more on Handlers. The following sections helps you for the same. <br><br>
-
-In order to get access to the DeSerializer the handler writer can use the following code block.<br><br>
-</p>
-<p>
-
-// -----<br>
-.....<br>
-IHandlerSoapDeSerializer* pIHandlerSoapDeSerializer; <br><br>
-pIMsg->getSoapDeSerializer(&pIHandlerSoapDeSerializer);<br><br>
-.....<br>
--------//<br><br>
-
-In order to get access to a incoming HeaderBlock the handler writer can use the following code block.<br><br>
-
-// -----<br>
-.....<br>
-IHeaderBlock* pIHeaderBlock= pIHandlerSoapDeSerializer-&gt;getHeaderBlock("echoMeString", "http://soapinterop.org/echoheader/");<br>
-.....<br>
--------//<br>
-
-</p>
-
-<p>
-In order to manipulate the above accessed HeaderBlock the handler writer can use the following code block.<br><br>
-
-// -----<br>
-.....<br>
-if (pIHeaderBlock != NULL) {<br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;&nbsp;const BasicNode* pBasicNode= pIHeaderBlock->getFirstChild(); <br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;&nbsp;const AxisChar* pachHeaderValue; <br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;&nbsp;if (pBasicNode != NULL) <br>
-&nbsp;&nbsp;&nbsp;&nbsp;{<br>
-&nbsp;&nbsp;&nbsp;&nbsp;if((pBasicNode->getNodeType()) == CHARACTER_NODE) {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;pachHeaderValue= pBasicNode-&gt;getValue();<br>
-&nbsp;&nbsp;&nbsp;&nbsp;} else {<br>
-&nbsp;&nbsp;&nbsp;&nbsp;pachHeaderValue = "This was not the expected value Ros"; <br>
-&nbsp;&nbsp;&nbsp;&nbsp;}<br>
-&nbsp;&nbsp;&nbsp;&nbsp;} else<br>
-&nbsp;&nbsp;&nbsp;&nbsp;{<br>
-&nbsp;&nbsp;&nbsp;&nbsp;pachHeaderValue = "pBascNode is NULL";<br>
-&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;&nbsp;AxisChar* pachTmpValue = (AxisChar*) malloc(strlen(pachHeaderValue) + 4); <br>
-&nbsp;&nbsp;&nbsp;&nbsp;strcpy(pachTmpValue, pachHeaderValue); <br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;&nbsp;pachTemp = "EchoStringHeaderHandlerPr1.id"; <br>
-&nbsp;&nbsp;&nbsp;&nbsp;pIMsg-&gt;setProperty(pachTemp, pachTmpValue); <br><br>
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;&nbsp;free(pachTmpValue); <br><br>
-                                                                                                                                                                            
-                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;&nbsp;} else { <br>
-&nbsp;&nbsp;&nbsp;&nbsp;//do some thing <br>
-&nbsp;&nbsp;&nbsp;&nbsp; //AxisChar* pachTmpValue = "Default values since no reqeust SOAP header"; <br>
-&nbsp;&nbsp;&nbsp;&nbsp;//pachTemp = "EchoStringHeaderHandlerPr1.id"; <br>
-&nbsp;&nbsp;&nbsp;&nbsp;//pIMsg-&gt;setProperty(pachTemp, pachTmpValue); <br>                                                                                                                                                                            
-&nbsp;&nbsp;&nbsp;&nbsp; //free(pachTmpValue); <br>
-&nbsp;&nbsp;&nbsp;&nbsp;} <br><br>
-
-&nbsp;&nbsp;&nbsp;&nbsp;.... <br>
-&nbsp;&nbsp;&nbsp;&nbsp;-------// <br>
-
-</p>
-<p>
-
-In order to get access to the incoming SOAP Body the handler writer can use the following code block. <br><br>
-
-To get the body as a AxisChar*<br>
-
-// -----<br>
-.....<br>
-IHandlerSoapDeSerializer* pIHandlerSoapDeSerializer; <br>
-pIMsg->getSoapDeSerializer(&pIHandlerSoapDeSerializer);<br>
-AxisChar* pSoapBody = pIHandlerSoapDeSerializer->getBodyAsChar(); <br>
-.....<br>
--------// <br><br>
-
-To get the body as a decoded base64 stream.<br>
-// -----<br>
-.....<br>
-IHandlerSoapDeSerializer* pIHandlerSoapDeSerializer;<br>
-pIMsg->getSoapDeSerializer(&pIHandlerSoapDeSerializer);<br>
-xsd__base64Binary bb = pIHandlerSoapDeSerializer->getBodyAsBase64Binary();<br>
-.....<br>
--------// 
-
-</p>
-<p>
-<b>Note:</b> <br><br>
-
-Have a look at the following classes at the API docs to see all the available functions and their respective descriptions. (You can even look at the relavent .h/.hpp header files for the API comments) <br>
-1.IhandlerSoapDeSerializer<br>
-2.IHeaderBlock <br>
-3.BasicNode <br><br>
-
-The BasicNode API is similar (not exactly the same,  but ..) to the DOM and is written as a tree traversing API.<br><br>
-
-With the sample code samples provided above and with the API notes a developer will easily be able to write and play around his/her own Handlers. <br><br>
-
-This tutorial will be updated frequently with the new additions and specially with your suggestions.  
- </p> 
-
-
+<body><H1><A name="Contents">Contents</A></H1>
+<UL>
+	<LI><A href="#Introduction">Introduction to Handlers </A></LI>
+	<LI><A href="#Samples">Handler Samples</A></LI>
+	<LI><A href="#ServerHandlerSample">Server sample handler</A></LI>
+	<LI><A href="#ClientHandlerSample">Client sample handler</A></LI>
+	<LI><A href="#HandlerAPIs">Handler API's</A><A href="#ClientHandlerSample"></A></LI>
+</UL>
+
+<H1>Introduction to Handlers</H1>
+
+<P><A name="Introduction"></A>Handlers are pluggable components in Axis C++. Handlers are pieces of code that you write to intercept the message either on the client or service side. We have included a set
+of sample handlers for your reference.</BR>
+You can write your own handlers by following the instructions given
+for the sample Handlers. At the end of this section we have also added some more detailed API information.
+
+</P>
+
+<H1>Handler samples</H1>
+<P><A name="Samples"></A>We have included the following sample Handlers for your reference.
+<OL>
+	<LI> <A href="#ServerHandlerSample">echoStringHeaderHandler</A> (A server side handler sample)
+	This sample handler will simply echo (i.e send back) the string which
+you send in the SOAP Header in the SOAP request. </LI>
+	<LI><A href="#ClientHandlerSample">testHandler</A> (A client side handler sample)
+
+	This sample handler will simply add a SOAP Header to the generated SOAP
+	request.</LI>
+</OL>
+	Please note that these are very primitive sample handlers and are
+	presented here to give you an idea about writing your own Handlers.
+</P>
+
+
+<H1>echoStringHeaderHandler (A server side handler sample)</H1>
+<P><A name="ServerHandlerSample"></A></P>
+<H2>Building the echoStringHeaderHandler</H2>
+<H3>Linux</H3>
+<P>
+<BLOCKQUOTE>The build files are available at</BLOCKQUOTE>
+<BLOCKQUOTE>
+<B>&lt;Axis install directory&gt;/samples/server/echoStringHeaderHandler</B></BR>
+Change your current directory to this directory and then execute the
+following...
+
+<UL>
+	<LI>make</LI>
+	<LI>make install</LI>
+</UL>
+</BLOCKQUOTE>
+<BLOCKQUOTE>The handler <B>libeshhandler.so</B> file will be created at <B>&lt;Axis
+install directory&gt;/lib directory</B></BLOCKQUOTE><H3>Windows</H3>
+<BLOCKQUOTE>The VC dsw file (ServerHandlers.dsw) is available at</BLOCKQUOTE>
+<BLOCKQUOTE><B>&lt;Axis Install directory&gt;/vc/samples/server/
+ServerHandlers.dsw</B>.</BLOCKQUOTE>
+<BLOCKQUOTE>Open this file and build the project <B>echoStringHeaderHandler</B>. Once the build is successful you will find the DLL (
+<B>echoStringHeaderHandler.dll</B>) at<B>&lt;Axis install
+directory&gt;/bin</B></BLOCKQUOTE>
+
+
+<H2>Configuring the echoStringHeader Handler</H2>
+<P>Edit the server.wsdd file
+<A href="../install-guide.html#Server installation and configuration">(as
+created when you configured your server</A>
+<A href="../serveruser-guide.html">)</A>
+to include the handler for a
+particular service.<BR/>
+In this instance we are using the Calculator server example that we have used in both the client and server setup examples. The example below shows how a linux file would look e.g. libeshhandler.so is used please vary the file according to the libraries you have created. This example shows the handler being deployed on both the incoming and outgoing message.
+
+
+<P>&lt;service name="Calculator" provider="CPP:RPC" description="Simple Calculator Axis C++ Service "&gt; </BR>
+<B></BR>
+&lt;requestFlow name="CalculatorHandlers"&gt;</BR>
+&lt;handler name="ESHHandler" type="&lt;Axis installation
+directory&gt;/handlers/custom/echoStringHeaderHandler/libeshhandler.so"&gt;
+</BR>
+&lt;/handler&gt; </BR>
+&lt;/requestFlow&gt; </BR>
+&lt;responseFlow name="CalculatorHandlers"&gt; </BR>
+&lt;handler name="ESHHandler" type="&lt;Axis installation
+directory&gt;AXISCPP_DEPLOY/lib/libeshhandler.so"&gt; </BR>
+&lt;/handler&gt; </BR>
+&lt;/responseFlow&gt; </B></BR>
+</BR>
+&lt;parameter name="allowedMethods" value="add sub mul div "/&gt; </BR>
+&lt;parameter name="className" value="&lt;Axis installation
+directory&gt;/webservices/libcalculator.so" /&gt; </BR>
+&lt;/service&gt; </BR>
+
+
+
+
+<B>Note:</B> Make sure you specify the correct path of the handler so
+in the server.wsdd file.</BR>
+</BR>
+Now you are almost ready to run your server-side handler.</BR>
+You have to restart the Apache server so that it picks up its new configuration and then that's it !<B></B>
+</P>
+<H2>Running the echoStringHeader Handler</H2>
+<P>
+Since this Handler is configured to the Calculator web service in the above step, this Handler will be executed when a client sends a SOAP
+request to the Calculator web service. Use the <A href="clientuser-guide.html#Generating and using client stubs">calculator
+client</A> you created earlier.
+</P>
+</P>
+</P>
+
+<H1>testHandler (A client side handler sample)</H1>
+<P><A name="ClientHandlerSample"></A></P>
+<H2>Building the testHandler</H2>
+<P>
+The build files are available at
+<B>&lt;Axis installation directory&gt;/samples/client/testHandler</B>. Change your current directory to this direcotory and then you could execute the following.
+</P>
+<H3>linux</H3>
+<P>
+<BLOCKQUOTE>
+<UL>
+	<LI>make</LI>
+	<LI>make install</LI>
+</UL>
+</BLOCKQUOTE>
+<BLOCKQUOTE>The handler so file will be created at <B>&lt;Axis
+installation directory&gt;/lib/</BR>
+</B></BLOCKQUOTE><B></B><H3>windows</H3>
+<BLOCKQUOTE>The VC dsw file (ClientHandlers.dsw) is available at <B>&lt;Axis
+Installation directory&gt;/vc/samples/client/ClientHandlers.dsw</B>.Open this file and
+build the project TestHandler.</BLOCKQUOTE>
+<BLOCKQUOTE>Once the build is successful you will find the DLL
+testHandler.dll) at <B>&lt;Axis Installation directory&gt;/bin</B>. If you see this DLL at the above
+location you are done with the first step.</BLOCKQUOTE>
+</P>
+
+<H2>Configuring the testHandler</H2>
+<P>
+<B></B>Now edit the
+<B>&lt;Axis installation directory&gt;/etc/client.wsdd</B>
+to include the handler for a
+particular service.
+<P>In this example we will continue to use the Calculator service. The sample wsdd file outlined below shows a linux directory system - for other operating systems please use the correct path symbols.</BR>
+<B>Note: </B>
+Up until this point you did not need a client wsdd file the client only requires a wsdd file when it has handlers.
+</P>
+
+<P><B>&lt;service name="Calculator" provider="CPP:RPC"
+description="Calculator web service"&gt; </BR>
+&lt;requestFlow name="CalculatorHandlers"&gt; </BR>
+&lt;handler name="TestHandler"
+type="&lt;Axis Installation directory&gt;/lib/libtest_client_handler.so"&gt; </BR>
+&lt;/handler&gt; </BR>
+&lt;/requestFlow&gt; </BR>
+&lt;/service&gt;</B></P>
+
+
+
+
+Now you are almost ready to run your client side handler. </BR>
+</BR>
+<B>Note:</B> If you are using Client side Handlers you need to enter the
+<B>ClientWSDDFilePath</B> entry in your <A
+	href="install-guide#Installing Client">axiscpp.conf</A> configuration file.</BR>
+	
+</P>	
+<H2>Running the testHandler</H2>
+<P>
+Since this Handler is configured to the Calculator web service in the
+above step, this Handler will be executed when you run the <A
+	href="clientuser-guide.html#Generating and using client stubs">calculator
+web service client</A>..
+</P>
+
+<H1>The Handler API's</H1>
+<P><A name="HandlerAPIs"></A>Now you have seen some sample Handlers you can explore more on
+Handlers. The following sections should help you understand that API's available to you in your handler code.</BR>
+</BR>
+
+In order to get access to the DeSerializer the handler writer can use
+the following code block. </BR>
+</BR>
+
+<P>
+// ----- </BR>
+..... </BR>
+IHandlerSoapDeSerializer* pIHandlerSoapDeSerializer; </BR>
+pIMsg-&gt;getSoapDeSerializer(&pIHandlerSoapDeSerializer);</BR>
+..... </BR>
+-------// </BR>
+</BR>
+
+</P>
+<P>In order to get access to a incoming HeaderBlock the handler writer
+can use the following code block. </BR>
+</BR>
+
+// -----</BR>
+.....</BR>
+IHeaderBlock* pIHeaderBlock=
+pIHandlerSoapDeSerializer->getHeaderBlock("echoMeString",
+"http://soapinterop.org/echoheader/");</BR>
+.....</BR>
+-------//</P>
+
+<P>In order to manipulate the above accessed HeaderBlock the handler
+writer can use the following code block. </BR>
+</BR>
+
+// -----</BR>
+.....</BR>
+if (pIHeaderBlock != NULL) {</BR>
+</BR>
+
+&nbsp;&nbsp;&nbsp;const BasicNode* pBasicNode=
+pIHeaderBlock-&gt;getFirstChild();</BR>
+</BR>
+
+&nbsp;&nbsp;&nbsp;const AxisChar* pachHeaderValue;</BR>
+</BR>
+
+&nbsp;&nbsp;&nbsp;if (pBasicNode != NULL)</BR>
+&nbsp;&nbsp;&nbsp;{</BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((pBasicNode-&gt;getNodeType()) ==
+CHARACTER_NODE) {</BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pachHeaderValue=
+pBasicNode-&gt;getValue();</BR>
+&nbsp;&nbsp;&nbsp;} else {</BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pachHeaderValue = "This was not the
+expected value Ros";</BR>
+&nbsp;&nbsp;&nbsp;}</BR>
+&nbsp;&nbsp;&nbsp;} else </BR>
+&nbsp;&nbsp;&nbsp;{</BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pachHeaderValue = "pBascNode is NULL";</BR>
+&nbsp;&nbsp;&nbsp; }</BR>
+</BR>
+
+&nbsp;&nbsp;&nbsp;AxisChar* pachTmpValue = (AxisChar*)
+malloc(strlen(pachHeaderValue) + 4); </BR>
+&nbsp;&nbsp;&nbsp;strcpy(pachTmpValue, pachHeaderValue);</BR>
+</BR>
+
+&nbsp;&nbsp;&nbsp;pachTemp = "EchoStringHeaderHandlerPr1.id"; </BR>
+&nbsp;&nbsp;&nbsp;pIMsg-&gt;setProperty(pachTemp, pachTmpValue);</BR>
+</BR>
+
+&nbsp;&nbsp;&nbsp;free(pachTmpValue); </BR>
+</BR>
+
+&nbsp;&nbsp;&nbsp;} else { </BR>
+</BR>
+&nbsp;&nbsp;&nbsp;//do some thing </BR>
+&nbsp;&nbsp;&nbsp;//AxisChar* pachTmpValue = "Default values since no
+reqeust SOAP header";</BR>
+&nbsp;&nbsp;&nbsp;//pachTemp = "EchoStringHeaderHandlerPr1.id";</BR>
+&nbsp;&nbsp;&nbsp; //pIMsg-&gt;setProperty(pachTemp, pachTmpValue);</BR>
+</BR>
+
+&nbsp;&nbsp;&nbsp;//free(pachTmpValue);</BR>
+&nbsp;&nbsp;&nbsp;}</BR>
+</P>
+<P>.....</BR>
+-------// </BR>
+</BR>
+
+In order to get access to the incoming SOAP Body the handler writer can
+use the following code block. </BR>
+</BR>
+
+To get the body as a AxisChar* </BR>
+</BR>
+
+// -----</BR>
+</BR>
+.....</BR>
+IHandlerSoapDeSerializer* pIHandlerSoapDeSerializer;</BR>
+pIMsg-&gt;getSoapDeSerializer(&pIHandlerSoapDeSerializer);</BR>
+AxisChar* pSoapBody = pIHandlerSoapDeSerializer-&gt;getBodyAsChar(); </BR>
+.....</BR>
+-------// </BR>
+</BR>
+
+To get the body as a decoded base64 stream.</BR>
+// -----</BR>
+.....</BR>
+IHandlerSoapDeSerializer* pIHandlerSoapDeSerializer; </BR>
+pIMsg-&gt;getSoapDeSerializer(&pIHandlerSoapDeSerializer);</BR>
+xsd__base64Binary bb =
+pIHandlerSoapDeSerializer-&gtgetBodyAsBase64Binary();</BR>
+.....</BR>
+-------//</P>
+
+<P><B>Notes:</B></BR>
+Have a look at the following classes at the API docs to see all the
+available functions and their respective descriptions. (You can even
+look at the relevent .h/.hpp header files for the API comments) </BR>
+IhandlerSoapDeSerializer</BR>
+IHeaderBlock</BR>
+BasicNode</BR>
+</P>
+<P>The BasicNode API is similar (not exactly the same, but ..) to the
+DOM and is written as a tree traversing API. </BR>
+</BR>
+
+With the sample code samples provided above and with the API notes a
+developer will easily be able to write and play around his/her own
+Handlers. </BR></P>
+</P>
+</body>
+</html>
\ No newline at end of file

Modified: webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/mem-management.ihtml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/mem-management.ihtml?rev=357701&r1=357700&r2=357701&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/mem-management.ihtml (original)
+++ webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/arch/mem-management.ihtml Mon Dec 19 07:02:49 2005
@@ -104,10 +104,7 @@
 
 <p> If a target handler access a Header Block created by the deserializer then it is the responsibility of the Handler to delete it.
 
-<h2><a NAME="Open Issues"></a>Open Issues</h2>
-<p> As C++ is an object oriented language, one would ideally like to leverage constructors and destructors for memory management. However, the Axis C++ engine uses structs in some cases (e.g. Arrays) and uses <i>malloc()</i> to allocate memory. Hence the C++ programmer would be forced to use <i>free()</i> at times. When using <i>malloc()</i> and <i>free()</i> constructors and destructors are not called. However, as the Axis C++ engine currently supports both C and C++, it is not simple to replace all <i>malloc()</i> with <i>new</i> or <i>free()</i> with <i>delete</i>. At the same time, there are some places where <i>new</i> and <i>delete</i> are being used. They too cannot be replaced with <i>malloc()</i> and <i>free()</i> overnight. This memory management complexity is the price paid for dual support of C and C++. Efforts are under way to clean up the memory management mix-ups and still support both C and C++. Currently the proposed solution is to make the Axis C++ engine p
 ure C++ and use a wrapper mechanism to support C. 
-
-<p> When an array is de-serialized it uses C style memory re-allocation mechanism in the present code. C++ does not support <i>realloc()</i> and if we use <i>new</i> instead we have to allocate fresh memory blocks each time we need to increase the array size. This can be more expensive than using <i>realloc()</i>. Again the price paid for efficiency is that one has to use <i>free()</i> and not <i>delete []</i>  from C++ code. 
+<h2><a NAME="Open Issues"></a>Open Issues</h2><p> When an array is de-serialized it uses C style memory re-allocation mechanism in the present code. C++ does not support <i>realloc()</i> and if we use <i>new</i> instead we have to allocate fresh memory blocks each time we need to increase the array size. This can be more expensive than using <i>realloc()</i>. Again the price paid for efficiency is that one has to use <i>free()</i> and not <i>delete []</i>  from C++ code. 
 
 </body>
 </html>

Modified: webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/developers-guide.ihtml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/developers-guide.ihtml?rev=357701&r1=357700&r2=357701&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/developers-guide.ihtml (original)
+++ webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/developers-guide.ihtml Mon Dec 19 07:02:49 2005
@@ -7,10 +7,143 @@
 
 <BODY>
 
-  <H1>Axis C++ Developer's Guide</H1>
-<b>Under construction.....</b>
+<H1>Contents</H1>
+<P>This guide is meant to be read by those of you who would like to check out the code and create either a new transport layer or new parser layer.  If you just want to check out the code and build it yourself e.g. because you want to port it to a new new platform then please see the
+<A href="antbuild-guide.html">build guide.</A>
+<UL>
+	<LI><A href="#checkingOut">Checking out source code</A></LI>
+	<LI><A href="#transport">Build your own transport layer</A></LI>
+	<LI><A href="#parser">Build your own parser layer</A></LI>
+	<LI><A href="#extraPlatforms">Adding support for extra platforms</A></LI>
+</UL>
 
+ <B>Before going through this guide, please go through the <A
+	href="winuser-guide.html">Windows User Guide</A> and also be
+familiar with how to use binaries.</B>
+</P>
 
-</body>
+<H1>Checking out source code</H1>
+<P><A name="checkingOut"></A>The source code for Axis C++ is held in SVN. Instructions for using the Apache SVN system can be found <A
+	href="http://www.apache.org/dev/version-control.html#anon-svn">here</A>. The Axis C++ repository is <A
+	href="http://svn.apache.org/repos/asf/webservices/axis/trunk/c">http://svn.apache.org/repos/asf/webservices/axis/trunk/c</A>.<B></B></P>
+<H1>Creating and Building your own
+transport layer</H1>
+<P><A name="transport"></A>In very extreme cicumstances you might need to implement your own transport layer. If this is the case then you need to read thie following section.</P>
+<P><IMG border="0" src="images/c/parserd/transport.jpg"></P>
+<P>When creating your own transport layer refer SoapTransport.h header
+file for API.To see an example implementation refer AxisTransport.h and
+AxisTransport.cpp</P>
+<P>Implement SoapTransport.h interface according to rules described in
+the header file. <BR>
+Transport layer is built separately from Axis. Then Axis loads transport
+dynamic library through following export functions which you also have
+to implement.</P>
+<P>CreateInstance (SoapTransport *pOut)- Used by Axis to create an
+instance of your transport class<BR>
+DestroyInstance (SoapTransport *pIn) - Used by Axis to destroy the
+created transport class instance</P>
+<P>Compile your transport code and build a dynamic library. Add the name
+of your transport library to axis configuration file (axiscpp.conf) so
+that Axis can find your library at runtime.</P>
+
+<H1>Debugging client problems using the MockServer</H1>
+<P><a name="mockserver"/></a>Within the ant test framework we have what we call a 'MockServer'. This is a 100 percent Java
+tool that allows you to send back any response that you wish to the client. This tool
+can be particularly useful for debugging problems in the client that come from the mailing list.
+You need the users WSDL (to create the stubs) and ask them to capture the response from the server (or you can make this
+by-hand if you wish it's just a bit harder).
+</P>
+<P>
+Here are some simple instruction on using the MockServer utility we use for
+testing Axis c++ client without a server outside of the mockserver.
+   Compile mock server java code (found within <B>&lt;Axis extract root
+&gt;/tests/utils/monitor </B>)
+   <P>
+   Run the mock server:
+<B>   java org.apache.test.MockServer -p &lt;port&gt; -r &lt;server response file</B>&gt;</P>
+<P>
+The server response file is a text file containing the full HTTP response,
+it will look something like this:<BR>
+<BR/>
+   HTTP/1.1 200 OK
+   <BR>
+Server: WebSphere Application Server/5.1
+   <BR>
+Content-Type: text/xml; charset=utf-8
+   <BR>
+Content-Language: en-GB
+   <BR>
+Transfer-Encoding: chunked
+
+   <BR>
+<BR>
+1ad
+   <BR>
+&lt;?xml version="1.0" encoding="utf-8"?&gt;
+   <BR>
+&lt;soapenv:Envelope
+   xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+   xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;<BR>
+&lt;soapenv:Header/&gt;<BR>
+&lt;soapenv:Body&gt;<BR>
+&lt;addResponse
+ xmlns="http://localhost/axis/Calculator"&gt;<BR>
+&lt;addReturn&gt;5&lt;/addReturn&gt;<BR>
+&lt;/addResponse&gt;<BR>
+&lt;/soapenv:Body&gt;<BR>
+&lt;/soapenv:Envelope&gt;
+   0
+</P>
+<P>
+The easiest way to generate this file is to capture the communication from
+a real server but if that isn't possible you will need to generate by hand
+(plenty of examples within &lt;extract root&gt;/test/auto_build/testcases/output
+)
+Rather than providing the specific chunk size (1ad, on the line ahead of
+the payload) you can provide ### and the MockServer will calculate the
+correct size.
+</P>
+<P>
+If your testcase makes multiple calls to the web service, you can simply
+append all the requests (in the correct order!) within the server response
+file.
+</P>
+<P>
+Once the test has been completed you need to run the following to stop the server:
+   <BR>
+<B>java org.apache.test.StopMockServer -p &lt;port&gt; -h &lt;host&gt;</B>
+</P>
+
+<H1>Creating and Building your own parser</H1>
+<P><A name="parser"></A>In very extreme cirumstances you may want to write your own parser layer. If you do then you need to read this section.</P>
+<P><IMG border="0" src="images/c/parserd/parser.jpg"></P>
+<P><B>Note:Implement XMLParser.h interface according to the rules
+described in the header file.</B><BR>
+</P>
+<P>When creating your own parser refer XMLParser.h header file for API.
+To see an example implementation refer SoapParserXerces.h and
+SoapParserXerces.cpp.</P>
+<P>Axis loads the parser dynamic library through following export
+functions which you also have to implement.</P>
+<P>CreateInstance() - Used by Axis to create an instance of your parser
+class<BR>
+DestroyInstance() - Used by Axis to destroy the created parser class
+instance</P>
+<P>Compile your parser code and build a dynamic library. Add the name of
+your parser library to Axis configuration file (axiscpp.conf) so that
+Axis can find your library at runtime</P>
+
+<H1>Adding support for extra platforms</H1>
+<P><A name="extraPlatforms"></A>If you are working on a platform not currently supported by Axis C++ the community would be very grateful for your assistance in providing support for that platform.</P>
+<P>Instructions for adding an extra platform to the ANT build scripts can found <A
+	href="antbuild-guide.html#addingExtraPlatform">here</A>.</P>
+<P>If you need to make any modifications to the code specific to your platform we ask that you make the appropriate updates in the platform abstraction layer, by doing the following:</P>
+<UL>
+	<LI>Create new <CODE>platforms\[<I>platform</I>]\PlatformSpecific[<I>platform</I>].hpp</CODE> file (and possibly also <CODE>.cpp</CODE> file), ensuring all macros and methods already in platform abstraction layer a copied across and updated as required.</LI>
+	<LI>Update <CODE>platforms\PlatformAutoSense.hpp</CODE> to correctly detect platform and include correct header file.</LI>
+</UL>
+<P>If you need to change something that has not been previously abstracted please ensure you update the other platforms to contain the existing code.</P></body>
 
 </html>

Modified: webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/documentation.ihtml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/documentation.ihtml?rev=357701&r1=357700&r2=357701&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/documentation.ihtml (original)
+++ webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/documentation.ihtml Mon Dec 19 07:02:49 2005
@@ -9,48 +9,40 @@
 <body>  
 <center> 
 <h1> <img SRC="images/axis.jpg" height=96 width=176></h1>
-</center> 
-<h1>Documentation</h1> <br>
-This is the documentation for <a href="index.html">Apache Axis C++ 1.5 Final</a>  
-<h2>Installation Guides</h2> 
+</center>Welcome to the documentation section for Axis CPP. In here you should find all the documents you need to install and run your own client and services. If you want to contribute code back to the project you will also find out developers instructions.<H1>Installation Guides</H1> 
 <ul> 
 <li>
-<a href="lininstall-guide.html">Linux Installation Instructions</a>
-</li> 
-<li> 
-<a href="wininstall-guide.html">Windows Installation Instructions</a>
-</li>
+<a href="install-guide.html">Installation Instructions</a></li>
 </ul> 
-<h2>User Guides</h2> 
+<H1>User Guides</H1>
+<P>Please read these if you intend to use the product.</P>
 <ul> 
 <li>
-<a href="linuser-guide.html">Linux User Guide</a>
+<a href="clientuser-guide.html">Client User Guide</a>
 </li>
 <li>
-<a href="winuser-guide.html">Windows User Guide</a>
+<a href="serveruser-guide.html">Server User Guide</a>
 </li>
+	<LI><A href="arch/handler.html">Handler Tutorial</A></LI>
 </ul>
-<h2>Developer Guides</h2>
+<P></P>
+<H1>Developer Guides</H1>
+<P>Please read these if you intend to contribute code to the project.</P>
 <ul> 
 <li> 
-<a href="windev-guide.html">Windows Developer's Guide</a>
-</li> 
+<a href="developers-guide.html"> Developer's Guide</a></li> 
 <li><a href="antbuild-guide.html">ANT Build Guide</a></li></ul>
 </ul> 
-<h2>Reference Material</h2>
-<ul>
-<li>
-<a href="arch/handler.html">Handler Tutorial</a>
-</li> 
-<li>
-<a href="arch/ArchitectureGuide.html">Architecture Guide</a>
-</li> 
-<li> 
-<a href="arch/WSDL2Ws.html">WSDL2Ws Tool</a>
-</li> 
+<H1>Reference Material</H1>
+<ul> 
 <li>
-<a href="arch/mem-management.html">Memory Management Guide</a>
-</li> 
+<a href="arch/ArchitectureGuide.html"><A href="arch/WSDL2Ws.html">WSDL2Ws
+	Tool</A>
+</a></li>
+	<LI><A href="arch/ArchitectureGuide.html"><A
+		href="arch/mem-management.html">Memory Management Guide</A>
+</A></LI>
+	<LI><A href="arch/ArchitectureGuide.html">Architecture Guide</A></LI> 
 </ul>
 </body>
 </html> 

Modified: webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/download.ihtml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/download.ihtml?rev=357701&r1=357700&r2=357701&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/download.ihtml (original)
+++ webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/download.ihtml Mon Dec 19 07:02:49 2005
@@ -1,14 +1,13 @@
 <html>
 <head>
-  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
   <title>Axis C++ download page</title>
-  <meta name="generator" content="amaya 8.1b, see http://www.w3.org/Amaya/">
 </head>
 
 <body>
 <h1>Download Axis C++</h1>
 
-<p></p>
+<p>This page has links to the release version of Axis CPP. If you want a more recent, but potentially less stable, build please go <A href="axis/interim.html">here</A></p>
 
 <p><a href="http://www.apache.org/dist/ws/axis-c/">Direct Link</a></p>
 
@@ -19,7 +18,7 @@
 <p><a href="http://www.apache.org/dyn/closer.cgi">Mirror Sites</a></p>
 
 <p>(Click on the address of a mirror. Once you are presented with the
-contents of the dist folder, click on the "ws" folder.<br>
+contents of the dist folder, click on the "ws" folder.<br/>
 Then click on "axis-c" to find the distribution)</p>
 </body>
 </html>

Modified: webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/index.ihtml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/index.ihtml?rev=357701&r1=357700&r2=357701&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/index.ihtml (original)
+++ webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/index.ihtml Mon Dec 19 07:02:49 2005
@@ -1,217 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
 <head>
-  <meta http-equiv="Content-Type" content="text/html">
-  <title>Axis C++ 1.5 Final is Available!</title>
+  <title>Axis C++</title>
 </head>
 
 <body>
-<h1>Axis C++ 1.5 Final </h1>
-
-<p><a href="download.html">Download Axis C++</a></p>
-<br>
-
-<p>
-<h1>Key features of Axis C++ 1.5 Final </h1> </p>
-
-
-<p><b>New client side transport</b> <br> 
-This is called Axis3 transport.This is a cleaner and extensible Transport compared to  Axis2Transport.
- <br> <br> <br> 
-WSDL tool fixes to handle nil types. <br> <br>
-Supports Broader XSD types.<br> <br>
-Supports Broader XSD Any types <br> <br>
-Comprehensive test framework which includes client & server side.<br> <br>
+<H1>Welcome to Axis CPP</H1>
+<P>Axis C/C++ (Axis CPP) is a non-Java implementation of Axis. At its core Axis CPP has a C++ runtime engine. The provided tooling allows you to create C++ client-side stubs and
+server-side skeletons. The server skeletons can be deployed to either a full Apache web server using the supplied apache module or a &quot;simple_axis_server&quot; - which is a simple HTTP listener (designed to help you test your services).<BR/>
+<BR/>
+There is also limited support for C wrappers around the generated Server and client objects. However, at the current time it is not recommended that these be used in a production environment.</P>
+
+<p>The implementation has concentrated on being ws-i profile compliant.
+The implementation does not have support for ws-* specifications and it is envisaged that this will be provided by Axis2. However, at the current time, Axis CPP is still being actively developed and improved until such times 
+as Axis2 C implementation has progressed far enough to take over its role.</p>
+<H2>Contents</H2>
+<UL>
+	<LI><A href="#Features">Features</A></LI>
+	<LI><A href="#QualityAssurance">Quality Assurance</A></LI>
+	<LI><A href="#Schedules"> Schedules</A></LI>
+	<LI><A href="#LatestRelease">Axis C++ 1.5 release</A></LI>
+	
+	<UL>
+		<LI><A href="#Key Features">Key Features</A></LI>
+		<LI><A href="#BugFixList">Fix List</A></LI>
+		<LI><A href="#Known issues">Known issues</A></LI>
+	</UL>
+	
+</UL>
+<p><A name="Features"></A></p>
+<H2>Features</H2>
+<ul>
+<LI>Soap engine with both client and server support</LI>
+<LI>WSDD based deployment with dynamic deployment tools.</LI>
+<LI>Support for all basic types, Complex types and Arrays</LI>
+<LI>WSDL2WS tool for building C/C++ components</LI>
+<LI>Server side - Skeletons and Wrappers</LI>
+<LI>Client side - Stubs</LI>
+<LI>Standalone server (with HTTP support)</LI>
+<LI>Web server modules for Apache 1.3 &amp; Apache2 (Linux/Windows)</LI>
+<LI>Web interface to the deployed services and their WSDL s.</LI>
+<LI>Sample web services and client applications.</LI>
+</ul>
+
+<H2>Quality Assurance</H2>
+<P><A name="QualityAssurance"></A>In the past year and a half, the comprehensive test-suite has been created and maintained to a high-level.
+The suite is run over all the nightly builds. If bugs are found then tests are added to ensure that the code does not regress - this is your assurance of quality.
+</P>
+
+
+<H2>Schedules</H2>
+<p><A name="Schedules"></A> At any time you can get a copy of the latest <a href="http://cvs.apache.org/dist/axis/nightly/">overnight build</a> and we try to produce a full release at least every 6 months.</p>
+<p>The current level of Axis CPP that we recommend is 1.5.</p>
+<p>At the moment we envisage 1.6 being released in late December. This will have many bug fixes in it for the more complex scenarios that we see Axis CPP being used in over recent months.</p>
+
+
+<h1><P><A name="LatestRelease">Axis C++ 1.5 Final</A></P> </h1>
+Axis C++ is currently at release 1.5. This implementation is a lot more stable than previous releases and has much better support for XSD types.
+
+<p><a href="download.html">Download the latest release of Axis C++</a></p>
+<h2><P><A name="Key Features">Key features of Axis C++ 1.5</A></P></h2> 
+
+
+<UL>
+	<LI><B>New client side transport</B></BR>
+	This is called Axis3 transport.This is a cleaner, more extensible
+	and vastily more reliable transport compared to previous versions. It
+	has better support for proxies, cookies and more.</LI>
+	<LI>WSDL tool fixes to handle nillable types.</LI>
+	<LI>Supports Broader XSD types.</LI>
+	<LI>Supports Broader XSD Any types</LI>
+</UL>
+<p></p>
+
+<H2><P><A name="BugFixList">The Bug Fixes</A></P> </H2>
+<p><FONT size="-1"> AXISCPP-605 <BR/>
+AXISCPP-602<BR/>
+AXISCPP-600<BR/>
+AXISCPP-596<BR/>
+AXISCPP-594<BR/>
+AXISCPP-593<BR/>
+AXISCPP-592<BR/>
+AXISCPP-591<BR/>
+AXISCPP-590<BR/>
+AXISCPP-589<BR/>
+AXISCPP-587<BR/>
+AXISCPP-586<BR/>
+AXISCPP-585<BR/>
+AXISCPP-584<BR/>
+AXISCPP-583<BR/>
+AXISCPP-582<BR/>
+AXISCPP-581<BR/>
+AXISCPP-579<BR/>
+AXISCPP-576<BR/>
+AXISCPP-575<BR/>
+AXISCPP-569<BR/>
+AXISCPP-568<BR/>
+AXISCPP-567<BR/>
+AXISCPP-566<BR/>
+AXISCPP-564<BR/>
+AXISCPP-562<BR/>
+AXISCPP-561<BR/>
+AXISCPP-560<BR/>
+AXISCPP-556<BR/>
+AXISCPP-555<BR/>
+AXISCPP-553<BR/>
+AXISCPP-550<BR/>
+AXISCPP-549<BR/>
+AXISCPP-545<BR/>
+AXISCPP-534<BR/>
+AXISCPP-532<BR/>
+AXISCPP-531<BR/>
+AXISCPP-530<BR/>
+AXISCPP-528<BR/>
+AXISCPP-525<BR/>
+AXISCPP-524<BR/>
+AXISCPP-523<BR/>
+AXISCPP-521<BR/>
+AXISCPP-520<BR/>
+AXISCPP-518<BR/>
+AXISCPP-517<BR/>
+AXISCPP-516<BR/>
+AXISCPP-514<BR/>
+AXISCPP-513<BR/>
+AXISCPP-511<BR/>
+AXISCPP-510<BR/>
+AXISCPP-509<BR/>
+AXISCPP-508<BR/>
+AXISCPP-507<BR/>
+AXISCPP-504<BR/>
+AXISCPP-503<BR/>
+AXISCPP-502<BR/>
+AXISCPP-501<BR/>
+AXISCPP-500<BR/>
+AXISCPP-499<BR/>
+AXISCPP-498<BR/>
+AXISCPP-497<BR/>
+AXISCPP-496<BR/>
+AXISCPP-495<BR/>
+AXISCPP-494<BR/>
+AXISCPP-493<BR/>
+AXISCPP-492<BR/>
+AXISCPP-491<BR/>
+AXISCPP-490<BR/>
+AXISCPP-489<BR/>
+AXISCPP-488<BR/>
+AXISCPP-487<BR/>
+AXISCPP-486<BR/>
+AXISCPP-485<BR/>
+AXISCPP-484<BR/>
+AXISCPP-483<BR/>
+AXISCPP-482<BR/>
+AXISCPP-481<BR/>
+AXISCPP-480<BR/>
+AXISCPP-479<BR/>
+AXISCPP-478<BR/>
+AXISCPP-477<BR/>
+AXISCPP-475<BR/>
+AXISCPP-474<BR/>
+AXISCPP-472<BR/>
+AXISCPP-470<BR/>
+AXISCPP-469<BR/>
+AXISCPP-468<BR/>
+AXISCPP-466<BR/>
+AXISCPP-465<BR/>
+AXISCPP-464<BR/>
+AXISCPP-463<BR/>
+AXISCPP-462<BR/>
+AXISCPP-459<BR/>
+AXISCPP-457<BR/>
+AXISCPP-456<BR/>
+AXISCPP-454<BR/>
+AXISCPP-453<BR/>
+AXISCPP-451<BR/>
+AXISCPP-450<BR/>
+AXISCPP-447<BR/>
+AXISCPP-446<BR/>
+AXISCPP-444<BR/>
+AXISCPP-443<BR/>
+AXISCPP-442<BR/>
+AXISCPP-441<BR/>
+AXISCPP-437<BR/>
+AXISCPP-436<BR/>
+AXISCPP-433<BR/>
+AXISCPP-431<BR/>
+AXISCPP-430<BR/>
+AXISCPP-428<BR/>
+AXISCPP-425<BR/>
+AXISCPP-420<BR/>
+AXISCPP-419<BR/>
+AXISCPP-418<BR/>
+AXISCPP-417<BR/>
+AXISCPP-415<BR/>
+AXISCPP-414<BR/>
+AXISCPP-413<BR/>
+AXISCPP-410<BR/>
+AXISCPP-409<BR/>
+AXISCPP-408<BR/>
+AXISCPP-407<BR/>
+AXISCPP-403<BR/>
+AXISCPP-400<BR/>
+AXISCPP-398<BR/>
+AXISCPP-392<BR/>
+AXISCPP-390<BR/>
+AXISCPP-389<BR/>
+AXISCPP-385<BR/>
+AXISCPP-383<BR/>
+AXISCPP-376<BR/>
+AXISCPP-375<BR/>
+AXISCPP-371<BR/>
+AXISCPP-364<BR/>
+AXISCPP-355<BR/>
+AXISCPP-348<BR/>
+AXISCPP-346<BR/>
+AXISCPP-344<BR/>
+AXISCPP-341<BR/>
+AXISCPP-340<BR/>
+AXISCPP-335<BR/>
+AXISCPP-331<BR/>
+AXISCPP-310<BR/>
+AXISCPP-306<BR/>
+AXISCPP-305<BR/>
+AXISCPP-303<BR/>
+AXISCPP-300<BR/>
+AXISCPP-293<BR/>
+AXISCPP-288<BR/>
+AXISCPP-270<BR/>
+AXISCPP-268<BR/>
+AXISCPP-242<BR/>
+AXISCPP-216<BR/>
+AXISCPP-207<BR/>
+AXISCPP-164</FONT><br/>
 </p>
 
-<h1>The Bug Fixes </h1>
-<p>
-
-AXISCPP-605 <br>
-AXISCPP-602<br>
-AXISCPP-600<br>
-AXISCPP-596<br>
-AXISCPP-594<br>
-AXISCPP-593<br>
-AXISCPP-592<br>
-AXISCPP-591<br>
-AXISCPP-590<br>
-AXISCPP-589<br>
-AXISCPP-587<br>
-AXISCPP-586<br>
-AXISCPP-585<br>
-AXISCPP-584<br>
-AXISCPP-583<br>
-AXISCPP-582<br>
-AXISCPP-581<br>
-AXISCPP-579<br>
-AXISCPP-576<br>
-AXISCPP-575<br>
-AXISCPP-569<br>
-AXISCPP-568<br>
-AXISCPP-567<br>
-AXISCPP-566<br>
-AXISCPP-564<br>
-AXISCPP-562<br>
-AXISCPP-561<br>
-AXISCPP-560<br>
-AXISCPP-556<br>
-AXISCPP-555<br>
-AXISCPP-553<br>
-AXISCPP-550<br>
-AXISCPP-549<br>
-AXISCPP-545<br>
-AXISCPP-534<br>
-AXISCPP-532<br>
-AXISCPP-531<br>
-AXISCPP-530<br>
-AXISCPP-528<br>
-AXISCPP-525<br>
-AXISCPP-524<br>
-AXISCPP-523<br>
-AXISCPP-521<br>
-AXISCPP-520<br>
-AXISCPP-518<br>
-AXISCPP-517<br>
-AXISCPP-516<br>
-AXISCPP-514<br>
-AXISCPP-513<br>
-AXISCPP-511<br>
-AXISCPP-510<br>
-AXISCPP-509<br>
-AXISCPP-508<br>
-AXISCPP-507<br>
-AXISCPP-504<br>
-AXISCPP-503<br>
-AXISCPP-502<br>
-AXISCPP-501<br>
-AXISCPP-500<br>
-AXISCPP-499<br>
-AXISCPP-498<br>
-AXISCPP-497<br>
-AXISCPP-496<br>
-AXISCPP-495<br>
-AXISCPP-494<br>
-AXISCPP-493<br>
-AXISCPP-492<br>
-AXISCPP-491<br>
-AXISCPP-490<br>
-AXISCPP-489<br>
-AXISCPP-488<br>
-AXISCPP-487<br>
-AXISCPP-486<br>
-AXISCPP-485<br>
-AXISCPP-484<br>
-AXISCPP-483<br>
-AXISCPP-482<br>
-AXISCPP-481<br>
-AXISCPP-480<br>
-AXISCPP-479<br>
-AXISCPP-478<br>
-AXISCPP-477<br>
-AXISCPP-475<br>
-AXISCPP-474<br>
-AXISCPP-472<br>
-AXISCPP-470<br>
-AXISCPP-469<br>
-AXISCPP-468<br>
-AXISCPP-466<br>
-AXISCPP-465<br>
-AXISCPP-464<br>
-AXISCPP-463<br>
-AXISCPP-462<br>
-AXISCPP-459<br>
-AXISCPP-457<br>
-AXISCPP-456<br>
-AXISCPP-454<br>
-AXISCPP-453<br>
-AXISCPP-451<br>
-AXISCPP-450<br>
-AXISCPP-447<br>
-AXISCPP-446<br>
-AXISCPP-444<br>
-AXISCPP-443<br>
-AXISCPP-442<br>
-AXISCPP-441<br>
-AXISCPP-437<br>
-AXISCPP-436<br>
-AXISCPP-433<br>
-AXISCPP-431<br>
-AXISCPP-430<br>
-AXISCPP-428<br>
-AXISCPP-425<br>
-AXISCPP-420<br>
-AXISCPP-419<br>
-AXISCPP-418<br>
-AXISCPP-417<br>
-AXISCPP-415<br>
-AXISCPP-414<br>
-AXISCPP-413<br>
-AXISCPP-410<br>
-AXISCPP-409<br>
-AXISCPP-408<br>
-AXISCPP-407<br>
-AXISCPP-403<br>
-AXISCPP-400<br>
-AXISCPP-398<br>
-AXISCPP-392<br>
-AXISCPP-390<br>
-AXISCPP-389<br>
-AXISCPP-385<br>
-AXISCPP-383<br>
-AXISCPP-376<br>
-AXISCPP-375<br>
-AXISCPP-371<br>
-AXISCPP-364<br>
-AXISCPP-355<br>
-AXISCPP-348<br>
-AXISCPP-346<br>
-AXISCPP-344<br>
-AXISCPP-341<br>
-AXISCPP-340<br>
-AXISCPP-335<br>
-AXISCPP-331<br>
-AXISCPP-310<br>
-AXISCPP-306<br>
-AXISCPP-305<br>
-AXISCPP-303<br>
-AXISCPP-300<br>
-AXISCPP-293<br>
-AXISCPP-288<br>
-AXISCPP-270<br>
-AXISCPP-268<br>
-AXISCPP-242<br>
-AXISCPP-216<br>
-AXISCPP-207<br>
-AXISCPP-164<br>
+<H2>Known Issues</H2>
+<P>
+<A name="Known issues"></A>
+<UL>
+	<LI>C support is not complete.</LI>
+	<LI>There are no vc projects for samples</LI>
+</ul>
+</P>
+<br/>We hope you will enjoy using Axis C++. <BR/>
+<BR/>
+Numerous efforts are currently underway to improve Axis C++ as a whole. <BR/>
+We value your feed back very much. <p><BR/>
+Please report any bugs in <a href="http://issues.apache.org/jira/secure/Dashboard.jspa">Jira</a> and feel free to let us know your thoughts and/or problems in <a href="mailto:axis-c-user@ws.apache.org">axis-c-user@ws.apache.org</a> <br/> <br/>
+We welcome contributions to Axis C++ so please join the  discussions in <a href="mailto:axis-c-dev@ws.apache.org">axis-c-dev@ws.apache.org</a>
 </p>
-
-<h1>Known Issues</h1>
-<p>GNU make based build system is not working.<br> <br>
-Out of the two parsers Expat and Xerces, only Xerces is supported. <br> <br>
- C support is not complete.<br> <br>
- There are no vc projects for samples <br> <br>
- Pending bugs in Jira.<br> <br>  
-
-</p>
-
-
-
-
-<br>
- <p>We hope you will enjoy using Axis C++. <br> <br>
- Numerous efforts are currently underway to improve Axis C++ as a whole. Please have a look at the <a href="http://wiki.apache.org/ws/FrontPage/AxisC_2b_2b">TODO page </a> to learn about 1.5 plans for Axis C++. <br> <br>
-We value your feed back very much. </p> <br> 
-<p>Please report any bugs in <a href="http://issues.apache.org/jira/secure/Dashboard.jspa">Jira</a> and feel free to let us know your thoughts and/or problems in <a href="mailto:axis-c-user@ws.apache.org">axis-c-user@ws.apache.org</a> <br> <br>
-We welcome you to contribute to Axis C++ and  please join the  discussions in <a href="mailto:axis-c-dev@ws.apache.org">axis-c-dev@ws.apache.org</a>
-</p>
-
-
-
-
-
-
-
-
 </body>
 </html>
 

Modified: webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/linuser-guide.ihtml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/linuser-guide.ihtml?rev=357701&r1=357700&r2=357701&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/linuser-guide.ihtml (original)
+++ webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/cpp/linuser-guide.ihtml Mon Dec 19 07:02:49 2005
@@ -99,56 +99,8 @@
 
 <p>
 <a name="Introducti"></a>
-</p>
-<div class="h3">
-<h3>Introduction</h3>
-</div>
-<p>Welcome to Axis C++, the opensource c++ implementation of SOAP !</p>
-<p>What is SOAP?&nbsp;</p>
-<p>SOAP is an XML-based communication protocol and encoding format for inter-application communication. Originally conceived by Microsoft and Userland software, it has evolved through several generations and the current spec, SOAP 1.2 is fast growing in popularity and usage. The W3C's XML Protocol working group is in the process of turning SOAP into a true open standard, and as of this writing has released a working draft of SOAP 1.2, which cleans up some of the more confusing areas of the 1.1 spec. SOAP is widely viewed as the backbone to a new generation of cross-platform cross-language distributed computing applications, termed Web Services. What is Axis C++? Axis C++ is essentially a SOAP engine.</p>
-<p>This version is written in C++. Axis C++ SOAP engine adopts most of Axis Java architecture. But it has some major architectural innovations over Axis Java in order to achieve greater performance and efficiency.</p>
-<p>
-<a name="What"></a>
-</p>
-<div class="h3">
-<h3>What's in this release?</h3>
-</div>
-<p>- Soap engine with both client and server support</p>
-<p>- Support for both SOAP 1.1 and SOAP 1.2</p>
-<p>- WSDD based deployment with dynamic deployment tools.</p>
-<p>- Support for all basic types, Complex types and Arrays</p>
-<p>- WSDL2WS tool for building C/C++ components</p>
-<p>- Server side &ndash; Skeletons and Wrappers</p>
-<p>- Client side &ndash; Stubs</p>
-<p>- WSDL2WS tool that generates wrappers, which perform the following functions. These wrappers act as RPC &nbsp; &nbsp;<br> &nbsp;&nbsp; Providers.</p>
-<p>- Serialization</p>
-<p>- Deserialization</p>
-<p>- Method invocation</p>
-<p>- WSDLs hosted statistically in the server.</p>
-<p>- Standalone server (with HTTP support)</p>
-<p>- Web server modules for Apache 1.3 &amp;amp; Apache2 (Linux/Windows)</p>
-<p>- Basic Wrapper Class Generator tool.</p>
-<p>- Web interface to the deployed services and their WSDL s.</p>
-<p>- Sample web services and client applications.</p>
-<p>- Document style web services support<br>
-</p>
-<p>
-<a name="Axis"></a>
-</p>
-<div class="h3">
-<h3>Axis C++ now delivers the following key features</h3>
-</div>
-<p>- Speed: Axis uses SAX (event-based) parsing to acheive significantly greater speed</p>
-<p>- Flexibility</p>
-<p>- Stability , Component oriented Deployment</p>
-<p>- Transport Framework</p>
-<p>- WSDL support</p>
-<p>Axis C++ 1.1 supports the Web Service Description Language, version 1.1, which allows you to easily build stubs to access remote services, and also to automatically export machine-readable descriptions of your deployed services from Axis. We hope you enjoy using Axis c++ 1.1. Please note that this is an open-source effort - if you feel the code could use some new features or fixes, please get involved and lend a hand! The Axis developer community welcomes your participation. Let us know what you think! Please send feedback about the package to <a href="mailto:axis-user@xml.apache.org">axis-user@xml.apache.org</a>
-</p>
-<p>
-<a name="What1"></a>
-</p>
-<p></p>
+</p><div class="h3">
+<h3></h3></div><p></p>
 <div class="h3">
 <h3>Installing Axis and Using this Guide</h3>
 </div>

Modified: webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/site.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/site.xml?rev=357701&r1=357700&r2=357701&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/site.xml (original)
+++ webservices/axis/trunk/site/src/cpp/src/documentation/content/xdocs/site.xml Mon Dec 19 07:02:49 2005
@@ -39,7 +39,7 @@
   <requirements label="Requirements" href="http://ws.apache.org/axis/java/requirements.html"/>
  </axisjava>
  <axiscpp label="Axis (C++)">
-  <axisc label="Latest Axis C++ Release!" href="cpp/index.html"/>
+  <axisc label="Home" href="cpp/index.html"/>
   <documentation label="Documentation" href="cpp/documentation.html"/>
   <download label="Download" href="cpp/download.html"/>
   <wiki label="Wiki Pages" href="http://wiki.apache.org/ws/FrontPage/AxisCPP"/>

Modified: webservices/axis/trunk/site/src/java/src/documentation/content/xdocs/site.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/site/src/java/src/documentation/content/xdocs/site.xml?rev=357701&r1=357700&r2=357701&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/java/src/documentation/content/xdocs/site.xml (original)
+++ webservices/axis/trunk/site/src/java/src/documentation/content/xdocs/site.xml Mon Dec 19 07:02:49 2005
@@ -42,7 +42,7 @@
   <requirements label="Requirements" href="java/requirements.html"/>
  </axisjava>
  <axiscpp label="Axis C++">
-  <axisc label="Latest Axis C++ Release!" href="cpp/index.html"/>
+  <axisc label="Home" href="cpp/index.html"/>
   <documentation label="Documentation" href="cpp/documentation.html"/>
   <download label="Download" href="cpp/download.html"/>
   <wiki label="Wiki Pages" href="http://wiki.apache.org/ws/FrontPage/AxisCPP"/>