You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by da...@apache.org on 2004/05/07 06:29:37 UTC

cvs commit: ws-site/targets/axis/cpp lininstall-guide.html lininstall-guide.pdf linuser-guide.html linuser-guide.pdf

damitha     2004/05/06 21:29:37

  Modified:    targets/axis/cpp lininstall-guide.html lininstall-guide.pdf
                        linuser-guide.html linuser-guide.pdf
  Log:
  
  
  Revision  Changes    Path
  1.12      +11 -14    ws-site/targets/axis/cpp/lininstall-guide.html
  
  Index: lininstall-guide.html
  ===================================================================
  RCS file: /home/cvs/ws-site/targets/axis/cpp/lininstall-guide.html,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- lininstall-guide.html	6 May 2004 10:51:24 -0000	1.11
  +++ lininstall-guide.html	7 May 2004 04:29:37 -0000	1.12
  @@ -322,7 +322,7 @@
   </div>
   <p>We tested with the following</p>
   <ul>
  -<li>Redhat Linux 8.0(2.4.18-14) RedhatLinux9.0(2.4.20-8), Dabian(2.6.3-1-686)(unstable)</li>
  +<li>RedhatLinux9.0(2.4.20-8), Dabian(2.6.3-1-686)(unstable), Redhat Linux8.0(2.4.18-14)</li>
   <li>Apache 1.3 [apache_1.3.27.tar .gz, apache_1.3.28.tar.gz)] (Source), Apache2.0 (source)</li>
   <li>expat [expat-1.95.7.tar.gz](Source)&nbsp;</li>
   </ul>
  @@ -426,12 +426,12 @@
   </p>
   <p>If you are using xercesc parser copy the xercesc include files</p>
   <p>
  -<strong>$ cp -rf &lt;xercescinstdirectory&gt;/include/* $AXISCPP_HOME/include/xercesc/</strong>
  +<strong>$ cp -rf &lt;xercescinstdirectory&gt;/include/xercesc/* $AXISCPP_HOME/include/xercesc/</strong>
   </p>
   <p>
   <strong>$ cd $AXISCPP_HOME</strong>
   </p>
  -<p>The Folder called deploy in the $AXISCPP_HOME/ should be copied to apache root folder .Rename the deploy folder as "Axis" . Give all permissions to this folder.<br>
  +<p>The Folder called deploy in the $AXISCPP_HOME/ should be copied to your place of choice. Rename the deploy folder as "Axis" . Give all permissions to this folder.<br>
   <br>
   <br>
   <strong>$ cp -rf $AXISCPP_HOME/deploy&nbsp; /usr/local</strong>
  @@ -461,7 +461,7 @@
   <p>If you are using expat parser do the following<br>
   </p>
   <p>set <strong>EXPAT_HOME</strong>="&lt;Your expat installation root folder&gt;"</p>
  -<p>set <strong>LD_LIBRARY_PATH="$EXPAT_HOME/lib:AXISCPP_HOME/bin"</strong> (do this in your .bash_profile)<br>
  +<p>set <strong>LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$EXPAT_HOME/lib:$AXISCPP_HOME/bin:$AXIS_HOME"</strong> (do this in your .bash_profile)<br>
   <br>
   <br>
   <strong>cd $AXISCPP_HOME/src/soap</strong>
  @@ -475,10 +475,7 @@
   </p>
   <p>If you are using Xerces-c parser do the following</p>
   <p>set <strong>XERCESC_HOME</strong>="&lt;Your xercesc installation root folder&gt;"</p>
  -<p>set <strong>LD_LIBRARY_PATH="$XERCESC_HOME/lib"</strong> (do this in your .bash_profile)<br>
  -<br>
  -<strong>cp -rf $XERCESC_HOME/include/xercesc/* $AXISCPP_HOME/include/xercesc/</strong>
  -<br>
  +<p>set <strong>LD_LIBRARY_PATH="$XERCESC_HOME/lib:$AXISCPP_HOME/bin:$AXIS_HOME"</strong> (do this in your .bash_profile)<br>
   <br>
   <strong>cd $AXISCPP_HOME/src/soap</strong>
   <br>
  @@ -523,7 +520,7 @@
   <br>
   <br>
   </p>
  -<p>libaxiscpp_mod.so (If you built for apache2 this is libaxiscpp_mod2.so) should have been created in $AXISCPP_HOME/bin directory. Note:- you can give the install path inside the runconfigure script.</p>
  +<p>libaxiscpp_mod.so (If you built for apache2 this is libaxiscpp_mod2.so), libaxiscpp_client.so, libserver_engine.so, libAdminService.so, adminclient, simple-axis_server should have been created in $AXISCPP_HOME/bin directory. Note:- you can give the install path inside the runconfigure script.</p>
   <p>Now there is no need to seperately build client side and server side. When execute build.sh it will lookafter everything.<br>-----------------------------------------------------------------------</p>
   <p>
   <strong>NOTE:</strong> If you use apache2.0 following two small changes has to be done in $AXISCPP_HOME/configure.ac and $AXISCPP_HOME/src/server/Makefile.am)</p>
  @@ -542,9 +539,9 @@
   <br>Then to deploy it on apache<br>
   <br>
   </p>
  -<p>First you need to edit /usr/local/apache/conf/httpd.conf</p>
  +<p>First you need to edit &lt;apache install directory&gt;/conf/httpd.conf</p>
   <p>
  -<strong>$ vi /usr/local/apache/conf/httpd.conf</strong>
  +<strong>$ vi &lt;apache install directory&gt;/conf/httpd.conf</strong>
   </p>
   <p>At the bottom of the file you have to include following lines and save it.</p>
   <p>
  @@ -603,7 +600,7 @@
   <p>
   <strong>$ cd $AXISCPP_HOME</strong>
   </p>
  -<p>The Folder called deploy in the $AXISCPP_HOME/ should be copied to apache root folder .Rename the deploy folder as "Axis" . Give all permissions to this folder.<br>
  +<p>The Folder called deploy in the $AXISCPP_HOME/ should be copied to a folder of your choice .Rename the deploy folder as "Axis" . Give all permissions to this folder.<br>
   <br>
   <br>
   <strong>$ cp -rf $AXISCPP_HOME/deploy&nbsp; /usr/local</strong>
  @@ -637,9 +634,9 @@
   <br>Then to deploy it on apache<br>
   <br>
   </p>
  -<p>First you need to edit /usr/local/apache/conf/httpd.conf</p>
  +<p>First you need to edit &lt;apache install directory&gt;/conf/httpd.conf</p>
   <p>
  -<strong>$ vi /usr/local/apache/conf/httpd.conf</strong>
  +<strong>$ vi &lt;apache install directory&gt;/conf/httpd.conf</strong>
   </p>
   <p>At the bottom of the file you have to include following lines and save it.</p>
   <p>
  
  
  
  1.11      +174 -180  ws-site/targets/axis/cpp/lininstall-guide.pdf
  
  	<<Binary file>>
  
  
  1.10      +131 -12   ws-site/targets/axis/cpp/linuser-guide.html
  
  Index: linuser-guide.html
  ===================================================================
  RCS file: /home/cvs/ws-site/targets/axis/cpp/linuser-guide.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- linuser-guide.html	6 May 2004 11:12:09 -0000	1.9
  +++ linuser-guide.html	7 May 2004 04:29:37 -0000	1.10
  @@ -298,6 +298,9 @@
   </dd>
   <dd>
   <a href="#scls">Building Client Side for provided Samples</a>
  +</dd>
  +<dd>
  +<a href="#handlers">Handlers</a>
   <br>
   </dd>
   <dd>
  @@ -367,7 +370,7 @@
   <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 with following functionalities.</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>
  @@ -378,8 +381,7 @@
   <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 than earlier versions of Apache</p>
  -<p>SOAP.</p>
  +<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>
  @@ -465,7 +467,7 @@
   <p>
   <strong>$cp -f wsdl2ws.jar $AXISCPP_HOME/lib/axis</strong>
   </p>
  -<p>add this jar to the classpath as well.</p>
  +<p>add this jar to the classpath as well.(In the binary distribution you don't need to create this jar. It is already in $AXISCPP_HOME/lib/axis)</p>
   <p>
   <a name="Server"></a>
   </p>
  @@ -501,12 +503,12 @@
   <div class="h3">
   <h3>Deploying the Service</h3>
   </div>
  -<p>The Folder called deploy in the <strong>$AXISCPP_HOME/</strong> should be copied to apache root folder .Rename the deploy folder as <strong>"Axis"</strong> . Give all permissions to this folder.</p>
  +<p>The Folder called deploy in the <strong>$AXISCPP_HOME/</strong> should be copied to a folder of your choice .Rename the deploy folder as <strong>"Axis"</strong> . Give all permissions to this folder.</p>
   <p>
  -<strong>$ cp &ndash;rf $AXISCPP_HOME/deploy /usr/local/apache</strong>
  +<strong>$ cp &ndash;rf $AXISCPP_HOME/deploy /usr/local</strong>
   </p>
   <p>
  -<strong>$ cd /usr/local/apache</strong>
  +<strong>$ cd /usr/local</strong>
   </p>
   <p>
   <strong>$ mv deploy Axis</strong>
  @@ -516,7 +518,7 @@
   </p>
   <p>Now set the environment variable <strong>AXIS_HOME</strong> pointing to this directory.</p>
   <p>
  -<strong>AXIS_HOME="/usr/local/apache/Axis"</strong>
  +<strong>AXIS_HOME="/usr/local/Axis"</strong>
   </p>
   <p>Note that inside $AXIS_HOME directory there are files called axiscpp.conf_linux and axiscpp.conf_win. Rename axiscpp.conf_linux to axiscpp.conf.&nbsp; Make sure that it has read permissions. This file contains key, value pairs of paths used by the Axis Soap Engine. You can change the WSDDFILEPATH and AXISLOGPATH inside this file according to your choice.</p>
   <p>$ <strong>cd</strong> <strong>$AXISCPP_HOME/samples/server<br>$ sh build.sh<br>
  @@ -535,7 +537,7 @@
   <br> 
   <strong>&lt;service&gt;</strong>
   <br> 
  -<strong>&lt;service name ="Calculator" provider ="CPP:RPC" description:"Simple calculator web service"&gt; &lt;parameter name="classname" &nbsp;value = "/usr/local/apache/Axis/webservices/libcalculator.so" /&gt;</strong>
  +<strong>&lt;service name ="Calculator" provider ="CPP:RPC" description:"Simple calculator web service"&gt; &lt;parameter name="classname" &nbsp;value = "/usr/local/Axis/webservices/libcalculator.so" /&gt;</strong>
   </p>
   <p>
   <strong>&lt;parameter name= "allowedMethods" value="add sub mul div "/&gt; &lt;/service&gt;</strong>
  @@ -544,8 +546,6 @@
   <p>
   <strong>&lt;/deployment&gt;</strong>
   </p>
  -<p>You have to rename the relevant server.wsdd to match with the Apache version that you are using.&nbsp;<br>
  -</p>
   <p>Start the Apache server</p>
   <p>
   <strong>$ /usr/local/apache/bin/apachectl start</strong>
  @@ -656,6 +656,9 @@
   </p>
   <strong>Restart Apache</strong>
   <br>
  +<p>
  +<a name="scls"></a>
  +</p>
   <br>
   <div class="h3">
   <h3>Building Client Side of the provided samples</h3>
  @@ -683,7 +686,7 @@
   <strong>$ sh build.sh</strong>
   <br>
   <br>
  -<p>sample executables will be created in your current folder.<br>to run the samples for example</p>
  +<p>sample executables will be created in your current folder.<br>to run samples one by one</p>
   <p>
   <strong><strong>$ ./base localhost 80 &nbsp;</strong></strong>
   </p>
  @@ -692,12 +695,128 @@
   <br>
   </strong></strong>
   </p>
  +<p>to run all the samples at once<br>sh run_interoptests.sh (Note: local host and port 80 is assumed)</p>
   <p>
   <strong></strong>
   </p>
   <br>
   <p>
   <strong><strong></strong></strong>
  +</p>
  +<p>
  +<a name="handlers"></a>
  +</p>
  +<div class="h3">
  +<h3>Handlers</h3>
  +</div>
  +<p>Handlers are pluggable components to Axis C++. We have included a set of sample handlers for your reference. You could write your own handlers by following the instructions which are given for the sample Handlers.</p>
  +<p>Note: If you are using Client side Handlers you need to enter the following entry in the AXIS_HOME/axiscpp.conf configuration file.</p>
  +<p>CLIENTWSDDFILEPATH:Axis\conf\client.wsdd</p>
  +<p>After entering this entry your AXIS_HOME/axiscpp.conf configuration file will look like:</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp;AXISLOGPATH:Axis\logs\AxisLog.txt</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp;WSDDFILEPATH:Axis\conf\server.wsdd</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp;CLIENTWSDDFILEPATH:Axis\conf\client.wsdd</p>
  +<br>
  +<p>
  +<strong><strong>Testing the sample Handlers</strong></strong>
  +</p>
  +<p>We have included the following sample Handlers for your reference.</p>
  +<p>1) echoStringHeaderHandler (A server side handler sample)</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp;This sample handler will simply echo (i.e send back) the string which you send in the SOAP request.</p>
  +<p>2) testHandler (A client side handler sample)</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp;This sample handler will simply add a SOAP Header to the generated SOAP request.</p>
  +<br>
  +<p>Please note that these are very primitive sample handlers and are presented here to give you an idea about writing your own Handlers.</p>
  +<br>
  +<p>
  +<strong><strong>echoStringHeaderHandler</strong></strong>
  +</p>
  +<p>
  +<strong><strong>Building the Sample Handlers in RedHat linux</strong></strong>
  +</p>
  +<br>
  +<p>
  +<strong><strong>Building echoStringHeaderHandler (A server side handler sample)</strong></strong>
  +</p>
  +<p>The build files are available at AXISCPP_HOME/samples/server/echoStringHeaderHandler. Change your current directory to this direcotory and then you could execute the following.</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp; sh autogen.sh</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp; sh runconfig</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp; make</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp; make install</p>
  +<p>The handler so file will be created at $AXIS_HOME/handlers/custom/echoStringHeaderHandler.</p>
  +<p>
  +<strong><strong>Configuring the Handler</strong></strong>
  +</p>
  +<p>Now edit the AXIS_HOME/conf/server.wsdd to include the handler for a particular service.</p>
  +<br>
  +<p>&lt;service name="Calculator" provider="CPP:RPC" description="Simple Calculator Axis C++ Service "&gt;</p>
  +<p>&lt;requestFlow name="CalculatorHandlers"&gt;</p>
  +<p>&lt;handler name="ESHHandler" type="AXIS_HOME/handlers/custom/echoStringHeaderHandler/libeshhandler.so"&gt;</p>
  +<p>&lt;/handler&gt;</p>
  +<p>&lt;/requestFlow&gt;</p>
  +<p>&lt;responseFlow name="CalculatorHandlers"&gt;</p>
  +<p>&lt;handler name="ESHHandler" type="AXIS_HOME/handlers/custom/echoStringHeaderHandler/libeshhandler.so"&gt;</p>
  +<p>&lt;/handler&gt;</p>
  +<p>&lt;/responseFlow&gt;</p>
  +<p>&lt;parameter name="allowedMethods" value="add sub mul div "/&gt;</p>
  +<p>&lt;parameter name="className" value="Axis\webservices\Calculator.dll" /&gt;</p>
  +<p>&lt;/service&gt;</p>
  +<br>
  +<p>Note: Make sure you specify the correct path of the handler so in the server.wsdd file. Replace the AXIS_HOME with the exact relative path which AXIS_HOME points to. (eg: type="/usr/local/apache2/Axis/handlers/custom/echoStringHeaderHandler/libeshhandler.so )</p>
  +<p>Now you are almost done to run your server side handler.</p>
  +<p>Restart the Apache server and that is it.</p>
  +<p>
  +<strong><strong>Running the Handler</strong></strong>
  +</p>
  +<p>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.</p>
  +<br>
  +<p>
  +<strong><strong>testHandler</strong></strong>
  +</p>
  +<p>
  +<strong><strong>Building the Sample Handlers in RedHat linux</strong></strong>
  +</p>
  +<br>
  +<p>
  +<strong><strong>Building testHandler (A client side handler sample)</strong></strong>
  +</p>
  +<p>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.</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp; sh autogen.sh</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp; sh runconfig</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp; make</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp; make install</p>
  +<p>The handler so file will be created at $AXIS_HOME/handlers/client/test_handler.</p>
  +<p>
  +<strong><strong>Configuring the Handler</strong></strong>
  +</p>
  +<p>Now edit the AXIS_HOME/conf/client.wsdd to include the handler for a particular service.</p>
  +<br>
  +<p>&lt;service name="Calculator" provider="CPP:DOCUMENT" description="Calculator web service"&gt;</p>
  +<p>&lt;requestFlow name="CalculatorHandlers"&gt;</p>
  +<p>&lt;handler name="TestHandler" type="AXIS_HOME/handlers/client/test_handler/libtest_client_handler.so"&gt;</p>
  +<p>&lt;/handler&gt;</p>
  +<p>&lt;/requestFlow&gt;</p>
  +<p>&lt;/service&gt;</p>
  +<br>
  +<p>Note: Make sure you specify the correct path of the handler so in the client.wsdd file. Replace the AXIS_HOME with the exact relative path which AXIS_HOME points to. (eg: type="/usr/local/apache2/Axis/handlers/client/test_handler/libtest_client_handler.so)</p>
  +<p>Now you are almost done to run your client side handler.</p>
  +<p>Note: If you are using Client side Handlers you need to enter the CLIENTWSDDFILEPATH entry in the AXIS_HOME/axiscpp.conf configuration file. (See above)</p>
  +<p>
  +<strong><strong>Running the Handler</strong></strong>
  +</p>
  +<p>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_HOME/samples/client/simple/calculator)</p>
  +<br>
  +<p>
  +<strong><strong>Handler Notes:</strong></strong>
  +</p>
  +<p>1) You can see the Handler behavior through the TCP Monitor. (TCP Monitor is a Axis Java tool)</p>
  +<p>2) To get an idea of Handlers look at the Handler sample source files.</p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp; a. echoStringHeaderHandler (AXISCPP_HOME/samples/server/echoStringHeaderHandler)</p>
  +<p></p>
  +<p>&nbsp;&nbsp;&nbsp;&nbsp; b. testHandler (AXISCPP_HOME/samples/client/testHandler)</p>
  +<p>
  +<br>
  +<br>
   </p>
   <p>
   <strong><strong><a name="Getting"></a></strong></strong>
  
  
  
  1.10      +307 -221  ws-site/targets/axis/cpp/linuser-guide.pdf
  
  	<<Binary file>>