blob: 271ebb275b787f138d1af31938f1d8e75d37b4b7 [file]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE>Axis System Integration Guide</TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.0.1 (Linux)">
<META NAME="CREATED" CONTENT="20030619;18104500">
<META NAME="CHANGED" CONTENT="20030620;13552600">
<!-- saved from url=(0022)http://internet.e-mail -->
<STYLE>
<!--
H1 { color: #000000 }
P { margin-left: 0.98cm; color: #000000; font-family: "Verdana", "Arial", "Helvetica", sans-serif }
H2 { color: #000000; text-decoration: underline }
H3 { color: #000000 }
-->
</STYLE>
</HEAD>
<BODY LANG="en-US" TEXT="#000000" BGCOLOR="#ffffff">
<H1 ALIGN=CENTER><IMG SRC="../../../usr/local/axis/docs/axis.jpg" NAME="Graphic1" ALIGN=BOTTOM WIDTH=222 HEIGHT=96 BORDER=0></H1>
<H1>Axis C++ Integration Guide</H1>
<P><I>0.1 Version</I>
</P>
<H3>Table of Contents</H3>
<P><A HREF="#Introduction">Introduction</A> <BR><A HREF="#Pluggable APIs">Pluggable
APIs</A> <BR>&nbsp; <A HREF="#Components">Components<!-- <br>&nbsp; <a href="#System Management Plug">System Management</a>
--></A>
<BR>&nbsp; <A HREF="#Logging/Tracing Plug">Logging/Tracing</A> <BR>&nbsp;
<A HREF="#Configuration" NAME="Configuration">Configuration</A><BR>&nbsp;
<A HREF="#Handlers Plug">Handlers</A> <BR>&nbsp; <A HREF="#Internationalization Plug">Internationalization</A>
<BR>&nbsp; <A HREF="#Performance Monitoring Plug">Performance
Monitoring</A> <BR>&nbsp; <A HREF="#Encoding Plug">Encoding</A> <BR>&nbsp;
<A HREF="#WSDL plug">WSDL Parser and Code Generator Framework</A>
</P>
<H2><A NAME="Introduction"></A>Introduction</H2>
<P>The primary purpose of this guide is to present how AXISCPP can be
integrated into an existing web application server, such as Apache,
Netscape web server for example.&nbsp; AXIS has a number of Pluggable
APIs that are necessary for such an integration.
</P>
<P>The reader may find useful background information in the
<A HREF="architecture-guide.html">Architecture Guide</A></P>
<H2><A NAME="Pluggable APIs"></A>Pluggable APIs</H2>
<P>The following are the points that are pluggable in order to
integrate AXIS into a web application server. The first subsection
details a number of pluggable components in general. More details are
provided for other components in the remaining subsections.
</P>
<H3><A NAME="Handlers Plug"></A>Handlers</H3>
<P>See the <A HREF="architecture-guide.html">Architecture Guide </A>for
current information on Handlers. <!-- How can a system integrator plug in other encoding mechanisms such as SOAP
1.2 or optimized XML-based encoding?
<ul>
<li>
Justification/Rationale - why is this plug point necessary?&nbsp; Spec
compliance?</li>
<li>
Interfaces</li>
<li>
Mechanism</li>
<ul>
<li>
Life cycle</li>
<li>
Exception handling - in general; plug-in shouldn't throw any exceptions
- does runtime ignore? Log?)</li>
<li>
Multiple thread support?&nbsp; Ie., is synchronization required?</li>
</ul>
<li>
Configuration/reconfiguration</li>
<li>
Default behavior if not plugged.</li>
<li>
Example</li>
</ul>
-->
</P>
<H3><A NAME="Configuration"></A><FONT SIZE=4>Configuration</FONT></H3>
<P><FONT SIZE=4>Axis C++ server can be configured to run on Aapache,
Netscape web server(Not implemented yet) and Microsoft IIS(Not yet
implemented. Also it is expected to run on Solaris, IBM AIX,
HPUnix,FreeBSD, Linux and Windows. Currently it is tested only on
RedHat Linux(8).</FONT></P>
<P STYLE="margin-bottom: 0cm; line-height: 0.5cm"><FONT SIZE=4 STYLE="font-size: 15pt">Linux
:Apache web server</FONT></P>
<P STYLE="margin-bottom: 0cm; line-height: 0.5cm"><FONT SIZE=3>This document is intended for the developer who wish to download and test the axiscpp server.
</FONT></P>
<P STYLE="line-height: 100%"><FONT SIZE=4>Checkout axiscpp from cvs repository.</FONT></P>
<P STYLE="margin-bottom: 0cm">
<FONT SIZE=3>
for simplicity assume that your axiscpp is now /usr/local/axiscpp</FONT>
</P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>From now on I call this
&lt;axiscpp_home&gt;</FONT></P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>goto
&lt;axiscpp_home&gt;/release</FONT></P>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>copy the libaxiscpp_mod.so
file into &lt;apache home directory&gt;/libexec directory.</FONT></P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>For the apache server to
load this shared module it (the apache web server) must be compiled
with shareable module support (To do this, when running the configure
script pass it the option &quot;--enable-module=so&quot;) For further
information on comipiling and installing the apache web server please
visit http://httpd.apache.org .</FONT></P>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>open the httpd.conf file
in &lt;apache directory&gt;/conf/</FONT></P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>add the following lines</FONT></P>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>LoadFile
/usr/local/apache/libexec/libaxiscpp_mod.so</FONT></P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>LoadModule axis_module
libexec/libaxiscpp_mod.so</FONT></P>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>&lt;Location /axis&gt;</FONT></P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>SetHandler axis</FONT></P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>&lt;/Location&gt;</FONT></P>
<P STYLE="margin-bottom: 0cm"><BR>
</P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>where /axis is context
path where the apache|axiscpp is listening to webservice requests.</FONT></P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Now stop the apache web
server if it is already started.</FONT></P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Start the apache web
server. If it starts without giving problem the module is
successfully loaded.</FONT></P>
<P STYLE="margin-bottom: 0cm"><FONT SIZE=3>Read the userguide for
information on how to test the webservices on your newly installed
soap server.</FONT></P>
<P><BR><BR>
</P>
</BODY>
</HTML>