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 have 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 the samples and test codes use AXIS2C_HOME to get the 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 the configure script. | |
5. Build the source | |
This can be done by running the 'configure; make; make install' command sequence in the | |
sub folders | |
1. util | |
2. axiom | |
3. xml_schema | |
4. woden; and then in | |
5. root folder of source extract | |
in that order. Note that each sub folder mentioned in the above sequence represents | |
a separate independent sub project in Axis2/C. The latter sub projects in the above sequence | |
need the predecessors to build. e.g. AXIOM needs utils and XML schema needs both AXIOM | |
and utils etc. Hence you have to use extra prefixes such as --with-axis2_util or | |
--with-axiom to indicate where the dependencies are located. | |
Please run './configure --help' in respective sub folders for more information on | |
these configure options. | |
You may also need to set LD_LIBRARY_PATH to include the install locations. | |
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 build the samples. | |
Please run './configure --help' in samples folder for more information on | |
configure options. | |
To build the samples: | |
cd samples | |
./configure --prefix=${AXIS2C_HOME} | |
make | |
make install | |
There is a shell script that is meant to help you build all of the source in one step, | |
named axis2c_build.sh. This script can be given the location you wish to install | |
as a command line argument; if not given, the default install location is | |
/usr/local/axis2c. | |
In the source root run: | |
./axis2c_build.sh [path_your_wish_to_install_axis2c_binaries] | |
You can also build the rampart module if you wish to test WS-Security implementation. | |
6. Go to the folder 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 possible 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 are compiled with Microsoft Visual Studio compiler (cl) | |
(Note: you can download Microsoft VS Express2005 Edition from Microsoft website and install 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 the downloaded libxml2.dll, iconv.dll and zlib1.dll to C:\axis2c-M0.4\lib | |
3.3 Running the binaries | |
------------------------ | |
You need to set a couple of environment variables before you can run the server and samples. | |
Set the variable AXIS2C_HOME to the deploy folder (C:\axis2c-M0.4) | |
Add the path to lib directory to the 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... | |
By default the log is created under %AXIS2C_HOME%\logs folder with the name axis2.log. | |
(Note: You may provide command line options to change the default behavior. 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 VS Express2005 Edition and Platform SDK from Microsoft website. You will | |
need to add the path to Platform SDK Include and Lib folders to the 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 specified 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 and type: | |
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 | |
complains that it cannot find this bat) | |
C:\axis2c\build\win32>nmake install | |
That's it! This will build the system and create a directory named 'deploy' under the 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 a couple of environment variables before you can run the server and samples. | |
Set the variable AXIS2C_HOME to the deploy folder (C:\axis2c\build\deploy) | |
Add the path to lib directory to the PATH variable (%AXIS2C_HOME%\lib) | |
Copy libxml2.dll, iconv.dll and zlib1.dll to the 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... | |
By default, the log is created under %AXIS2C_HOME%\logs folder with the name axis2.log. | |
(Note: You may provide command line options to change the default behavior. 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 the from source tree | |
5.1.1 On the Linux Platform | |
Provide the Apache2 include file location as a configure option | |
./configure --with-apache2="<apache2 include files location>" [other configure options] | |
NOTE: Some apache2 distributions install APR (Apache Portable Run-time) include files in a | |
separate location which is required 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.2 On Win32 platform | |
Provide the apache2 location in configure.in file in APACHE_INSTALL_DIR | |
Example: | |
APACHE_INSTALL_DIR = E:\Apache | |
After compiling the sources (as described in section 4.3) build the mod_axis2.dll by issuing the command "nmake axis2_apache_module". | |
This will build the mod_axis2.dll and copy it to %AXIS2C_HOME%\lib directory. | |
Example: | |
C:\axis2c\build\deploy\lib | |
5.2 Deploying in Apache2 Web Server | |
NOTE: To do the following tasks, you might need super user privileges in your machine. | |
Copy the mod_axis2 (libmod_axis2.so.0.0.0 on Linux and mod_axis2.dll in Windows) to "<apache2 modules directory>" as mod_axis2.so | |
Example: | |
cp $AXIS2C_HOME/lib/libmod_axis2.so.0.0.0 /usr/lib/apache2/modules/mod_axis2.so in Linux or | |
copy C:\axis2c\build\deploy\lib\mod_axis2.dll C:\Apache2\modules\mod_axis2.so in Windows | |
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> | |
Axis2LogLevel LOG_LEVEL | |
</Location> | |
NOTE: Axis2 log file path should have write access to all users because by default Apache Web Server runs as nobody. | |
LOG_LEVEL can be one of following | |
AXIS2_LOG_LEVEL_CRITICAL - Log critical errors only | |
AXIS2_LOG_LEVEL_ERROR - Log errors critical errors | |
AXIS2_LOG_LEVEL_WARNING - Log warnings and above | |
AXIS2_LOG_LEVEL_INFO - Log info and above | |
AXIS2_LOG_LEVEL_DEBUG - Log debug and above (default) | |
AXIS2_LOG_LEVEL_TRACE - Log trace messages | |
NOTE: Use forward slashes "/" for path separators in <apache2 modules directory>, <axis2 repository path> and <axis2 log file path> | |
Make sure that the apache2 user has the 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 | |
Enjoy the Axis2C soap engine! |