You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2012/01/11 18:28:34 UTC

svn commit: r1230161 - in /axis/axis1/java/trunk: docs/install.html src/site/xdoc/install.xml

Author: veithen
Date: Wed Jan 11 17:28:33 2012
New Revision: 1230161

URL: http://svn.apache.org/viewvc?rev=1230161&view=rev
Log:
Migrated the installation guide to XDoc.

Added:
    axis/axis1/java/trunk/src/site/xdoc/install.xml
      - copied, changed from r1230132, webservices/axis/trunk/site/src/java/src/documentation/content/xdocs/java/install.xml
Removed:
    axis/axis1/java/trunk/docs/install.html

Copied: axis/axis1/java/trunk/src/site/xdoc/install.xml (from r1230132, webservices/axis/trunk/site/src/java/src/documentation/content/xdocs/java/install.xml)
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/src/site/xdoc/install.xml?p2=axis/axis1/java/trunk/src/site/xdoc/install.xml&p1=webservices/axis/trunk/site/src/java/src/documentation/content/xdocs/java/install.xml&r1=1230132&r2=1230161&rev=1230161&view=diff
==============================================================================
--- webservices/axis/trunk/site/src/java/src/documentation/content/xdocs/java/install.xml (original)
+++ axis/axis1/java/trunk/src/site/xdoc/install.xml Wed Jan 11 17:28:33 2012
@@ -1,58 +1,37 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "./dtd/document-v12.dtd">
-<document>
-  <header>
-    <title>WebServices - Axis</title>
-  </header>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements. See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership. The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License. You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied. See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<document xmlns="http://maven.apache.org/XDOC/2.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+  <properties>
+    <title>Installation instructions</title>
+  </properties>
   <body>
 
-<a name="AxisInstallationInstructions"/>
-<section>
-<title>Axis installation instructions</title>
-
-<a name="TableOfContents"/>
-<section>
-<title>Table of Contents</title>
+<section name="Table of Contents">
 
-
-<ul>
-  <li><a href="#Introduction">Introduction</a></li>
-  <li><a href="#ThingsYouHaveToKnow">Things you have to know</a></li>
-  <li><a href="#Step0Concepts">Step 0: Concepts</a></li>
-  <li><a href="#Step1PreparingTheWebapp">Step 1: Preparing the webapp</a></li>
-  <li><a href="#Step2SettingUpTheLibraries">Step 2: Setting up the libraries</a></li>
-  <ul>
-    <li><a href="#Tomcat4.xAndJava1.4">Tomcat 4.x and Java 1.4</a></li>
-    <li><a href="#WebLogic8.1">WebLogic 8.1</a></li>
-  </ul>
-  <li><a href="#Step3StartingTheWebServer">Step 3: starting the web server</a></li>
-  <li><a href="#Step4ValidateTheInstallation">Step 4: Validate the Installation</a></li>
-  <ul>
-    <li><a href="#LookForTheStartPage">Look for the start page</a></li>
-    <li><a href="#ValidateAxisWithHappyaxis">Validate Axis with happyaxis</a></li>
-    <li><a href="#LookForSomeServices">Look for some services</a></li>
-    <li><a href="#TestASOAPEndpoint">Test a SOAP Endpoint</a></li>
-    <li><a href="#TestAJWSEndpoint">Test a JWS Endpoint</a></li>
-  </ul>
-  <li><a href="#Step5InstallingNewWebServices">Step 5: Installing new Web Services</a></li>
-  <li><a href="#Step6DeployingYourWebService">Step 6: Deploying your Web Service</a></li>
-  <ul>
-    <li><a href="#ClasspathSetup">Classpath setup</a></li>
-    <li><a href="#FindTheDeploymentDescriptor">Find the deployment descripto</a></li>
-    <li><a href="#RunTheAdminClient">Run the admin client</a></li>
-  </ul>
-  <li><a href="#Step7Testing">Step 7: Testing</a></li>
-  <li><a href="#AdvancedInstallationAddingAxisToYourOwnWebapp">Advanced Installation: adding Axis to your own Webapp</a></li>
-  <li><a href="#WhatIfItDoesntWork">What if it doesn't work?</a></li>
-  <li><a href="#Summary">Summary</a></li>
-  <li><a href="#AppendixEnablingTheSOAPMonitor">Appendix: Enabling the SOAP Monitor</a></li>
-</ul>
+<macro name="toc"/>
 
 </section>
 
