# Apache Sandesha2/C Installation Guide

This document guides you on how to install Sandesha2/C with Axis2/C, and run the server and client samples on Linux and Microsoft Windows operating systems.

This release consists of a source distribution.

Please send your feedback to the developer mailing list: axis-c-dev@ws.apache.org (Subscription details are available on the Sandesha2 site.) Please remember to prefix the subject with [Axis2].

## Contents

- Installing and Running on Linux
  - Using the Source Release
- Installing and Running on Microsoft Windows (win32)
  - Using the Source Release

## 1. Installing and Running on Linux

This can be done using binary or source distributions. (Download the two distributions)

### 1.1. Installing Sandesha2/C Source Release on Linux

This version of Sandesha2/C depends on Axis2/C 1.3.0 Download Axis2/C from and install.

1. Download Sandesha2 source distribution
2. Extract the source distribution and go to extracted directory
3. Run configure with AXIS2 include path.

       ./configure --prefix=<axis2c_deploy_path> --enable-static=no --with-axis2=<axis2c_deploy_path>

4. Run make and make install

This will install the Sandesha2/C as a module in Axis2/C in <axis2c_deploy_path>/modules folder. The module folder contains the Sandesha2/C libraries and the module.xml file. It will also install the libsandesha2_client.so into <axis2c_deploy_path>lib folder. Sandesha2 include files are copied into <axis2c_deploy_path>include folder.

To install the samples go into samples folder and do

./configure --prefix=<axis2c_deploy_path> --with-axis2=<axis2c_include_path>

make

make install

Sandesha2/C deployment structure for Linux has the following folder structure.

        Sandesha2
            |
            + - modules/sandesha2 (sandesha2 module library and module.xml file)
            + - docs
            + - config (Contain sample module.xml and axis2.xml files)
            |
            + - samples/bin/sandesha2 ( sample executables
            |
            + - services (Contain sample service)
            |
            + - include ( header files)
            + - lib (libsandesha2_client.so)

You run the client samples in samples/bin/sandesha2. To see the messages passing through the wire use Tcp Monitor.

## 2. Installing and Running on Microsoft Windows

This too can be done using binary or source distributions. (Download the two distributions.)

### 2.1. Installing Sandesha2/C Source Release on Windows

1. You need to have unzipped Axis2/C release distribution to some folder.
2. On your cmd.exe cd to <sandesha2 src>\build\win32
   Edit configure.in file with your binary locations.
3. To set necessary environment variables on command line run vcvars32.bat file.
4. Run nmake dist command on command line. This will build the Sandesha2/C binary and samples to a directory sandesha2 in <sandesha2 src>\build\sandesha2.

Sandesha2/C deployment structure will have following directory structure.

        Sandesha2
            |
            + - Sandesha2 (sandesha2 module dll and module.xml file)
            |
            + - samples\bin\sandesha2
            |
            + - include ( header files)
            + - lib (sandesha2_client.dll)

Now you should be able to run the samples.

### Notes

1. Sandesha2 internally uses an Sqlite3 embedded database. You need to provide where to create this database in

   module.xml file as following.

   <parameter name="sandesha2_db" locked="false"><path>/sandesha2_db</parameter>

   If you use Axis2/C Apache2 module instead of simple_axis2_server make sure that Apache2 user can access the above database file.

   If you do not provide the above database parameter, be aware that Sandesha2/C will create the database file named sandesha2_db in the current folder.

2. Sandesha2/C module is installed into <axis2c_deploy_path>/modules/sandesha2c directory. The installed module contain libsandesha2.so, module.xml. The sample clients are installed into <axis2c_deploy_path>/samples/bin/sandesha2 directory. Sample services are installed into <axis2c_deploy_path>/services directory.