#

# Guide to building Axis

1.2 Version
Feedback: axis-dev@ws.apache.org

### Table of Contents

Introduction
Recommended Environment
Building without Optional Components
Building with Servlets
Building with JSSE
Building with JIMI
Building with Castor
Building with HTTP Client
Building with XML Security
Building with JMS
Miscellaneous Information
Feedback

## Introduction

This guides you through the process of building Axis. It starts off with the process of building axis with just the bare required jars. It goes on to describe the process for building with other optional components. It will also have a recommended version of the component to use.

## Recommended Environment

- JDK Version - 1.3.1+
- Ant Version - 1.5.3 or 1.6

## Building without Any Optional Components

1. Download the xml-axis project from cvs. ( http://ws.apache.org/axis/cvs.html)
2. Download activation.jar to $(axis.home)/java/lib.
   You can download this from http://java.sun.com/products/javabeans/glasgow/jaf.html
   Recommended version : 1.0.2
3. Download mailapi.jar to $(axis.home)/java/lib.
   You can download this from http://java.sun.com/products/javamail/
   Recommended version : 1.3
4. You could also download j2ee.jar which has activation, mailapi , servlets and bunch of others
5. Download xercesImpl.jar and xmlApis.jar to $(axis.home)/java/lib. Theoretically you won't need it since this is already present in your ant's lib directory. But it is recommended to keep this in $(axis.home)/java/lib as well.
   You can download this from http://xml.apache.org/xerces-j/ (or copy it from your ant's lib directory.)
   Recommended version : 2.2.1
6. You should be able to do able to run "ant compile" now from $(axis.home)/java/.
7. To run "ant all-tests" you will need to add junit.jar to your ant installations lib directory. It is not sufficient that you keep it in $(axis.home)/java/lib. If not in ant lib it conks out saying it cannot create task/type of type: junit.
   You can download this from http://www.junit.org/index.htm
   Recommended version : 3.8 +

## Building with Servlets

This is needed to build the server-side components of Axis.

1. Download required Class libraries(servlet.jar) to $(axis.home)/java/lib.
   You can download this from http://java.sun.com/products/servlet/
   Recommended version : 2.2 or 2.3

## Building with JSSE

This is needed for https support.

1. Download the required Class libraries( jsse.jar, jnet.jar,jcert.jar ) to $(axis.home)/java/lib.
   You can download this from http://java.sun.com/products/jsse/
   Recommended version : 1.0.3

## Building with JIMI

1. Download the required Class libraries( JimiProClasses.zip) to $(axis.home)/java/lib.
   You can download this from http://java.sun.com/products/jimi/

## Building with Castor

This is needed for the Castor serializer and deserializer.

1. Download the required Class libraries( castor-<version-no>-xml.jar) to $(axis.home)/java/lib.
   You can download this from http://castor.exolab.org
   Recommended version : 0.9.4.1

## Building with HTTP Client

Httpclient is a better library for making http connections than the Java runtime.

1. Download the required Class libraries( commons-httpclient.jar) to $(axis.home)/java/lib.
   You can download this from http://jakarta.apache.org/commons/httpclient/
   Recommended version : 2.0-alpha2

## Building with XML Security

This is needed for Axis to support signed and encrypted messages (as opposed to unsigned messages over HTTPS, which is different)

1. Download the required Class libraries( xmlsec.jar) to $(axis.home)/java/lib.
   You can download this from http://xml.apache.org/security/
   Recommended version : 1.0.4
2. To run "ant all-tests" you will need to add xalan.jar
   You can download this from http://xml.apache.org/xalan-j/
   Recommended version : 2.4.0

## Building with JMS

This is needed for Axis to take advantage of synch/asynch messaging of JMS.

1. Download the required Class libraries (jms.jar) to $(axis.home)/java/lib.
   You can download this from http://java.sun.com/products/jms/
   Recommended Version : 1.0.2

## Miscellaneous Information

- You can also compile with Jikes for bonus build speeds
- If you want a redistributable you know works with Java 1.3, build on Java 1.3.
- If you have problems installing or using Ant, start on the Ant problems page
- For developing in Axis please refer to the Developer's guide