-<a name="Introduction"/>
-<section>
-<title>Introduction</title>
+<section name="Introduction">
 
 <p>This document describes how to install Apache Axis. It assumes you already know how to write and run Java code and are not afraid of XML. You should also have an application server or servlet engine and be familiar with operating and deploying to it. If you need an application server, we recommend <a href="http://jakarta.apache.org/tomcat/">Jakarta Tomcat</a>. [If you are installing Tomcat, get the latest 4.1.x version, and the full distribution, not the LE version for Java 1.4, as that omits the Xerces XML parser]. Other servlet engines are supported, provided they implement version 2.2 or greater of the servlet API. Note also that Axis client and server requires Java 1.3 or later.</p>
 
@@ -60,9 +39,7 @@
 
 </section>
 
-<a name="ThingsYouHaveToKnow"/>
-<section>
-<title>Things you have to know</title>
+<section name="Things you have to know">
 
 <p>A lot of problems with Axis are encountered by people who are new to Java, server-side Java and SOAP. While you can learn about SOAP as you go along, writing Axis clients and servers is not the right time to be learning foundational Java concepts, such as what an array is, or basic application server concepts such as how servlets work, and the basics of the HTTP protocol.</p>
 
@@ -88,9 +65,7 @@
 
 </section>
 
-<a name="Step0Concepts"/>
-<section>
-<title>Step 0: Concepts</title>
+<section name="Step 0: Concepts">
 
 <p>Apache Axis is an Open Source SOAP server and client. SOAP is a mechanism for inter-application communication between systems written in arbitrary languages, across the Internet. SOAP usually exchanges messages over HTTP: the client POSTs a SOAP request, and receives either an HTTP success code and a SOAP response or an HTTP error code. Open Source means that you get the source, but that there is no formal support organisation to help you when things go wrong.</p>
 
@@ -108,9 +83,7 @@ version of Java everywhere.</p>
 
 </section>
 
-<a name="Step1PreparingTheWebapp"/>
-<section>
-<title>Step 1: Preparing the webapp</title>
+<section name="Step 1: Preparing the webapp">
 
 <p>Here we assume that you have a web server up and running on the localhost at port 8080. If your server is on a different port, replace references to 8080 to your own port number.</p>
 
@@ -118,31 +91,25 @@ version of Java everywhere.</p>
 
 </section>
 
-<a name="Step2SettingUpTheLibraries"/>
-<section>
-<title>Step 2: Setting up the libraries</title>
+<section name="Step 2: Setting up the libraries">
 
 <p>In the Axis directory, you will find a WEB-INF sub-directory. This directory contains some basic configuration information, but can also be used to contain the dependencies and web services you wish to deploy.</p>
 
 <p>Axis needs to be able to find an XML parser. If your application server or Java runtime does not make one visible to web applications, you need to download and add it. Java 1.4 includes the Crimson parser, so you <i>can</i> omit this stage, though the Axis team prefer Xerces.</p>
 
