The release comes in two forms, source and binary. | |
To get both the binary and source distributions working, you need Libxml2 from | |
http://xmlsoft.org/downloads.html | |
NOTE: Most Linux systems have Libxml2 installed by default. On Windows you need | |
to download and install Libxml2. | |
Table of Contents | |
================= | |
1. Getting Axis2/C working with the binary release on Linux | |
2. Getting Axis2/C working with the source release on Linux | |
3. Getting Axis2/C working with the binary release on Windows (win32) | |
3.1 Requirements | |
3.2 Binaries in the release | |
3.3 Running the binaries | |
4. Getting Axis2/C 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 Axis2/C working with the binary release on Linux. | |
========================================================== | |
1. Extract the binary tar package to a directory. | |
2. Set AXIS2C_HOME environment variable pointing to the location where you have | |
extracted Axis2/C | |
AXIS2C_HOME='/your_path_to_axis2c' | |
export AXIS2C_HOME | |
NOTE: You will need to set AXIS2C_HOME only if you need to run Axis2/C samples | |
or tests. The reason is that the samples and test codes use AXIS2C_HOME | |
to get the path to Axis2/C. To write your own services or clients this is | |
not a requirement. | |
3. 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 | |
4. 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 Axis2/C working with the source release on Linux. | |
========================================================== | |
1. Extract the source tar package to a directory | |
2. Set AXIS2C_HOME environment variable pointing to the location where you want | |
to install Axis2/C. | |
AXIS2C_HOME='/your_desired_path_to_axis2c_installation' | |
export AXIS2C_HOME | |
NOTE: You will need to set AXIS2C_HOME only if you need to run Axis2/C samples | |
or tests. The reason is that the samples and test codes use AXIS2C_HOME | |
to get the path to Axis2/C. To write your own services or clients this is | |
not a requirement. | |
3. Go to the directory where you extracted the source | |
cd /your_path_to_axis2c_source | |
4. Build the source | |
This can be done by running the following command sequence in the directory | |
where you have extracted the source. | |
./configure --prefix=${AXIS2C_HOME} | |
make | |
sudo make install | |
Please run './configure --help' in respective sub folders for more information | |
on these configure options. | |
NOTE: If you don't provide the --prefix configure option, it will by default | |
be installed into "/usr/local/axis2c" directory. | |
You could run make check to test if everything is working fine. However, note | |
that the test/core/clientapi/test_clientapi program would fail unless | |
AXIS2C_HOME points to the installed location. (It's looking for Axis2/C | |
repository) This means you really should run "make && make install", | |
then set AXIS2C_HOME=/path/to/install, and then "make check". | |
That's a little different than the usual "make && make check && make install" | |
process. | |
You may need to try Axis2/C with guththila xml parser. You can do it by giving | |
"--enable-guththila=yes" as a configure option. | |
./configure --enable-guththila=yes [other configuration options] | |
make | |
sudo make install | |
If you need to get the samples working, you also need to build the samples. | |
To build the samples: | |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/axis2c/lib/ | |
cd samples | |
./configure --prefix=${AXIS2C_HOME} --with-axis2=${AXIS2C_HOME}/include/axis2-1.1 | |
make | |
sudo make install | |
Please run "./configure --help" in samples folder for more information on | |
configure options. | |
NOTE: If you don't provide a --prefix configure option, samples will by default | |
be installed into "/usr/local/axis2c/samples" directory. | |
5. Go to the folder where you installed Axis2/C. | |
6. Start simple axis server | |
cd ${AXIS2C_HOME}/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: You may need to be login as superuser to run the simple axis server. | |
8. Run the sample clients in a new shell | |
cd ${AXIS2C_HOME}/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 Axis2/C 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 - version >= libxml2-2.6.20.win32] | |
- iconv.dll [http://www.xmlsoft.org - version >= iconv-1.9.1.win32] | |
- zlib1.dll [http://www.xmlsoft.org - 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) | |
The c:\axis2c folder structure is as follows. | |
axis2c | |
| | |
+- bin - server and other executables | |
| | | |
| +- samples - samples go here | |
| | | |
| +... | |
| | |
| | |
+- conf - codegen config files | |
| | |
+- docs - documentation | |
| | |
+- include - all include files of axis2 | |
| | |
+- lib - library modules | |
| | |
+- logs - system and client logs are written to this folder | |
| | |
+- modules - deployed modules | |
| | |
+- samples - source files of the samples in bin | |
| | |
+- services - deployed services | |
Copy the downloaded libxml2.dll, iconv.dll and zlib1.dll to C:\axis2c\lib | |
(Or you can have these dll's some other place and add the location to PATH | |
environment variable) | |
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) | |
Add the path to lib directory to the PATH variable (%AXIS2C_HOME%\lib) | |
Now everything is set to run the server! | |
C:\axis2c\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 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\bin\samples>echo.exe | |
4. Getting Axis2/C 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 PATH environment | |
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 Axis2/C 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 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 the source tree | |
5.1.1 On the Linux Platform | |
Provide the Apache2 include file location as a configure option | |
./configure --with-apache2="<apache2 httpd 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 directornclude 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 | |
Axis2RepoPath <axis2 repository path> | |
Axis2LogFile <axis2 log file path> | |
Axis2LogLevel LOG_LEVEL | |
<Location /axis2> | |
SetHandler axis2_module | |
</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 | |
crit - Log critical errors only | |
error - Log errors critical errors | |
warn - Log warnings and above | |
info - Log info and above | |
debug - Log debug and above (default) | |
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 | |
6. Installing IIS (Interner Information Server) integration module (mod_axis2_IIS) | |
---------------------------------------------------------------------------------- | |
6.1 Building mod_axis2_IIS from the source tree | |
After compiling the sources (as described in section 4.3) build the | |
mod_axis2.dll by issuing the command "nmake axis2_IIS_module". | |
This will build the mod_axis2_IIS.dll and copy it to %AXIS2C_HOME%\lib directory. | |
Example: | |
C:\axis2c\build\deploy\lib | |
6.2 Deploying in the IIS | |
Add the following key to the registery. | |
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Axis2c\IIS ISAPI Redirector | |
Under this registry key add the following entries. | |
Add a string value with the name axis2c_home and a value of the axis2c home path i.e c:\axis2c | |
Add a string value with the name log_file and a value of absolute path of the log file i.e c:\axis2c\logs\axis2.log | |
Add a string value with the name log_level. The value can be one of the following | |
trace - Log trace messages | |
error - Log errors critical errors | |
info - Log info and above | |
critical - Log critical errors only | |
debug - Log debug and above (default) | |
warning - Log warnings | |
Using the IIS management console, add a new virtual directory to the IIS/PWS web site called "axis2" | |
The physical path of this virtual directory should be the axis2\lib directory (Where the mod_axis2_IIS.dll is in) | |
Assign excecute permissions to this virtual directory. | |
Using the IIS management console, add mod_axis2_IIS.dll as a filter to the IIS/PWS web site. The name of the filter can be any meaningful name. | |
Restart IIS and test whether mod_axis2_IIS module is loaded by typing the URL http://localhost/axis2. | |
Enjoy the Axis2/C soap engine! | |
FAQ | |
======= | |
1. Although I was able to get simple axis server up, unable to run samples. | |
This could happen because the AXIS2C_HOME environment variable is not | |
set to the correct axis2 installation path. | |
2. What are the other dependencies Axis2/C has? | |
Basically if you are willing to use libxml2 as your parser, you need to | |
have it installed on your system. | |
libxml2 - http://xmlsoft.org/downloads.html | |
3. I installed libxml2 installed in my system, but ./configure fails saying | |
"libxml2 not found" | |
Yes, you need to install libxml2-dev packages. | |
1. If you are using a debian based system | |
apt-get install libxml2-dev | |
2. If you are using redhat/fedora based system. | |
yum install libxml2-dev | |
3. If you compile libxml2 from source you will not get this error. | |
4. Is there any recommended packages, that I need to instal in my system? | |
1. automake, autoconf, libtool, aclocal | |
2. libxml2 and libxml2-dev | |
5. pkg-config | |
5. I tried several methods, browse through axis-c-dev and axis-c-user mail | |
archives but I was not able solve it. | |
Then you can ask from Axis2/C users or Axis2/C developers about it by | |
sending your question to | |
user = axis-c-user@ws.apache.org | |
developer = axis-c-dev@ws.apache.org | |
You can get subscribe to | |
axis-c-user list by sending request to | |
<axis-c-user-subscribe@ws.apache.org> | |
axis-c-dev list by sending request to | |
<axis-c-dev-subscribe@ws.apache.org> | |
subject of the request should be "subscribe" | |
6. This FAQ is not enough... | |
You can help us by reporting your suggestions, complaints, problems and bugs | |
Thank you for using Axis2/C ... |