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 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 directory. 2. 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. 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 Axis2C 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 Axis2C. 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 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. 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 may need to try Axis2C 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 build with rampart (axis2c security module), ./configure --enable-rampart=yes [other configuration options] make make install NOTE : rampart has a dependancy with libssl-dev and openssl 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_util=${AXIS2C_HOME}/include --with-axiom=${AXIS2C_HOME}/include 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 Axis2C. 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 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 - 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-0.94) The c:\axis2c-0.94 folder structure is as follows. axis2c-0.94 | +- 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-0.94\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-0.94) Add the path to lib directory to the PATH variable (%AXIS2C_HOME%\lib) Now everything is set to run the server! C:\axis2c-0.94\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-0.94\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 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 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 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 the from source tree 5.1.1 On the Linux Platform Provide the Apache2 include file location as a configure option ./configure --with-apache2="" [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="" --with-apr="" [other configure options] Then build the source tree make make install This will install mod_axis2.so into your "/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 "" 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 /mod_axis2.so SetHandler axis2_module RepoPath LogFile Axis2LogLevel LOG_LEVEL 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 , and 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! 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 Axis2C has? Basically if you are willing to use libxml2 as your parser, you need to have it installed on your system. and rampart (security module of Axis2C) has dependency on openssl. 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. I installed openssl in my system but, I'm getting an error while configuring rampart? You might need to get "libssl-dev" package installed. 5. 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 6. 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 Axis2C users or Axis2C 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-dev list by sending request to subject of the request should be "subscribe" 7. This FAQ is not enough... You can help us by reporting your suggestions, complaints, problems and bugs Thank you for using Axis2C ...