-<p>To add an XML parser, acquire the JAXP 1.1 XML compliant parser of your choice. We recommend Xerces jars from the <a href="http://xml.apache.org/dist/xerces-j/">xml-xerces distribution</a>, though others mostly work. Unless your JRE or app server has its own specific requirements, you can add the parser's libraries to axis/WEB-INF/lib.&nbsp; The examples in this guide use Xerces.&nbsp; This guide adds xml-apis.jar and xercesImpl.jar to the AXISCLASSPATH so that Axis can find the parser (<a href="#ClasspathSetup">see below</a>).</p>
+<p>To add an XML parser, acquire the JAXP 1.1 XML compliant parser of your choice. We recommend Xerces jars from the <a href="http://xml.apache.org/dist/xerces-j/">xml-xerces distribution</a>, though others mostly work. Unless your JRE or app server has its own specific requirements, you can add the parser's libraries to axis/WEB-INF/lib. The examples in this guide use Xerces. This guide adds xml-apis.jar and xercesImpl.jar to the AXISCLASSPATH so that Axis can find the parser (<a href="#ClasspathSetup">see below</a>).</p>
 
 <p>If you get ClassNotFound errors relating to Xerces or DOM then you do not have an XML parser installed, or your CLASSPATH (or AXISCLASSPATH) variables are not correctly configured.</p>
 
-<a name="Tomcat4.xAndJava1.4"/>
-<section>
-<title>Tomcat 4.x and Java 1.4</title>
+<subsection name="Tomcat 4.x and Java 1.4">
 
 <p>Java 1.4 changed the rules as to how packages beginning in java.* and javax.* get loaded. Specifically, they only get loaded from <i>endorsed</i> directories. jaxrpc.jar and saaj.jar contain javax packages, so they may not get picked up. If happyaxis.jsp (see below) cannot find the relevant packages, copy them from axis/WEB-INF/lib to CATALINA_HOME/common/lib and restart Tomcat.</p>
 
-</section>
+</subsection>
 
-<a name="WebLogic8.1"/>
-<section>
-<title>WebLogic 8.1</title>
+<subsection name="WebLogic 8.1">
 
-<p>WebLogic 8.1 ships with <code>webservices.jar</code> that conflicts with Axis' <code>saaj.jar</code> and prevents Axis 1.2 from working right out of the box. This conflict exists because WebLogic uses an older definition of <code>javax.xml.soap.*</code> package from <a href="http://java.sun.com/webservices/docs/1.0/api/javax/xml/soap"> Java Web Services Developer Pack Version 1.0</a>, whereas Axis uses a newer revision from J2EE 1.4.</p>
+<p>WebLogic 8.1 ships with <code>webservices.jar</code> that conflicts with Axis' <code>saaj.jar</code> and prevents Axis 1.4 from working right out of the box. This conflict exists because WebLogic uses an older definition of <code>javax.xml.soap.*</code> package from <a href="http://java.sun.com/webservices/docs/1.0/api/javax/xml/soap"> Java Web Services Developer Pack Version 1.0</a>, whereas Axis uses a newer revision from J2EE 1.4.</p>
 
 <p>However, there are two alternative configuration changes that enable Axis based web services to run on Weblogic 8.1.</p>
 
@@ -160,39 +127,31 @@ version of Java everywhere.</p>
 <p><b>NOTE:</b> This approach impacts all applications deployed on a particular WebLogic instance and may prevent them from using WebLogic's webservices.</p></li>
 </ul>
  
-<p>For more information on how WebLogic's class loader works, see <a href="http://e-docs.bea.com/wls/docs81/programming/classloading.html"> WebLogic Server Application Classloading</a>.</p>
+<p>For more information on how WebLogic's class loader works, see <a href="http://e-docs.bea.com/wls/docs81/programming/classloading.html">WebLogic Server Application Classloading</a>.</p>
 
-</section>
+</subsection>
 
 </section>
 
-<a name="Step3StartingTheWebServer"/>
-<section>
-<title>Step 3: starting the web server</title>
+<section name="Step 3: starting the web server">
 
 <p>This varies on a product-by-product basis. In many cases it is as simple as double clicking on a startup icon or running a command from the command line.</p>
 
 </section>
 
-<a name="Step4ValidateTheInstallation"/>
-<section>
-<title>Step 4: Validate the Installation</title>
+<section name="Step 4: Validate the Installation">
 
 <p>After installing the web application and dependencies, you should make sure that the server is running the web application.</p>
 
