blob: 0bc0e939a346e40f5769c72a9933a7ddf9a5edb7 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../skin/tigris.css" type="text/css">
<link rel="stylesheet" href="../skin/mysite.css" type="text/css">
<link rel="stylesheet" href="../skin/site.css" type="text/css">
<link media="print" rel="stylesheet" href="../skin/print.css" type="text/css">
<title>Axis C++ Installation Guide</title>
</head>
<body bgcolor="white" class="composite">
<div id="banner">
<table width="100%" cellpadding="8" cellspacing="0" summary="banner" border="0">
<tbody>
<tr>
<td align="left">
<div class="groupLogo">
<a href="http://ws.apache.org/"><img border="0" class="logoImage" alt="The Apache WebServices Project" src="../images/project-logo.jpg"></a>
</div>
</td><td align="right">
<div class="projectLogo">
<a href="http://ws.apache.org/axis/"><img border="0" class="logoImage" alt="The Apache Axis Project" src="../images/axis.jpg"></a>
</div>
</td><td valign="top" rowspan="2" align="right" class="search">
<form target="_blank" action="http://www.google.com/search" method="get">
<table summary="search" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#a5b6c6" colspan="3"><img height="10" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td colspan="3"><img height="8" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="ws.apache.org" name="sitesearch" type="hidden"><input size="10" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="GO" type="submit">
<br>
Search WS</td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td colspan="3"><img height="7" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td class="bottom-left-thick"></td><td bgcolor="#a5b6c6"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td class="bottom-right-thick"></td>
</tr>
</table>
</form>
</td>
</tr>
</tbody>
</table>
</div>
<table width="100%" cellpadding="0" cellspacing="0" border="0" summary="nav" id="breadcrumbs">
<tbody>
<tr class="status">
<td><a href="http://www.apache.org/">Apache</a> | <a href="http://ws.apache.org/">WS</a><a href=""></a></td><td id="tabs">
<div class="tab">
<span class="selectedTab"><a class="base-selected" href="../index.html">WebServices-Axis</a></span>
</div>
</td>
</tr>
</tbody>
</table>
<table id="main" width="100%" cellpadding="8" cellspacing="0" summary="" border="0">
<tbody>
<tr valign="top">
<td id="leftcol">
<div id="navcolumn">
<div class="menuBar">
<div class="menu">
<span class="menuLabel">Axis</span>
<div class="menuItem">
<a href="http://ws.apache.org/axis/index.html">Introduction</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/news.html">News</a>
</div>
<div class="menuItem">
<a href="http://wiki.apache.org/ws/FrontPage/Axis">FAQ/Wiki</a>
</div>
<div class="menu">
<span class="menuLabel">Get Involved</span>
<div class="menuItem">
<a href="http://ws.apache.org/axis/overview.html">Overview</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/cvs.html">CVS Repository</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/mail.html">Mailing Lists</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/ref.html">Reference Library</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/bugs.html">Bugs</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/howtobuild.html">HowToBuildSite</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Axis (Java)</span>
<div class="menuItem">
<a href="http://ws.apache.org/axis/java/index.html">Documentation</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/java/install.html">Installation</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/java/user-guide.html">User's Guide</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/java/developers-guide.html">Developer's Guide</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/java/integration-guide.html">Integration Guide</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/java/architecture-guide.html">Architecture Guide</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/java/reference.html">Reference Guide</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/java/reading.html">Reading Guide</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/java/requirements.html">Requirements</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Axis (C++)</span>
<div class="menuItem">
<a href="../cpp/index.html">Home</a>
</div>
<div class="menuItem">
<a href="../cpp/documentation.html">Documentation</a>
</div>
<div class="menuItem">
<a href="../cpp/download.html">Download</a>
</div>
<div class="menuItem">
<a href="http://wiki.apache.org/ws/FrontPage/AxisCPP">Wiki Pages</a>
</div>
<div class="menuItem">
<a href="../cpp/who.html">Who we are</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Downloads</span>
<div class="menuItem">
<a href="http://ws.apache.org/axis/releases.html">Releases</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/interim.html">Interim Drops</a>
</div>
<div class="menuItem">
<a href="http://cvs.apache.org/viewcvs/ws-axis/">Source Code</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Translation</span>
<div class="menuItem">
<a href="http://ws.apache.org/axis/ja/index.html">Japanese</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Related Projects</span>
<div class="menuItem">
<a href="http://ws.apache.org/wsif/">WSIF</a>
</div>
<div class="menuItem">
<a href="http://cvs.apache.org/viewcvs/*checkout*/ws-wsil/java/README.htm">WSIL</a>
</div>
<div class="menuItem">
<a href="http://www-124.ibm.com/developerworks/projects/wsdl4j/">WSDL4J</a>
</div>
<div class="menuItem">
<a href="http://www.uddi4j.org/">UDDI4J</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Misc</span>
<div class="menuItem">
<a href="http://ws.apache.org/axis/who.html">Who We Are</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/contact.html">Contact</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/legal.html">Legal</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/docs.html">Notes/Docs</a>
</div>
</div>
</div>
</div>
</div>
</td><td>
<div id="bodycol">
<div class="app">
<div align="center">
<h1>Axis C++ Installation Guide</h1>
</div>
<div class="h3">
<div class="h3">
<h3>Axis C++ Installation and Configuration Guide</h3>
</div>
<p></p>
<div class="h4">
<h4>Introduction</h4>
</div>
<p>This guide will help you to start with Axis C++. This guide will explain the minimum steps needed to install Axis C++ in both a client and a server environment.<br>
<strong>Note:</strong> Within this document we declare environment variables; You may find that the instructions here need to be altered to your particular operating system.</p>
<div class="h4">
<h4>Contents</h4>
</div>
<ul>
<li>
<a href="#Introduction">Introduction</a>
</li>
<li>
<a href="#What">Pre-requisites</a>
</li>
<li>
<a href="#Install">Installing and configuring Axis C++</a>
</li>
<li style="list-style: none">
<ul>
<li>
<a href="#Installing_Client">Axis C++ Client - installation and configuration</a>
</li>
<li>
<a href="#Server_installation_and_configuration">Axis C++ server - installation and configuration</a>
</li>
<li>
<a href="#Simple_Axis_Server_Installation_and_Configuration">Simple_Axis_Server - Installation and Configuration</a>
</li>
</ul>
</li>
</ul>
<p>
<a name="What"></a>
</p>
<div class="h4">
<h4>Pre-requisites</h4>
</div>
<br>
<div class="h2">
<h2>Client and server</h2>
</div>
<p>
<a href="http://archive.apache.org/dist/xml/xerces-c/Xerces-C_2_2_0/">Xerces C++ (2.2.0)</a> XML parser<br>
<br> Axis C++ needs an XML parser to parse SOAP messages and WSDD files. It has a parser abstraction layer that helps users to select/switch between parsers. However only one parser library can be used at a time. Currently Xerces parser is supported by Axis C++.</p>
<div class="h2">
<h2>Server only</h2>
</div>
<p>
<a name="server_prereqs"></a><a href="http://httpd.apache.org/download.cgi">Apache web server</a> (2.0.x or 1.3.x)&nbsp; - If you are going to deploy services to Apache web server (and not <a href="#Simple Axis Server Installation and Configuration">simple_axis_server</a> ) then you need to have Apache built with module .so support.<br>
</p>
<p>
<a name="Install"></a>
</p>
<div class="h4">
<h4>Installing and Configuring Axis C++</h4>
</div>
<div class="h2">
<h2>Client Installation and Configuration</h2>
</div>
<div class="h5">
<h5>1. Download Axis C++</h5>
</div>
<p>
<a name="Installing_Client"></a><a href="http://ws.apache.org/axis/cpp/download.html">Download Axis C++</a> binary distribution and extract the package into a directory of your choice.</p>
<div class="h5">
<h5>2. Install Xerces C++ (2.2.0)</h5>
</div>
<p>See the Xerces parser's documentation for installation instructions.</p>
<div class="h5">
<h5>3. Configure environment variables</h5>
</div>
<strong>set AXISCPP_DEPLOY</strong>
<br>
<em>AXISCPP_DEPLOY="/usr/local/axiscpp_deploy"set LIBRARY_PATHS</em>
<p>The library path needs to have the xml parser libraries and the axis libraries included.</p>
<br>
<p>Linux:<br>LD_LIBRARY_PATH="&lt;xerces installation directory&gt;/lib:$AXISCPP_DEPLOY/lib:$LD_LIBRARY_PATH"</p>
<div class="h5">
<h5>4. Set Engine Wide Settings in Configuration File</h5>
</div>
<p>The axiscpp.conf file contains all of the user defined setting for the location of specific libraries, definition and log files and can be configured manually or by using the AxisConfiguration executable.<br>If the user requires a non-standard environment or needs additional information to be supplied (i.e. the location of the client wsdd file) this has to be defined in the axiscpp.conf file.<br>
</p>
<div class="h5">
<h5>4.1 Using AxisConfiguration to create the axiscpp.conf file</h5>
</div>
<p>The AxisConfiguration executable is a simple user interface that allows the user to generate an axiscpp.conf file by first asking a few simple questions about where the package was unzipped to and then allowing the user to pick which file should be associated with configuration tag. Below is an example of a typical conversation between AxisConfiguration and a user (the normal, larger text represents user input).<br>
<br>
</p>
<pre>C:\Axis\axis-c-1.6-Win32-bin\bin&gt;AxisConfiguration Client<br>Axis Client Configuration<br>=========================<br>Type in the Axis fully qualified directory path (e.g. C:\Axis)
used when Axis was unzipped (NB: this directory must also contain the
axiscpp.conf file). Type '*' to used the existing value of the environment
variable (i.e. 'C:\Axis').<br>AXISCPP_DEPLOY = <strong>c:\Axis</strong>
<br>
<br>Type in the directory where the Axis libraries (e.g. axis_client.dll) can be
found. (If you type '*', it will use the default 'axis-c-1.6-Win32-bin\bin').<br>Axis binaries directory = <strong>axis-c-1.6-Win32-bin\bin</strong>
<br>
<br>Begin to configure the AXISCPP.CONF file.<br>
<br>Select the filename for the HTTP Transport library.<br>1. c:\Axis\axis-c-1.6-Win32-bin\bin\HTTPTransport.dll<br>Automatically selected c:\Axis\axis-c-1.6-Win32-bin\bin\HTTPTransport.dll<br>
<br>Select the filename for the HTTP Channel library.<br>1. C:\Axis\axis-c-1.6-Win32-bin\bin\HTTPChannel.dll<br>Automatically selected c:\Axis\axis-c-1.6-Win32-bin\bin\HTTPChannel.dll<br>
<br>Select the filename for the HTTP SSL Channel library.<br>1. C:\Axis\axis-c-1.6-Win32-bin\bin\HTTPSSLChannel.dll<br>Automatically selected c:\Axis\axis-c-1.6-Win32-bin\bin\HTTPSSLChannel.dll<br>
<br>Select the filename for the Axis XML Parser library.<br>1. C:\Axis\axis-c-1.6-Win32-bin\bin\AxisXMLParserXerces.dll<br>Automatically selected C:\Axis\axis-c-1.6-Win32-bin\bin\AxisXMLParserXerces.dll<br>
<br>Select the filename for the SMTP Transport library.<br>There are no recognised file names for the type of file/library.<br>You will have to modify the configuration file namually.<br>
<br>Enter name of client trace/log file: <strong>client.log</strong>
<br>
<br>Select the filename for the client WSDD path.<br>There are no recognised file names for the type of file/library.<br>You will have to modify the configuration file namually.<br>
<br>
<br>Configuration complete.</pre>
<br>
<br>
<p>The configuration file has now been created in %AXISCPP_DEPLOY%\axiscpp.conf. The contents of the file is as follows:-<br>
</p>
<pre>
<br>C:\Axis\axis-c-1.6-Win32-bin\bin&gt;type %AXISCPP_DEPLOY%\axiscpp.conf<br># This header file was created by AxisConfiguration on Mon Mar 27 13:50:57 2006<br># The comment character is '#'<br># Available directives are as follows<br>#(Some of these directives may not be implemented yet)<br>#<br># Path to server trace log path (only required if you want server trace)<br>#LogPath:&lt;not set&gt;<br>
<br># Path to server WSDD path<br>#WSDDFilePath:&lt;not set&gt;<br>
<br># Path to client trace log path (only required if you want client trace)<br>ClientLogPath:c:\Axis\client.log<br>
<br># Path to client WSDD path<br>#ClientWSDDFilePath:&lt;not set&gt;<br>
<br>#Node name.<br>#NodeName: &lt;not set&gt;<br>
<br>#Listening port.<br>#ListenPort: &lt;not set&gt;<br>
<br># Path to HTTP Transport library<br>Transport_http:C:\Axis\axis-c-1.6-Win32-bin\bin\HTTPTransport.dll<br>
<br># Path to SMTP Transport library<br>#Transport_smtp:&lt;not set&gt;<br>
<br># Path to Axis XML Parser library<br>XMLParser:C:\Axis\axis-c-1.6-Win32-bin\bin\AxisXMLParserXerces.dll<br>
<br># Path to HTTP Channel library<br>Channel_HTTP:C:\Axis\axis-c-1.6-Win32-bin\bin\HTTPChannel.dll<br>
<br># Path to HTTP SSL Channel library<br>Channel_HTTP_SSL:C:\Axis\axis-c-1.6-Win32-bin\bin\HTTPSSLChannel.dll<br>
<br># SSL Options<br>#SecureInfo:&lt;not set&gt;
</pre>
<br>
<br>
<p>The AxisConfiguration executable can also be run with a number of command line options to aid automated configuration (an example of this can be found in the ant script axis-c-1.6-Win32-bin\build\executeBuild.xml, target name 'createConfigurationFile'). The available options are listed below.<br>
<br>
</p>
<table class="ForrestTable" cellspacing="1" cellpadding="4">
<tr class="b">
<td>Command</td><td>Description</td><td>Example</td>
</tr>
<tr class="a">
<td>-acd</td><td>Directory to write axiscpp.conf once it has been configured. This overrides the '-a' value (which defines where axiscpp.conf would normally reside).</td><td>-acd c:\Axis\Different</td>
</tr>
<tr class="b">
<td>-a</td><td>Root directory of Axis download (AXISCPP_HOME).</td><td>-a c:\Axis</td>
</tr>
<tr class="a">
<td>-o</td><td>Directory offset from AXISCPP_HOME to object files.</td><td>-o axis-c-1.6-Win32-bin\bin</td>
</tr>
<tr class="b">
<td>-x</td><td>Xerces library name. If -a and -o have both already been defined, then only the filename is required. Otherwise the fully qualified path will be required (NB: You can still override the -a and -o definitions by using a fully qualified path).</td><td>(with -a and -o defined): -x AxisXMLParserXerces.dll, (without -a and -o defined): -x c:\Axis\axis-c-1.6-Win32-bin\bin\AxisXMLParserXerces.dll</td>
</tr>
<tr class="a">
<td>-m</td><td>Merge with existing configuration file.</td><td>-m on|off (the default is 'off' meaning 'overwrite')</td>
</tr>
<tr class="b">
<td>-pi</td><td>Change the progress information output during the construction of the configuration file.</td><td>-pi normal|quiet (the default is 'normal' meaning "give full descriptions").</td>
</tr>
<tr class="a">
<td>-b</td><td>Backup the existing configuration file before creating the new one.</td><td>-b true|false (the default is 'true').</td>
</tr>
<tr class="b">
<td>-qmf</td><td>Query for missing files. When no parameter for a filename is provided on the command line, the application will list the file options and the user then selects which file to use in the configuration file. This can be turned off using this parameter.</td><td>-qmf on|off (the default is 'on' meaning "list and then ask for file to include").</td>
</tr>
<tr class="a">
<td>-so</td><td>SSL options. Used to add a string of parameters (if) required by the version SSL.</td><td>-so "...parameter list..."</td>
</tr>
</table>
<p>Client Specific<br>---------------<br>
</p>
<table class="ForrestTable" cellspacing="1" cellpadding="4">
<tr class="b">
<td>Command</td><td>Description</td><td>Example</td>
</tr>
<tr class="a">
<td>-th</td><td>Transport library name. If -a and -o have both already been defined, then only the filename is required. Otherwise the fully qualified path will be required (NB: You can still override the -a and -o definitions by using a fully qualified path).</td><td>(with -a and -o defined): -th HTTPTransport.dll, (without -a and -o defined): -th c:\Axis\axis-c-1.6-Win32-bin\bin\HTTPTransport.dll</td>
</tr>
<tr class="b">
<td>-c</td><td>Channel library name. If -a and -o have both already been defined, then only the filename is required. Otherwise the fully qualified path will be required (NB: You can still override the -a and -o definitions by using a fully qualified path).</td><td>(with -a and -o defined): -c HTTPChannel.dll, (without -a and -o defined): -c c:\Axis\axis-c-1.6-Win32-bin\bin\HTTPChannel.dll</td>
</tr>
<tr class="a">
<td>-cs</td><td>SSL channel library name. If -a and -o have both already been defined, then only the filename is required. Otherwise the fully qualified path will be required (NB: You can still override the -a and -o definitions by using a fully qualified path).</td><td>(with -a and -o defined): -cs HTTPSSLChannel.dll, (without -a and -o defined): -cs c:\Axis\axis-c-1.6-Win32-bin\bin\HTTPSSLChannel.dll</td>
</tr>
<tr class="b">
<td>-cl</td><td>Client log filename. If -a has been defined, then only the filename is required. Otherwise the fully qualified path will be required. (NB: You can still override the -a and -o definitions by using a fully qulified path). To ignore the client log, using 'ignore' instead of a filename.</td><td>(without -a defined): -cl c:\Axis\client.log.</td>
</tr>
<tr class="a">
<td>-cw</td><td>Client WSDD filename. If -a and -o have both already been defined, then only the filename is required. Otherwise the fully qualified path will be required (NB: You can still override the -a and -o definitions by using a fully qulified path).</td><td>(with -a and -o defined): -cw client.wsdd, (without -a and -o defined): -cw c:\Axis\WSDD\client.wsdd</td>
</tr>
</table>
<p>Server Specific<br>---------------<br>
</p>
<table class="ForrestTable" cellspacing="1" cellpadding="4">
<tr class="b">
<td>Command</td><td>Description</td><td>Example</td>
</tr>
<tr class="a">
<td>-sl</td><td>Server log filename. If -a has been defined, then only the filename is required. Otherwise the fully qualified path will be required. (NB: You can still override the -a and -o definitions by using a fully qulified path).</td><td>(with -a defined): -sl server.log, (without -a defined): -sl c:\Axis\server.log</td>
</tr>
<tr class="b">
<td>-sw</td><td>Server WSDD filename. If -a and -o have both already been defined, then only the filename is required. Otherwise the fully qualified path will be required (NB: You can still override the -a and -o definitions by using a fully qulified path).</td><td>(with -a and -o defined): -sw server.wsdd, (without -a and -o defined): -sw c:\Axis\WSDD\server.wsdd</td>
</tr>
</table>
<br>
<br>
<div class="h5">
<h5>4.2 Manually create the axiscpp.conf file</h5>
</div>
<p>A sample configuration file is installed in $AXISCPP_DEPLOY/etc on linux or %AXISCPP_DEPLOY% on windows systems. Edit this file to match your systems settings and copy it to axiscpp.conf<br>
<br> Configuration file has the following syntax on the client-side:</p>
<p>The comment character is '#'<br>Transport_http - HTTP transport library: Required<br>Channel_HTTP - Channel transport library: Required<br>Channel_HTTP_SSL - SSL channel transport library: Optional - only required is you are going to use ssl<br>XMLParser - The Axis XML parser library that comes with your configuration: Required<br>SecureInfo: SSL configuration information: Optional - only required if you are going to use ssl<br>ClientWSDDFilePath - Path to the client wsdd: Optional - only required if you are using client-side handlers<br>ClientLogPath - Path to the Axis C++ client log: Optional - only required if you want engine trace for debugging purposes</p>
<p>A sample <strong>axiscpp.conf</strong> file for a client (linux)</p>
<pre>Transport_http:/usr/local/axiscpp_deploy/lib/libhttp_transport.so
Channel_HTTP:/usr/local/axiscpp_deploy/lib/libhttp_channel.so
XMLParser:/usr/local/axiscpp_deploy/lib/libaxis_xerces.so
ClientWSDDFilePath:/usr/local/axiscpp_deploy/etc/client.wsdd
ClientLogPath:/usr/local/axiscpp_deploy/log/AxisClientLog</pre>
<p>
<br>Once you have completed the above steps you should be ready to <a href="user-guide.html">create and run</a> your client application using AXIS C++ !<br>
<br>
</p>
<div class="h2">
<h2>Server Installation and Configuration</h2>
</div>
<p>
<a name="Server_installation_and_configuration"></a>
</p>
<div class="h5">
<h5>1. Download Axis C++</h5>
</div>
<p>
<a href="http://ws.apache.org/axis/cpp/download.html">Download Axis C++</a> binary distribution and extract the package into a directory of your choice. <strong></strong>
</p>
<div class="h5">
<h5>2. Install Apache Web Server</h5>
</div>
<p>If you are going to deploy services to Apache and not use the simple_axis_server then you need to install apache webserver. In case you have already installed Apache , make sure that 'so modules' are enabled.<br> This is because Axis C++ server engine is implemented as a 'so module'. (For Apache 1.3.x use --enable-module=so; for Apache 2.0.x use --enable-so when configuring. See Apache web server documentation for more details)</p>
<div class="h5">
<h5>3. Install Xerces C++ (2.2.0)</h5>
</div>
<p>See the Xerces parser's documentation for installation instructions.</p>
<div class="h5">
<h5>4. Configure environment variables</h5>
</div>
<p>The Axis server runtime requires the same variables to be set as the Axis client engine does.</p>
<p>
<strong>set AXISCPP_DEPLOY</strong>AXISCPP_DEPLOY="Path to the folder where you installed Axis C++"<br> e.g. <em>AXISCPP_DEPLOY="/usr/local/axiscpp_deploy"set LIBRARY_PATHS</em>
</p>
<p>The library path needs to have the xml parser libraries and the axis libraries included.</p>
<p>Windows:<strong>PATH=&lt;xerces installation path&gt;/bin;%AXISCPP_DEPLOY/bin%;%PATH%</strong>
</p>
<p>Linux:<strong>LD_LIBRARY_PATH="&lt;xerces installation path&gt;/lib:$AXISCPP_DEPLOY/lib:$LD_LIBRARY_PATH"</strong>
</p>
<div class="h5">
<h5>5. Configure Engine Wide Settings in Configuration File</h5>
</div>
<p>
<a name="Configure_server_axiscpp.conf"></a>As with the client-side the Axis C++ server-side engine uses a configuration file to let the user specify preferences such as log file locations, transport and parser libs to be used and location of deployment descriptor files.<br>A sample configuration file is installed in $AXISCPP_DEPLOY/etc folder (or in %AXISCPP_DEPLOY% on windows). Edit this file to match your systems settings and copy or rename it to "axiscpp.conf"<br>
<br> Configuration file has the following <strong>Syntax:</strong>
</p>
<p>
<br>
</p>
<p>The comment character is '#'<br>WSDDFilePath - Path to the server wsdd file: Required - so that Axis knows what services and handlers you have deployed<br>Transport_http - Axis HTTP transport library: Required<br>Channel_HTTP - Axis Channel transport library: Required<br>XMLParser - Axis XML parser library: Required<br>LogPath: Path to the Axis C++ server log: Optional - only required if you want to see trace from the Axis Engine for debugging purposes</p>
<p>A sample server <strong>axiscpp.conf</strong> file (Linux):</p>
<pre>WSDDFilePath:/usr/local/axiscpp_deploy/etc/server.wsdd
LogPath:/usr/local/axiscpp_deploy/log/AxisLog
XMLParser:/usr/local/axiscpp_deploy/lib/libaxis_xercesc.so
Transport_http:/usr/local/axiscpp_deploy/lib/libaxis3_transport.so
Channel_HTTP:/usr/local/axiscpp_deploy/lib/libaxis3_transport_channel.so
</pre>
<div class="h5">
<h5>6. Setting Axis files to be executable</h5>
</div>
<p>On non-windows platforms you need to ensure global access rights to the Axis C++ deploy folder to make sure that Axis C++ works properly.<br>
<br>
<em>chmod -R 777 $AXISCPP_DEPLOY</em>
</p>
<div class="h5">
<h5>7. Configure Apache Module</h5>
</div>
<p>
<strong>Note:</strong> to execute the following steps, you may need to have <strong>administrator rights</strong> on your machine.<br>
<br> Now you need to edit <strong>httpd.conf</strong> file in &lt;path to Apache web server installation&gt;/conf and add the following lines at the bottom of that file (assuming you are using Apache 2.0.x):<br> (Linux)<br>
<br>
<strong>LoadModule axis_module modules/libaxiscpp_mod2.so</strong>
<br>
<strong>&lt;Location /axis&gt;</strong>
<br>
<strong>SetHandler axis</strong>
<br>
<strong>&lt;/Location&gt;</strong>
<br>
<br>For Apache1.3.x LoadModule line should read as:<br>
<strong>LoadModule axis_module libexec/libaxiscpp_mod.so</strong>
</p>
<div class="h5">
<h5>8. Deploying Axis Module to Apache Web Server</h5>
</div>
<p>Now we need to copy Apache module (libaxiscpp_mod2.so - linux names- for Apache 2.0.x and libaxiscpp_mod.so for Apache 1.3.x) to the correct places and start Apache web server. The steps to follow are:</p>
<ol>
<li>Copy libaxiscpp_mod2.so to /&lt;your Apache 2.0.x home&gt;/modules (or copy libaxiscpp_mod.so to /&lt;your Apache 1.3.x home&gt;/libexec)</li>
<li>Start Apache /&lt;path to Apache installation&gt;/bin/apachectl start</li>
</ol>
<p></p>
<div class="h5">
<h5>9. See Axis C++ in action</h5>
</div>
<p>Now the installation is complete. You can verify that the server side is working by accessing the URL <a href="http://localhost/axis">http://localhost/axis</a> using your web browser. You should get the Axis C++ welcome page and this page will show you a list of deployed services as specified by the &lt;Axis Installation directory&gt;/conf/server.wsdd file. Although at this stage you won't have any services deployed yet.</p>
<p>Now you can <a href="clientuser-guide.html">run a client sample</a> and see if it works.</p>
<div class="h2">
<h2>Simple Axis Server installation and configuration</h2>
</div>
<p>
<a name="Simple_Axis_Server_Installation_and_Configuration"></a>1. Make sure that you have set the <strong>AXISCPP_DEPLOY</strong> environment variable to point to your deployment folder as mentioned above</p>
<p>2. Create your axiscpp.conf file as above for the Apache server-side making sure that the contents of that file match your system settings</p>
<p>3. Run simple axis server in <strong>$AXISCPP_DEPLOY/bin</strong>
<br>Synopsis: simple_axis_server server-port Where server-port is the port on which you would like the server to listen for client requests.</p>
<p>For Example (linux):</p>
<p>
<strong>cd $AXISCPP_DEPLOY/bin</strong>
</p>
<p>
<strong>./simple_axis_server 9090</strong>
</p>
<p>5. Run clients in <strong>$AXISCPP_DEPLOY/bin</strong>
</p>
<p>On a different shell:</p>
<p>
<strong>cd $AXISCPP_DEPLOY/bin</strong>
</p>
<p>
<strong>./base http://localhost:9090/axis/base</strong>
</p>
<p>Similarly you could run the other samples.</p>
<div id="pdf" align="right">
<a href="install-guide.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
PDF</a>
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div id="footer">
<table summary="footer" cellspacing="0" cellpadding="4" width="100%" border="0">
<tbody>
<tr>
<td colspan="2">
<div align="center">
<div class="copyright">
Copyright &copy; 2000-2005&nbsp;The Apache Software Foundation. All rights reserved.
</div>
</div>
</td>
</tr>
<tr>
<td align="left"></td><td align="right">
<div align="right">
<div class="credit"></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>