The release comes in two forms, source and binary. | |
To get both the binary and source distribution, you need libxml2 from http://xmlsoft.org/downloads.html | |
(NOTE: most Linux systems has libxml2 by default. On Windows you need to download and install libxml2) | |
Table of Contents | |
================= | |
1. Getting Axis2C working with the binary release on Linux | |
2. Getting Axis2C working with the source release on Linux | |
3. Getting Axis2C working with the binary release on Windows (win32) | |
3.1 Requirements | |
3.2 Binaries in the release | |
3.3 Running the binaries | |
4. Getting Axis2c working with the source release on Windows (win32) | |
4.1 Requirements | |
4.2 Editing Configure.in file | |
4.3 Compiling the source | |
4.4 Running the binaries | |
5. Installing Apache2 Web Server integration module (mod_axis2) | |
1. Getting Axis2C working with the binary release on Linux. | |
========================================================== | |
1. Extract the binary tar package to a folder. | |
Set AXIS2C_HOME environment variable pointing to the location where you have extracted Axis2C | |
AXIS2C_HOME='/your_path_to_axis2c' | |
export AXIS2C_HOME | |
Note: You will need to set AXIS2C_HOME only if you need to run axis2c samples or tests. The | |
reason is that from sample and test codes it used AXIS2C_HOME to get path to axis2c. To write | |
your own services or clients this is not a requirement. | |
2. Run the simple axis server: | |
cd /your_path_to_axis2c/bin | |
./axis2_http_server | |
This will start the simple axis server on port 9090. To see the possible command line options run | |
./axis2_http_server -h | |
NOTE: If you run into shared lib problems, set the LD_LIBRARY_PATH | |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your_path_to_axis2c/lib | |
3. Run the sample clients in a new shell | |
cd /your_path_to_axis2c/bin/samples | |
./echo | |
This will invoke the echo service. | |
./math | |
This will invoke the math service. | |
To see the possible command line options for sample clients run them with '-h' option | |
NOTE: If you run into shared lib problems, set the LD_LIBRARY_PATH | |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your_path_to_axis2c/lib | |
2. Getting Axis2C working with the source release on Linux. | |
========================================================== | |
1. Extract the source tar package to a folder. | |
2. Set AXIS2C_HOME environment variable pointing to the location where you want to install Axis2C. | |
AXIS2C_HOME='/your_desired_path_to_axis2c_installation' | |
export AXIS2C_HOME | |
NOTE: If you run into shared lib problems, set the LD_LIBRARY_PATH | |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your_path_to_axis2c/lib | |
3. Then go to the folder where you extracted the source | |
cd /your_path_to_axis2c_source | |
4. Set parser location | |
Include path and library path to parser should be set. For libxml2 this is automatically | |
resolved by configure script. | |
5. Build the source | |
This can be done using the following command sequence: | |
./configure | |
make | |
make install | |
use './configure --help' for options. | |
NOTE: If you don't provide a --prefix configure option, it will by default install into | |
/usr/local/axis2c folder. | |
If you need to get the samples working, you also need to give the configure option | |
--enable-samples=yes | |
6. go to where you installed axis2c. | |
7. Start simple axis server | |
cd axis2c/bin | |
./axis2_http_server | |
This will start the simple axis server on port 9090. To see the posible command line options run: | |
./axis2_http_server -h | |
8. Run the sample clients in a new shell | |
cd bin/samples | |
./echo | |
This will invoke the echo service. | |
./math | |
This will invoke the math service. | |
To see the possible command line options for sample clients run them with '-h' option | |
3. Getting Axis2C working with the binary release on Windows. | |
============================================================ | |
3.1 Requirements | |
---------------- | |
* the binaries shipped with this version is compiled with Microsoft visual studio compiler (cl) | |
(Note: you can download microsoft VSExpress2005 editon from microsoft website and intall it to run these binaries) | |
* You also need the following dlls | |
- libxml2.dll [http://www.xmlsoft.org - download the version >= libxml2-2.6.20.win32] | |
- iconv.dll [http://www.xmlsoft.org - download the version >= iconv-1.9.1.win32] | |
- zlib1.dll [http://www.xmlsoft.org - download the version >= zlib-1.2.3.win32] | |
3.2 Binaries in the release | |
--------------------------- | |
Extract the binary distribution to a folder of your choice. (example: C:\axis2c-M0.4) | |
The c:\axis2c-M0.4 folder structure is as follows. | |
axis2c-M0.4 | |
|- bin - server and other executables | |
|- samples - samples go here | |
| | |
|- lib - library modules | |
|- services - deployed services | |
|- modules - deployed modules | |
|- include - all include files of axis2 | |
|- logs - system and client logs are written to this folder | |
Copy libxml2.dll, iconv.dll and zlib1.dll downloaded to C:\axis2c-M0.4\lib | |
3.3 Running the binaries | |
------------------------ | |
You need to set couple of environment variables before you can run the server and samples. | |
Set the varibale AXIS2C_HOME to the deploy folder (C:\axis2c-M0.4) | |
Add the path to lib directory to PATH variable (%AXIS2C_HOME%\lib) | |
Now everything is set to run the server! | |
C:\axis2c-M0.4\bin>axis2_http_server.exe | |
You should see the message | |
Started Simple Axis2 HTTP Server... | |
The log is by default created under %AXIS2C_HOME%\logs folder with the name axis2.log. | |
(Note: you may provide command line options to change the default behaviour. Type "axis2_http_server.exe -h" to learn about the usage) | |
Now you can run any sample client deployed under %AXIS2C_HOME%\bin\samples\ | |
Example: | |
C:\axis2c-M0.4\bin\samples>echo.exe | |
4. Getting Axis2C working with the source release on Windows. | |
============================================================ | |
4.1 Requirements | |
---------------- | |
* the makefile shipped with this version needs Microsoft visual studio compiler (cl) and nmake build tool | |
(Note: you can download microsoft VSExpress2005 editon and Platform SDK from microsoft website. You will need to add the path to Platform SDK Include and Lib folders to makefile) | |
* You also need | |
- libxml2 [http://www.xmlsoft.org - download the version >= libxml2-2.6.20.win32] | |
- iconv [http://www.xmlsoft.org - download the version >= iconv-1.9.1.win32] | |
- zlib [http://www.xmlsoft.org - download the version >= zlib-1.2.3.win32] | |
4.2 Editing configure.in file | |
----------------------------- | |
The default places for libxml2 and iconv are speceficed in configure.in. | |
Example: | |
Default location for libxml2 is C:\libxml2 | |
You can either extract libxml2 to this folder. Folder structure should look like the following. | |
C:\libxml2 | |
|- include | |
|- bin | |
|- lib | |
Or extract to whatever place of your choice and edit the configure.in accordingly. | |
You need to have zlib1.dll in a library path. You may copy this dll to libxml2/lib. | |
4.3 Compiling the source | |
------------------------ | |
Extract the source distribution to a folder of your choice. (Example: C:\axis2c) | |
Open a DOS shell | |
cd C:\axis2c\build\win32 | |
C:\axis2c\build\win32>vcvars32.bat to access .Net tools (Note: You may need to set the environment PATH variable to vcvars32.bat if windows complaints that it cannot find this bat) | |
C:\axis2c\build\win32>nmake install | |
Thats it! This will build the system and create a directory named deploy under build directory. | |
The deploy folder structure is as follows. | |
deploy | |
|- bin - server and other executables | |
| |- samples - samples go here | |
| | |
|- lib - library modules | |
|- services - deployed services | |
|- modules - deployed modules | |
|- include - all include files of axis2 | |
|- logs - system and client logs are written to this folder | |
4.4 Running the binaries | |
------------------------ | |
You need to set couple of environment variables before you can run the server and samples. | |
Set the varibale AXIS2C_HOME to the deploy folder (C:\axis2c\build\deploy) | |
Add the path to lib directory to PATH variable (%AXIS2C_HOME%\lib) | |
Copy libxml2.dll, iconv.dll and zlib1.dll to axis2c lib folder (%AXIS2C_HOME%\lib) | |
Now everything is set to run the server! | |
C:\axis2c\build\deploy\bin>axis2_http_server.exe | |
You should see the message | |
Started Simple Axis2 HTTP Server... | |
The log is by default created under %AXIS2C_HOME%\logs folder with the name axis2.log. | |
(Note: you may provide command line options to change the default behaviour. Type "axis2_http_server.exe -h" to learn about the usage) | |
Now you can run any sample client deployed under %AXIS2C_HOME%\bin\samples\ | |
Example: | |
C:\axis2c\build\deploy\bin\samples>echo.exe | |
5. Installing Apache2 Web Server integration module (mod_axis2) | |
--------------------------------------------------------------- | |
5.1 Building mod_axis2 from source tree | |
* Provide the apache2 include files location as configure option | |
./configure --with-apache2="<apache2 include files location>" [other configure options] | |
- Some apache2 distributions install APR (Apache Portable Runtime) include files in a seperate location which is requred to build mod_axis2. In that case use | |
./configure --with-apache2="<apache2 include files location>" --with-apr="apr include files location>" [other configure options] | |
* Then build the source tree | |
make | |
make install | |
- This will install mod_axis2.so into your "<your_path_to_axis2c>/lib" | |
5.1 Deploying in Apache2 Web Server | |
Note: To do the following tasks you might need super user privileges in your machine. | |
* Copy the libmod_axis2.so.0.0.0 to "<apache2 modules directory>" (eg: /usr/lib/apache2/modules) as mod_axis2.so | |
eg: cp $AXIS2C_HOME/lib/libmod_axis2.so.0.0.0 /usr/lib/apache2/modules/mod_axis2.so | |
* Edit the Apache2's configuration file (generally httpd.conf) and add the following directives | |
LoadModule axis2_module <apache2 modules directory>/mod_axis2.so | |
<Location /axis2> | |
SetHandler axis2_module | |
RepoPath <axis2 repository path> | |
LogFile <axis2 log file path> | |
</Location> | |
* Make sure that the apache2 user has correct permissions to above paths | |
- Read permission to the repository | |
- Write permission to the log file | |
* Restart apache2 and test whether mod_axis2 module is loaded by typing the URL | |
http://localhost/axis2/services | |
Hope you would enjoy this first working version of Axis2C soap engine :) |