-<a name="LookForTheStartPage"/>
-<section>
-<title>Look for the start page</title>
+<subsection name="Look for the start page">
 
 <p>Navigate to the start page of the webapp, usually <a href="http://127.0.0.1:8080/axis/">http://127.0.0.1:8080/axis/</a>, though of course the port may differ.</p>
 
 <p>You should now see an Apache-Axis start page. If you do not, then the webapp is not actually installed, or the appserver is not running.</p>
 
-</section>
+</subsection>
 
-<a name="ValidateAxisWithHappyaxis"/>
-<section>
-<title>Validate Axis with happyaxis</title>
+<subsection name="Validate Axis with happyaxis">
 
 <p>Follow the link <i>Validate the local installation's configuration</i><br/>
 This will bring you to <i>happyaxis.jsp</i> a test page that verifies that needed and optional libraries are present. The URL for this will be something like <a href="http://localhost:8080/axis/happyaxis.jsp">http://localhost:8080/axis/happyaxis.jsp</a></p>
@@ -201,23 +160,19 @@ This will bring you to <i>happyaxis.jsp<
 <b>You must not proceed until all needed libraries can be found, and this validation page is happy.</b><br/>
 Optional components are optional; install them as your need arises. If you see nothing but an internal server error and an exception trace, then you probably have multiple XML parsers on the CLASSPATH (or AXISCLASSPATH), and this is causing version confusion. Eliminate the extra parsers, restart the app server and try again.</p>
 
-</section>
+</subsection>
 
-<a name="LookForSomeServices"/>
-<section>
-<title>Look for some services</title>
+<subsection name="Look for some services">
 
 <p>From the start page, select <i>View the list of deployed Web services</i>. This will list all registered Web Services, unless the servlet is configured not to do so. On this page, you should be able to click on <i>(wsdl)</i> for each deployed Web service to make sure that your web service is up and running.</p>
 
 <p>Note that the 'instant' JWS Web Services that Axis supports are not listed in this listing here. The install guide covers this topic in detail.</p>
 
-</section>
+</subsection>
 
-<a name="TestASOAPEndpoint"/>
-<section>
-<title>Test a SOAP Endpoint</title>
+<subsection name="Test a SOAP Endpoint">
 
-<p>Now it's time to test a service. Although SOAP 1.1 uses HTTP POST to submit an XML request to the <i>endpoint</i>, Axis also supports a crude HTTP GET access mechanism, which is useful for testing. First let's retrieve the version of Axis from the version endpoint, calling the <CODE>getVersion</CODE> method:</p>
+<p>Now it's time to test a service. Although SOAP 1.1 uses HTTP POST to submit an XML request to the <i>endpoint</i>, Axis also supports a crude HTTP GET access mechanism, which is useful for testing. First let's retrieve the version of Axis from the version endpoint, calling the <code>getVersion</code> method:</p>
 
 <p><a href="http://localhost:8080/axis/services/Version?method=getVersion">http://localhost:8080/axis/services/Version?method=getVersion</a></p>
 
@@ -239,13 +194,11 @@ Optional components are optional; instal
   &lt;/soapenv:Body&gt;
 &lt;/soapenv:Envelope&gt;</source>
 
-<p>The Axis version and build date may of course be different.</p>
+<p>Your browser may display the result in a formatted way; be sure to check the source code of your returned page. The Axis version and build date may of course be different.</p>
 
-</section>
+</subsection>
 
-<a name="TestAJWSEndpoint"/>
-<section>
-<title>Test a JWS Endpoint</title>
+<subsection name="Test a JWS Endpoint">
 
 <p>Now let's test a JWS web service. Axis' JWS Web Services are java files you save into the Axis webapp <i>anywhere but the WEB-INF tree</i>, giving them the .jws extension. When someone requests the .jws file by giving its URL, it is compiled and executed. The user guide covers JWS pages in detail.</p>
 
@@ -279,13 +232,11 @@ Optional components are optional; instal
 
 <p>Again, the exact return values will be different, and you may need to change URLs to correct any host, port and webapp specifics.</p>
 
-</section>
+</subsection>
 
 </section>
 
