Windows Installation guide for Axis C++ (Alpha Release)

This document contains how to use the binary distribution of Axis C++. These binaries have been tested on following Microsoft platforms,
Windows 2000 Professional
Windows XP 2002 Professional

Contents

What binary distribution contains
Installation with Apache 1.3.x/2.x web servers
Installation with Simple Axis Server
Running provided samples
Using Visual C++ to play with provided samples.
Writing your web services and client applications using Axis C++.

What binary distribution contains

1. There is a folder called "binary".

2. In side this there are several folders named as follows,
-> bin
-> deploy
-> docs
-> include
-> lib
-> samples

3. The folder "bin" contains following executables and dll's
Executables
-> AdminClient.exe (soap client to Deploy or Undeploy a web service)
-> base.exe (soap client for Interop base tests)
-> groupB.exe (soap client for Interop groupB tests)
-> wcg.exe (wrapper class generation tool)
-> SimpleAxisServer.exe (axis with a simple http server)

DLL's
-> mod_axis.dll (axis module for apache 1.3.x http server)
-> mod_axis2.dll (axis module for apache 2.X http server)

4. In side the "deploy" folder follwing sub folders are exists
-> conf - This includes the server.wsdd, which contains service names and methods.
-> handlers - This includes following DLL's,
- loghandler.dll(sample handler for logging number of requests)
- testhandler1.dll(sample global handler)
- testhandler2.dll(sample transport handler)

-> libs - Contains following dll which are needed by axis.
- xerces-c_2_2_0.dll

-> logs - Log file used by loghandler handler
- LogAccessCountFile

-> webservices -
- interopbase.dll (interop base test web service)
- interopGroupB.dll (interop groupb test web service)
- webservicedeployer.dll (web service for deploying web services in axis)

-> wsdl - Contains the wsdl files used for interop testing.
- InteropBase
- InteropGroupB
5. The "include" folder contains all the include files which are necessary for this binary to work.
6. "lib" folder contains all the lib files for xercess-c and axisjava.
7. "samples" folder contains all the server and client samples for interop tests.

Installation with Apache 1.3.X/2.X web server

STEPS:

1. Install the apache web server and locate the installation folder.
(For the defalt 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). Let say this folder to be APACHE_FOLDER.

2. Unzip axis-c-alpha-win32.zip to a folder of your choice. Say this folder AXIS_EXTRACT.

3. Inside the extracted folder AXIS_EXTRACT you have a sub folder called deploy. Copy whole deploy folder to APACHE_FOLDER.

4. Rename copied "deploy" folder to "Axis". Lets say this folder to be AXIS_FOLDER.

5. Set environment variable AXIS_HOME to point to above folder.

6. Add AXIS_FOLDER/libs to the PATH environment variable.

7. Edit Apache configuration file httpd.conf located in APACHE_FOLDER/conf and add following lines at the end.

LoadModule axis_module modules/AXISMODULE
<Location /axis>
SetHandler axis
</Location>

Where AXISMODULE is either mod_axis.dll for apache 1.3.X or mod_axis2.dll for apache 2.X.

8. Copy AXISMODULE from the AXIS_EXTRACT/bin folder to APACHE_FOLDER/modules folder.

9. Open the AXIS_FOLDER/axiscpp.conf for editing. The contents of the file will look as follows.


AXISLOGPATH:XXXX

WSDDFILEPATH:YYYY

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. Give the appropriate values for XXXX and YYYY as follows.

i.e.

AXISLOGPATH: [APACHE_HOME]\Axis\logs\AxisLog

WSDDFILEPATH: [APACHE_HOME]\Axis\conf\WSDDFILE

Where WSDDFILE is [APACHE_HOME]\Axis\conf\server.wsdd for Apache 1.3 and [APACHE_HOME]\Axis\conf\server2.wsdd for Apache 2.

10. Restart apache web server. If you have done correctly apache server should start without giving any error.

apache 1.3.X :
It is recommended that apache 1.3.X be started as "apache -k start" on the command line
apache 2.X
While testing the apache 2 module a problem was noted with the apache 2 web server, in that the webserver takes up about 98% of CPU time and the server does not even serve the startup page. The workaround for this is to start the apache web server as "apache -X" to make it run single threaded. While this is sufficient to test the apache 2 module this problem needs to be investigated further.

11. Open a internet browser and check http://localhost/axis. If the module has loaded properly then you should get the axis welcome page with a listing of deployed web services.

Installation with Simple Axis Server

(For the Alpha release we recommend installing Axis with the Apache web server. The simple Axis Server is still under development and presented here for testing purposes.)


STEPS:

1. Create a folder of your choice. We will call this folder as SIMPLE_AXIS_SERVER_FOLDER.

2. Unzip axis-c-alpha-win32.zip to a folder of your choice. Say this folder AXIS_EXTRACT.

3. Inside the extracted folder AXIS_EXTRACT you have a sub folder called deploy. Copy whole deploy folder to SIMPLE_AXIS_SERVER_FOLDER.

4. Rename copied "deploy" folder to "Axis". Lets say this folder to be AXIS_FOLDER.

5. Set environment variable AXIS_HOME to point to above folder.

6. Copy the exe SimpleAxisServer.exe from AXIS_EXTRACT/bin to the SIMPLE_AXIS_SERVER_FOLDER.

7. Copy the content of AXIS_FOLDER/libs to the SIMPLE_AXIS_SERVER_FOLDER.

8. Start the SimpleAxisServer by providing the port to which operate. (eg: c:\SimpleAxisServer>SimpleAxisServer 80)

Running provided samples

If Axis installation is a complete success, following sample web services and handlers have already been installed successfully.

1. InteropBase service

 2. InteropGroupB service

You can run the provided client programs to confirm whether they are working fine. The two corresponding client applications are located in your AXIS_EXTRACT/bin as base.exe and groupB.exe. To run this sample client applications you need to have the path to xerces-c_2_2_0.dll in the "DLLPATH" environment variable or xerces-c_2_2_0.dll should be placed where the apache.exe is. Note: These sample clients are compiled with assumption that server is running at localhost port 80.

Using Visual C++ to play with provided samples.

In your AXIS_EXTRACT/samples folder you have the samples. If you are using Visual C++ you can open the workspace file AXIS_EXTRACT/samples/projects/vc6/interoptests/interoptests.dsw. There are four projects in the workspace. Out of them "base" and "GroupB" are client applications and other two are web services.

Writing your web services and client applications using Axis C++.

For writing your own web services and client applications see the windows user guide.