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

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

roshan      2004/07/05 22:28:06

  Modified:    targets/axis/cpp winuser-guide.pdf winuser-guide.html
  Log:
  Corrected the word AxisXMLParse.dll to AxisXMLParser.dll in the Windows User Guide and also made it more user friendly.Changed by Rangika.
  
  Revision  Changes    Path
  1.18      +78 -78    ws-site/targets/axis/cpp/winuser-guide.pdf
  
  	<<Binary file>>
  
  
  1.19      +38 -18    ws-site/targets/axis/cpp/winuser-guide.html
  
  Index: winuser-guide.html
  ===================================================================
  RCS file: /home/cvs/ws-site/targets/axis/cpp/winuser-guide.html,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- winuser-guide.html	17 Jun 2004 04:37:19 -0000	1.18
  +++ winuser-guide.html	6 Jul 2004 05:28:06 -0000	1.19
  @@ -172,7 +172,7 @@
   </div>
     
   <div class="menuItem">
  -<a href="../cpp/documentation.html">Documenation</a>
  +<a href="../cpp/documentation.html">Documentation</a>
   </div>
     
   <div class="menuItem">
  @@ -290,9 +290,11 @@
   <a href="#handlers">Handlers</a>
   <br>
   <br> 
  -<strong>Before you follow this guide, make sure that you have followed the</strong> <a href="wininstall-guide.html"><strong>Windows Installation guide</strong></a>
  +<strong>Before you follow this guide, please make sure that you have followed the</strong> <a href="wininstall-guide.html"><strong>Windows Installation guide</strong></a>
   </p>
  -<p>Definitions:<br>AXIS_EXTRACT -&gt; The folder to which the Axis c++ binary distribution is extracted<br>AXIS_FOLDER -&gt; The deploy folder from the binary distribution copied to the apache installation</p>
  +<p>
  +<strong>Definitions:</strong>
  +<br>AXIS_EXTRACT -&gt; The folder to which the Axis c++ binary distribution is extracted<br>AXIS_FOLDER -&gt; The deploy folder of the binary distribution which is copied to the apache installation</p>
   <p>
   <a name="create"></a>
   </p>
  @@ -304,7 +306,21 @@
   <br>Here we discuss the first approach since the tool to support Method 2 (i.e wcg.exe) is in a primitive and frozen state.<br>Here the document is written with the idea that the user uses Visual C++ (VC). But the user could use this guide with a different IDE of his choice.<br>
   <br>
   <strong>Method 1</strong>
  -<br>This method assums that the user has written the wsdl of the service which he needs to deploy. In this method user will start with this wsdl and the tool will generate the web service skeleton and other required files.<br>1) There is a folder called "simple" inside the samples/server folder in your axiscpp binary distribution. Inside this you can find the relevant wsdl for the calculator sample .Get the wsdl (eg:<a href="../sample/server/simple/Calculator.wsdl">Calculator.wsdl</a>)<br>2) Run the WSDL2WS tool (refer the section below 'How to use the WSDL2WS tool on the command line') and generate the server side skeletons and wrappers. These files will be in two new folders which are generated from the tool called 'ServerOut' and 'ClientOut'.<br>3) Create a VC workspace.<br>4) Create a 'Win32 Static Library' project in this workspace.<br>5) Add the following files to this project, from the generated 'ServerOut' folder. Calculator.cpp Calculator.h<br>6) Set the include path to the include directory of the binary distribution (These include files are in AXIS_EXTRACT/include/).<br>7) Fill the empty methods of the generated skeletons.<br>8) Generate the lib (eg: MyCalculator.lib)<br>9) Now create a 'Win32 Dynamic-Link Library' project.<br>10) Add the following files to this project, from the generated 'ServerOut' folder. CalculatorService.cpp CalculatorWrapper.cpp CalculatorWrapper.h<br>11) Set the include path to the include directory of the binary distribution.<br>12) Add the above created lib (Calculator.lib) as the input libraries of this project.<br>13) Build and create the DLL. (Calculator.dll)</p>
  +<br>
  +<br>This method assumes that the user has written the wsdl of the service which he needs to deploy. In this method user will start with this wsdl and the tool will generate the web service skeleton and other required files.<br>
  +<br>1) There is a folder called "simple" inside the samples/server folder in your axiscpp binary distribution. Inside this you can find the relevant wsdl for the calculator sample. Get the wsdl (eg:<a href="../sample/server/simple/Calculator.wsdl">Calculator.wsdl</a>)<br>
  +<br>2) Run the WSDL2WS tool (refer the section below 'How to use the WSDL2WS tool on the command line') and generate the server side skeletons and wrappers. These files will be in two new folders which are generated from the tool called 'ServerOut' and 'ClientOut'.<br>
  +<br>3) Create a VC workspace.<br>
  +<br>4) Create a 'Win32 Static Library' project in this workspace.<br>
  +<br>5) From the generated 'ServerOut'folder, add the following files to this project.<br> Calculator.cpp Calculator.h<br>
  +<br>6) Set the include path to the include directory of the binary distribution (These include files are in AXIS_EXTRACT/include/).<br>
  +<br>7) Fill the empty methods of the generated skeletons.<br>
  +<br>8) Generate the lib (eg: MyCalculator.lib)<br>
  +<br>9) Now create a 'Win32 Dynamic-Link Library' project.<br>
  +<br>10) From the generated 'ServerOut'folder,add the following files to this project.<br> CalculatorService.cpp, CalculatorWrapper.cpp and CalculatorWrapper.h<br>
  +<br>11) Set the include path to the include directory of the binary distribution.<br>
  +<br>12) Add the above created lib (Calculator.lib) as the input library of this project.<br>
  +<br>13) Build and create the DLL. (Calculator.dll)</p>
   <p>
   <a name="wsdl2ws"></a>
   </p>
  @@ -312,12 +328,13 @@
   <h4>How to use the WSDL2WS tool on the command line</h4>
   </div>
   <br>
  -<p>For using WSDL2Ws java tool on the command line you require jdk1.4 or above.<br>
  -<br>To use WSDL2Ws java tool you should set the CLASSPATH Environment Variable to point to the following jar files in AXIS_EXTRACT\lib\axisjava.<br>
  -<br>axis.jar<br>commons-discovery.jar<br>commons-logging.jar<br>jaxrpc.jar<br>saaj.jar<br>wsdl4j.jar<br>xml-apis.jar<br>The CLASSPATH Environment Variable should have the absolute paths of the jars (including the jar file name) given as a semicolon separated list.<br>
  +<p>To use WSDL2Ws java tool on the command line you require jdk1.4 or above.<br>
  +<br>To use WSDL2Ws java tool you have to set the CLASSPATH Environment Variable to point to the following jar files in AXIS_EXTRACT\lib\axisjava.<br>
  +<br>axis.jar<br>commons-discovery.jar<br>commons-logging.jar<br>jaxrpc.jar<br>saaj.jar<br>wsdl4j.jar<br>xml-apis.jar<br>
  +<br>The CLASSPATH Environment Variable should have the absolute paths of the jars (including the jar file name) given as a semicolon separated list.<br>
   <br>
   <br>Open a command window. Change directory to AXIS_EXTRACT\lib\axis. Create a folder of your choice and we will call this folder as WSDL2WS_FOLDER.<br>
  -<br>Now copy the wsdl file (eg.Calculator.wsdl) which you use to the folder WSDL2WS_FOLDER.<br>Copy the file wsdl2ws.jar from AXIS_EXTRACT\lib\axis to WSDL2WS_FOLDER<br>Now change the directory to WSDL2WS_FOLDER and run the following command to generate the server side skeletons and wrappers.<br>
  +<br>Now copy the wsdl file (eg.Calculator.wsdl) which you use, to the folder WSDL2WS_FOLDER.<br>Copy the file wsdl2ws.jar from AXIS_EXTRACT\lib\axis to WSDL2WS_FOLDER<br>Then change the directory to WSDL2WS_FOLDER and run the following command to generate the server side skeletons and wrappers.<br>
   <br>Java -classpath %classpath%;.\wsdl2ws.jar org.apache.axis.wsdl.wsdl2ws.WSDL2Ws Calculator.wsdl -o./ServerOut -lc++ -sserver<br>
   <br>If the file generation is successful the tool will display the files that it has generated. The skeletons and wrappers will be generated in [WSDL2WS_FOLDER]\ServerOut.<br>
   <br>Run the following command to generate the client stubs.<br>
  @@ -330,8 +347,9 @@
   <h4>Deploying your web service</h4>
   </div>
   <br>
  -<p>Axis cpp user can use the AdminClient tool to deploy a service or manually deploy. The first section shows you how to deploy your Web Service manually, without using the AdminClient tool.<br>Say the apache installation folder is APACHE_FOLDER.<br>(For the default installation this is "C:\Program Files\Apache Group\Apache" for apache 1.3.X and "C:\Program Files\Apache Group\Apache2" for apache 2.X).<br>
  -<br>1) Copy the above Calculator.dll to the folder APACHE_FOLDER/Axis/webservices.<br>2) Go and add the following in the server.wsdd at the service level. Make sure you add these lines at the correct place, i.e at service level. (APACHE_FOLDER/Axis/conf/server.wsdd)<br>
  +<p>Axis cpp user can use the AdminClient tool to deploy a service or can manually deploy. The first section shows you how to deploy your Web Service manually, without using the AdminClient tool.<br>
  +<br>Lets say that the apache installation folder is APACHE_FOLDER.<br>(The default installation that is for apache 1.3.X the path is "C:\Program Files\Apache Group\Apache" and for apache 2.X the path is "C:\Program Files\Apache Group\Apache2")<br>
  +<br>1) Copy the above Calculator.dll to the folder APACHE_FOLDER/Axis/webservices.<br>2) Add the following to the server.wsdd at the service level. Please make sure you add these lines at the correct place, i.e at service level. (APACHE_FOLDER/Axis/conf/server.wsdd)<br>
   <br>&lt;service name="Calculator" provider="CPP:RPC" description="Calculator Web Service"&gt;<br>&lt;parameter name="className" value="APACHE_FOLDER\Axis\webservices\Calculator.dll"/&gt;<br>&lt;parameter name="allowedMethods" value="add subtract "/&gt;<br>&lt;/service&gt;<br>
   <br>Now you have deployed your web service</p>
   <p>
  @@ -340,7 +358,7 @@
   <div class="h4">
   <h4>Deploying your web service Using AdminClient Tool</h4>
   </div>
  -<p>The wsdl2ws Tool generates the deploy.wsdd and the undeploy.wsdd files needed for the AdminClient. Once we have these files, we have to deploy the web service (in this case the calculator service) with the AdminClient. We do this with the AdminClient.exe which comes with axiscpp binary distribution. A typical invocation of the AdminClient looks like this.</p>
  +<p>The wsdl2ws Tool generates the deploy.wsdd and the undeploy.wsdd files which are needed for the AdminClient. Once we have these files, we have to deploy the web service (in this case the calculator service) with the AdminClient. We do this with the AdminClient.exe which comes with axiscpp binary distribution. A typical invocation of the AdminClient looks like this.</p>
   <p>
   <strong>AdminClient &lt;server&gt; &lt;Port&gt; &lt;wsddfile&gt;</strong>
   </p>
  @@ -355,9 +373,10 @@
   <h4>Coding the client</h4>
   </div>
   <br>
  -<p>With the WSDL2WS tool you have almost developed your client. What you have to do next is write a file which has a main method and create an object of the stub and invoke your methods on that.<br>1) Create a vc workspace.<br>2) Create a 'Win32 Console Application'.<br>3) Add files to this project from the above generated 'ClientOut' folder.<br>4) Set the include path to the include directory of the binary distribution.<br>5) Add the following libs to the library modules path of this project.<br>
  +<p>With the WSDL2WS tool you have almost developed your client. What you have to do next is write a file which has a main method and create an object of the stub and invoke your methods on that.<br>
  +<br>1) Create a vc workspace.<br>2) Create a 'Win32 Console Application'.<br>3) Add files to this project from the above generated 'ClientOut' folder.<br>4) Set the include path to the include directory of the binary distribution.<br>5) Add the following libs to the library modules path of this project.<br>
   <br>AXIS_EXTRACT/lib/axis/<br>Axisclient.lib<br>
  -<br>6) Create a file with the main method which looks similar to the following and add this file to this project.<br>
  +<br>6) Create a file with a main method which looks similar to the following and add this file to this project.<br>
   </p>
   <pre>#include "Calculator.h"
   int main()
  @@ -386,11 +405,12 @@
   <div class="h4">
   <h4>Transport Library and Parser Library</h4>
   </div>
  -<p>AxisTransport.dll (Which can be found at AXIS_EXTRACT/bin) should be placed in the path, and be specified as the value to the key "Transport_http" in axiscpp.conf (AXIS_FOLDER/axiscpp.conf) Or in the same place as the client.exe.</p>
  -<p>AxisXMLParser.dll ( Either one of AxisXMLParser_Expat.dll or AxisXMLParser_Xerces.dll should be renamed to AxisXMLParse.dll depending on which parser you want to user) should be placed in the path and given specified as the value to the key XMLParser in axiscpp.conf Or in the same place as the client.exe.<br>If you choose to use Expat parser the dll, libexpat.dll should be in the path.<br>If you choose to use the Xerces parser the dll, xerces-c_2_2_0.dll should be in the path.<br>
  +<p>AxisTransport.dll (Which can be found at AXIS_EXTRACT/bin) should be placed in the path, and should be specified as the value to the key "Transport_http" in axiscpp.conf (AXIS_FOLDER/axiscpp.conf) Or in the same place as the client.exe.</p>
  +<p>Rename either AxisXMLParser_Expat.dll or AxisXMLParser_Xerces.dll to AxisXMLParser.dll (depending on the parser you use), and give the path of the AxisXMLParser.dll as the value of the key XMLParser in axiscpp.conf Or in the same place as the client.exe.<br>If you want to use Expat parser then libexpat.dll should be given in the path.<br>If you want to use the Xerces parser then xerces-c_2_2_0.dll should be given in the path.<br>
   </p>
   <p>
   <strong>Axiscpp.conf file contains the following paths</strong>
  +<br>
   <br>LogPath:XXXX<br>WSDDFilePath:YYYY<br>Transport_http:ZZZZ (Not necessary)<br>XMLParser:WWWW<br>
   <br>Where XXXX will be the path to a file named AxisLog (The log file)and YYYY will be the path to the server.wsdd file.<br>
   <br>i.e.<br>LogPath:[APACHE_HOME]\Axis\logs\AxisLog.log<br>WSDDFilePath:[APACHE_HOME]\Axis\conf\server.wsdd<br>Transport_http:[APACHE_HOME]\Axis\libs\AxisTransport_D.dll<br>XMLParser:[APACHE_HOME]\Axis\libs\AxisXMLParser_D.dll<br>
  @@ -403,7 +423,7 @@
   </div>
   <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.</p>
   <p>
  -<strong>Note: If you are using Client side Handlers you need to enter the following entry in the AXIS_FOLDER/axiscpp.conf configuration file.</strong>
  +<strong>Note: If you are using Client side Handlers you need to enter the following entry to the AXIS_FOLDER/axiscpp.conf configuration file.</strong>
   </p>
   <p>ClientWSDDFilePath:Axis\conf\client.wsdd</p>
   <p>After entering this entry to your AXIS_FOLDER/axiscpp.conf configuration file will look like:</p>
  @@ -431,7 +451,7 @@
   <p>
   <strong>Note: Make sure you specify the correct path of the handler dll in the server.wsdd file.</strong>
   </p>
  -<p>Now you are almost done to run your server side handler.<br>Restart the Apache server and thats it.</p>
  +<p>Now you are almost done to run your server side handler.<br>Restart the Apache server.</p>
   <br>
   <br>
   <strong>Running the Handler</strong>
  @@ -484,7 +504,7 @@
   <td colspan="2">
   <div align="center">
   <div class="copyright">
  -              Copyright &copy; 2000-2003&nbsp;The Apache Software Foundation. All rights reserved.
  +              Copyright &copy; 2000-2004&nbsp;The Apache Software Foundation. All rights reserved.
               </div>
   </div>
   </td>