-<a name="Step5InstallingNewWebServices"/>
-<section>
-<title>Step 5: Installing new Web Services</title>
+<section name="Step 5: Installing new Web Services">
 
 <p>So far you have got Axis installed and working--now it is time to add your own Web Service.</p>
 
@@ -299,22 +250,18 @@ Optional components are optional; instal
 
 <p>After adding new classes or libraries to the Axis webapp, you must restart the webapp. This can be done by restarting your application server, or by using a server-specific mechanism to restart a specific webapp.</p>
 
-<p>Note: If your web service uses the simple authorization handlers provided with xml-axis (this is actually <U>not</U> recommended as these are merely illustrations of how to write a handler than intended for production use), then you will need to copy the corresponding users.lst file into the
+<p><b>Note:</b> If your web service uses the simple authorization handlers provided with xml-axis (this is actually <u>not</u> recommended as these are merely illustrations of how to write a handler than intended for production use), then you will need to copy the corresponding users.lst file into the
 WEB-INF directory.</p>
 
 </section>
 
-<a name="Step6DeployingYourWebService"/>
-<section>
-<title>Step 6: Deploying your Web Service</title>
+<section name="Step 6: Deploying your Web Service">
 
 <p>The various classes and JARs you have just set up implement your new Web Service. What remains to be done is to tell Axis how to expose this web service. Axis takes a Web Service Deployment Descriptor (WSDD) file that describes in XML what the service is, what methods it exports and other aspects of the SOAP endpoint.</p>
 
 <p>The users guide and reference guide cover these WSDD files; here we are going to use one from the Axis samples: the stock quote service.</p>
 
-<a name="ClasspathSetup"/>
-<section>
-<title>Classpath setup</title>
+<subsection name="Classpath setup">
 
 <p>In order for these examples to work, java must be able to find axis.jar, commons-discovery.jar, commons-logging.jar, jaxrpc.jar, saaj.jar, log4j-1.2.8.jar (or whatever is appropriate for your chosen logging implementation), and the XML parser jar file or files (e.g., xerces.jar).  These examples do this by adding these files to AXISCLASSPATH and then specifying the AXISCLASSPATH when you run them. Also for these examples, we have copied the xml-apis.jar and xercesImpl.jar files into the AXIS_LIB directory.  An alternative would be to add your XML parser's jar file directly to the AXISCLASSPATH variable or to add all these files to your CLASSPATH variable.</p>
 
@@ -324,16 +271,18 @@ WEB-INF directory.</p>
 set AXIS_LIB=%AXIS_HOME%\lib
 set AXISCLASSPATH=%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery.jar;
   %AXIS_LIB%\commons-logging.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;
-  %AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar
+  %AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar;
+  %AXIS_LIB%\wsdl4j.jar
 </source>
 
-<p>Unix users have to do something similar. Below we have installed AXIS into /usr/axis and are using the bash shell. See your shell's documentation for differences. To make variables permeate you will need to add them to your shell's startup (dot) files. Again, see your shell's documentation.</p>
+<p>Unix users have to do something similar. Below we have installed AXIS into /usr/axis and are using the bash shell. See your shell's documentation for differences. To make variables permanent you will need to add them to your shell's startup (dot) files. Again, see your shell's documentation.</p>
 
 <source>set AXIS_HOME=/usr/axis
 set AXIS_LIB=$AXIS_HOME/lib
 set AXISCLASSPATH=$AXIS_LIB/axis.jar:$AXIS_LIB/commons-discovery.jar:
   $AXIS_LIB/commons-logging.jar:$AXIS_LIB/jaxrpc.jar:$AXIS_LIB/saaj.jar:
-  $AXIS_LIB/log4j-1.2.8.jar:$AXIS_LIB/xml-apis.jar:$AXIS_LIB/xercesImpl.jar
+  $AXIS_LIB/log4j-1.2.8.jar:$AXIS_LIB/xml-apis.jar:$AXIS_LIB/xercesImpl.jar:
+  $AXIS_LIB/wsdl4j.jar
 export AXIS_HOME; export AXIS_LIB; export AXISCLASSPATH</source>
 
 <p>To use Axis client code, you can select AXISCLASSPATH when invoking Java by entering</p>
@@ -348,21 +297,17 @@ export AXIS_HOME; export AXIS_LIB; expor
 
 <p>Also, it is probably a good time to add the AXISCLASSPATH variable to your CLASSPATH variable.  This will enable you to not include the AXISCLASSPATH variable when launching the examples in this guide.  This document assumes that you have NOT done this.</p>
 
-</section>
+</subsection>
 
-<a name="FindTheDeploymentDescriptor"/>
-<section>
-<title>Find the deployment descriptor</title>
+<subsection name="Find the deployment descriptor">
 
 <p>Look in axis/samples/stock for the file deploy.wsdd. This is the deployment descriptor we want to tell Axis about. Deployment descriptors are an Axis-specific XML file that tells Axis how to deploy (or undeploy) a Web Service, and how to configure Axis itself. The Axis Administration Web Service lets the AdminClient program and its Ant task counterpart submit a new WSDD file for interpretation. The Axis 'engine' will update its configuration, then save its state.</p>
 
 <p>By default Axis saves it state into the global configuration file axis/WEB-INF/server-config.wsdd. Sometimes you see a warning message about such a file not being found--don't worry about this, because Axis auto-creates the file after you deploy something to it. You can check in the webapp to see what this file looks like--and even copy it to other systems if you want to give them identical configurations. Note that Axis needs an expanded web application <i>and</i> write access to the WEB-INF dir to save its state in this location.</p>
 
-</section>
+</subsection>
 
-<a name="RunTheAdminClient"/>
-<section>
-<title>Run the admin client</title>
+<subsection name="Run the admin client">
 
 <p>Execute the following command from the samples/stock directory.  If you are not in this directory you will get a "java.io.FileNotFoundException: deploy.wsdd (The system cannot find the file specified)" exception.</p>
 
@@ -380,19 +325,17 @@ export AXIS_HOME; export AXIS_LIB; expor
 
 <p>If you get some java client error (like ClassNotFoundException), then you haven't set up your AXISCLASSPATH (or CLASSPATH) variable right, mistyped the classname, or did some other standard error. Tracking down such problems are foundational Java development skills--if you don't know how to do these things, learn them now!</p>
 
-<p>Note: You may need to replace localhost with your host name, and 8080 with the port number used by your web server. If you have renamed the web application to something other than "axis" change the URL appropriately.</p>
+<p><b>Note:</b> You may need to replace localhost with your host name, and 8080 with the port number used by your web server. If you have renamed the web application to something other than "axis" change the URL appropriately.</p>
 
 <p>If you get some AxisFault listing, then the client is working, but the deployment was unsuccessful. This is where the knowledge of the sockets API to TCP and the basics of the HTTP that Web Service development requires begins to be needed. If you got some socket error like connection refused, the computer at the far end isn't talking to you, so find the cause of that and fix it. If you get an HTTP error code back find out what the error means and correct the problem.  These skills are fundamental to using web services.</p>
 
 <p>The <a href="user-guide.html">user's guide</a> covers the AdminClient in more detail, and there is also an <a href="ant/axis-admin.html">Ant task</a> to automate the use of Axis in your Ant build scripts.</p>
 
-</section>
+</subsection>
 
 </section>
 
-<a name="Step7Testing"/>
-<section>
-<title>Step 7: Testing</title>
+<section name="Step 7: Testing">
 
 <p>This step is optional, but highly recommended. For illustrative purposes, it is presumed that you have installed and deployed the stock quote demo.</p>
 
@@ -405,7 +348,7 @@ export AXIS_HOME; export AXIS_LIB; expor
      -lhttp://localhost:8080/axis/servlet/AxisServlet
      -uuser1 -wpass1 XXX</source>
 <b>On UNIX</b>
-<source>java -cp $AXISCLASSPATH samples.stock.GetQuote
+<source>java -cp .:$AXISCLASSPATH samples.stock.GetQuote
      -lhttp://localhost:8080/axis/servlet/AxisServlet
      -uuser1 -wpass1 XXX</source>
     </td>
@@ -416,13 +359,11 @@ export AXIS_HOME; export AXIS_LIB; expor
   <li>You should get back "55.25" as a result.</li>
 </ul>
 
-<p>Note: Again, you may need to replace localhost with your host name, and 8080 with the port number used by your web server. If you have renamed the web application to something other than "axis" change the URL appropriately.</p>
+<p><b>Note:</b> Again, you may need to replace localhost with your host name, and 8080 with the port number used by your web server. If you have renamed the web application to something other than "axis" change the URL appropriately.</p>
 
 </section>
 
-<a name="AdvancedInstallationAddingAxisToYourOwnWebapp"/>
-<section>
-<title>Advanced Installation: adding Axis to your own Webapp</title>
+<section name="Advanced Installation: adding Axis to your own Webapp">
 
 <p>If you are experienced in web application development, and especially if you wish to add web services to an existing or complex webapp, you can take an alternate approach to running Axis. Instead of adding your classes to the Axis webapp, you can add Axis to your application.</p>
 
@@ -442,9 +383,7 @@ export AXIS_HOME; export AXIS_LIB; expor
 
 </section>
 
-<a name="WhatIfItDoesntWork"/>
-<section>
-<title>What if it doesn't work?</title>
+<section name="What if it doesn't work?">
 
 <p>Axis is a complicated system to install. This is because it depends on the underlying functionality of your app server, has a fairly complex configuration, and, like all distributed applications, depends upon the network too.</p>
 
@@ -460,6 +399,7 @@ export AXIS_HOME; export AXIS_LIB; expor
   <li>Never bother posting to the soapbuilders mailing list either, that is only for people developing SOAP toolkits, not using them--all off-topic messages are pointedly ignored.</li>
 
   <li>There is no guarantee that anyone will be able to solve your problem. The usual response in such a situation is silence, for a good reason: if everybody who didn't know the answer to a question said "I don't know", the list would be overflowed with noise. Don't take silence personally.</li>
+
   <li>Never expect an immediate answer. Even if someone knows the answer, it can take a day or two before they read their mail. So if you don't get an answer in an hour or two, don't panic and resend. Be patient. And put the time to use by trying to solve your problems yourself.</li>
 
   <li>Do your homework first. This document lists the foundational stuff you need to understand. It has also warned you that it can take a day to get a reply. Now imagine you get a HTTP Error '404' on a SOAP call. Should you rush to post a 'help' request, or should you try and find out what an HTTP error code is, what #404 usually means and how to use a Java debugger. We provide the source to make that debugging easier :)</li>
@@ -485,17 +425,13 @@ export AXIS_HOME; export AXIS_LIB; expor
 
 </section>
 
-<a name="Summary"/>
-<section>
-<title>Summary</title>
+<section name="Summary">
 
 <p>Axis is simply an implementation of SOAP which can be added to your own webapp, and a webapp which can host your own web services. Installing it can be a bit fiddly, especially given Java 1.4's stricter requirements. If you follow a methodical process, including testing along the way, using happyaxis and the bundled test services, you will find it easier to get started with Axis.</p>
 
 </section>
 
-<a name="AppendixEnablingTheSOAPMonitor"/>
-<section>
-<title>Appendix: Enabling the SOAP Monitor</title>
+<section name="Appendix: Enabling the SOAP Monitor">
 
 <p>SOAP Monitor allows for the monitoring of SOAP requests and responses via a web browser with Java plug-in 1.3 or higher. For a more comprehensive explanation of its usage, read <a href="user-guide.html#AppendixUsingTheSOAPMonitor">Using the SOAP Monitor</a> in the User's Guide.</p>
 
@@ -565,7 +501,5 @@ export AXIS_HOME; export AXIS_LIB; expor
 
 </section>
 
-</section>
-
   </body>
 </document>