axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Glen Daniels <gdani...@macromedia.com>
Subject RE: cvs commit: xml-axis/java/test/wsdl/multiref MultiRefTestCase .java
Date Tue, 19 Feb 2002 18:04:17 GMT

Awesome, thanks for doing this work, guys.

> -----Original Message-----
> From: scheu@apache.org [mailto:scheu@apache.org]
> Sent: Tuesday, February 19, 2002 12:38 PM
> To: xml-axis-cvs@apache.org
> Subject: cvs commit: xml-axis/java/test/wsdl/multiref
> MultiRefTestCase.java
> 
> 
> scheu       02/02/19 09:38:23
> 
>   Modified:    java     build.xml
>                java/docs architecture-guide.html
>                java/samples/addr AddressBookTestCase.java readme
>                java/samples/echo echoHeaderStringHandler.java
>                         echoHeaderStructHandler.java
>                java/samples/security ClientSigningHandler.java
>                         LogHandler.java
>                java/samples/transport/tcp TCPListener.java 
> TCPSender.java
>                         TCPTransport.java
>                java/src log4j.properties
>                java/src/org/apache/axis AxisEngine.java
>                         ConfigurationException.java 
> FaultableHandler.java
>                         InternalException.java Message.java
>                         MessageContext.java SOAPPart.java 
> SimpleChain.java
>                         SimpleTargetedChain.java
>                java/src/org/apache/axis/attachments 
> AttachmentPart.java
>                         BoundaryDelimitedStream.java
>                         ManagedMemoryDataSource.java MimeUtils.java
>                         MultiPartRelatedInputStream.java
>                java/src/org/apache/axis/client AdminClient.java
>                         AxisClient.java Call.java
>                java/src/org/apache/axis/configuration 
> FileProvider.java
>                java/src/org/apache/axis/encoding
>                         DeserializationContextImpl.java
>                         DeserializerImpl.java 
> SerializationContextImpl.java
>                java/src/org/apache/axis/encoding/ser 
> ArrayDeserializer.java
>                         ArraySerializer.java BeanDeserializer.java
>                         BeanPropertyDescriptor.java 
> BeanPropertyTarget.java
>                         BeanSerializer.java 
> JAFDataHandlerDeserializer.java
>                         JAFDataHandlerSerializer.java 
> MapDeserializer.java
>                         MapSerializer.java VectorDeserializer.java
>                java/src/org/apache/axis/handlers BasicHandler.java
>                         DebugHandler.java EchoHandler.java
>                         ErrorHandler.java JWSHandler.java 
> JWSProcessor.java
>                         LogHandler.java LogMessage.java
>                         MD5AttachHandler.java
>                         SimpleAuthenticationHandler.java
>                         SimpleAuthorizationHandler.java
>                         SimpleSessionHandler.java
>                java/src/org/apache/axis/handlers/http
>                         HTTPActionHandler.java HTTPAuthHandler.java
>                         URLMapper.java
>                java/src/org/apache/axis/handlers/soap SOAPService.java
>                java/src/org/apache/axis/message BodyBuilder.java
>                         MessageElement.java RPCHandler.java
>                         SAXOutputter.java SOAPEnvelope.java
>                java/src/org/apache/axis/providers/java 
> JavaProvider.java
>                         RPCProvider.java
>                java/src/org/apache/axis/security/servlet
>                         ServletSecurityProvider.java
>                java/src/org/apache/axis/security/simple
>                         SimpleSecurityProvider.java
>                java/src/org/apache/axis/server AxisServer.java
>                         Transport.java
>                java/src/org/apache/axis/transport/http 
> AxisServlet.java
>                         HTTPSender.java SimpleAxisServer.java
>                java/src/org/apache/axis/transport/local 
> LocalResponder.java
>                         LocalSender.java
>                java/src/org/apache/axis/utils Admin.java 
> JavaUtils.java
>                         NSStack.java Options.java XMLUtils.java
>                java/src/org/apache/axis/utils/compiler 
> CompilerFactory.java
>                         Javac.java Jikes.java
>                java/test build_ant.xml
>                java/test/encoding TestSer.java
>                java/test/functional TestBidBuySample.java
>                         TestEchoSample.java TestElementSample.java
>                         TestMessageSample.java TestMiscSample.java
>                         TestProxySample.java TestStockSample.java
>                         TestTCPTransportSample.java
>                         TestTransportSample.java
>                java/test/utils PackageTests.java TestMessages.java
>                java/test/wsdl/inout DetailedInoutTestCase.java
>                java/test/wsdl/multiref MultiRefTestCase.java
>   Added:       java/lib commons-logging.LICENSE commons-logging.jar
>                java/test/utils TestSrcContent.java
>   Log:
>   The following changes are submitted by Richard Sitze.
>   
>   Summary of Changes:
>   Use the org.apache.common.logging apis as a common logging 
> interface.
>   
>   1. Changed all of the source files to use the new logging interface.
>   Example:
>     Before:
>   <     static Category category =
>   <             Category.getInstance(AxisEngine.class.getName());
>   <         if (category.isDebugEnabled())
>   <             
> category.debug(JavaUtils.getMessage("enter00", "AxisEngine::init"));
>   
>   After:
>   >     static Log log =
>   >             LogFactory.getLog(AxisEngine.class.getName());
>   >         if (log.isDebugEnabled())
>   >             log.debug(JavaUtils.getMessage("enter00", 
> "AxisEngine::init"));
>   
>   2.  log4j.properties:  I renamed "A1" to "CONSOLE", and added a new
>   appender named "LOGFILE".  The CONSOLE appender will ignore 
> logging below
>   the FATAL threshold (consistent with original use).  The 
> LOGFILE appender
>   is not used by default.  If enabled, it captures INFO 
> message or higher.
>   The properties file can now be easily modified to capture 
> DEBUG messages
>   (change INFO to DEBUG) to a file without dumping EVERYTHING to the
>   console...
>   
>   3.  attachments/MimeUtils.java: minor changes to comments 
> that allowed
>   Rational Rose to reverse engineer this file...
>   
>   4.  New file TestSrcContent.java.  This is a generic test 
> tool that looks
>   for strings to "avoid" in the content of the source tree.  
> It is based on
>   TestMessages.java.  Currently it only checks for 
> "org.apache.log4j" (which
>   covers imports or other references to the package or classes in the
>   package).  In the future we might consider adding 
> "System.out.println" to
>   that...
>   
>   5. Added the commons-logging.jar file and license.
>   
>   Revision  Changes    Path
>   1.110     +7 -0      xml-axis/java/build.xml
>   
>   Index: build.xml
>   ===================================================================
>   RCS file: /home/cvs/xml-axis/java/build.xml,v
>   retrieving revision 1.109
>   retrieving revision 1.110
>   diff -u -r1.109 -r1.110
>   --- build.xml	18 Feb 2002 23:44:17 -0000	1.109
>   +++ build.xml	19 Feb 2002 17:38:18 -0000	1.110
>   @@ -76,6 +76,7 @@
>      <property name="test.dir" value="./test"/>
>    
>      <property name="wsdl4j.jar" value="lib/wsdl4j.jar"/>
>   +  <property name="commons-logging.jar" 
> value="lib/commons-logging.jar"/>
>      <property name="log4j-core.jar" value="lib/log4j-core.jar"/>
>      <property name="clutil.jar" value="lib/clutil.jar"/>
>      <property name="tt-bytecode.jar" value="lib/tt-bytecode.jar"/>
>   @@ -130,6 +131,10 @@
>          classname="javax.wsdl.Definition"
>          classpathref="classpath"/>
>    
>   +    <available property="commons-logging.present"
>   +      classname="org.apache.commons.logging.Log"
>   +      classpathref="classpath"/>
>   +
>        <available property="log4j.present"
>          classname="org.apache.log4j.Category"
>          classpathref="classpath"/>
>   @@ -177,6 +182,7 @@
>        <echo message=""/>
>        <echo message="=== Required Libraries ===" />
>        <echo message="wsdl4j.present=${wsdl4j.present}" />
>   +    <echo 
> message="commons-logging.present=${commons-logging.present}" />
>        <echo message="log4j.present=${log4j.present}" />
>        <echo message="clutil.present=${clutil.present}" />
>        <echo message="tt-bytecode.present=${tt-bytecode.present}" />
>   @@ -254,6 +260,7 @@
>          <include name="log4j.properties"/>
>        </jar>
>        <copy file="${wsdl4j.jar}" toDir="${build.lib}"/>
>   +    <copy file="${commons-logging.jar}" toDir="${build.lib}"/>
>        <copy file="${log4j-core.jar}" toDir="${build.lib}"/>
>        <copy file="${clutil.jar}" toDir="${build.lib}"/>
>        <copy file="${tt-bytecode.jar}" toDir="${build.lib}"/>
>   
>   
>   
>   1.7       +470 -470  xml-axis/java/docs/architecture-guide.html
>   
>   Index: architecture-guide.html
>   ===================================================================
>   RCS file: /home/cvs/xml-axis/java/docs/architecture-guide.html,v
>   retrieving revision 1.6
>   retrieving revision 1.7
>   diff -u -r1.6 -r1.7
>   --- architecture-guide.html	1 Feb 2002 14:20:30 -0000	1.6
>   +++ architecture-guide.html	19 Feb 2002 17:38:18 -0000	1.7
>   @@ -1,470 +1,470 @@
>   -<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
>   -<html>
>   -<head>
>   -   <meta http-equiv="Content-Type" content="text/html; 
> charset=iso-8859-1">
>   -   <title>Axis Architecture Guide</title>
>   -<style type="text/css">
>   -<!--
>   -.example { background:#ccccff }
>   -.xml { background:#eeeeee }
>   -body {  font-family: Verdana, Arial, Helvetica, 
> sans-serif; margin-left: 40px}
>   -h2 {  text-decoration: underline; background-color: 
> #DCE1FF; background-position: left; margin-left: -30px}
>   -h3 {  margin-left: -10px}
>   -h1 {  margin-left: -30px}
>   --->
>   -</style>
>   -</head>
>   -<body text="#000000" bgcolor="#FFFFFF">
>   -
>   -<center>
>   -<h1>
>   -<img SRC="axis.jpg" height=96 width=176></h1></center>
>   -
>   -<h1>
>   -Axis Architecture Guide</h1>
>   -<font face="Lucida Sans"><font color="#CC0000"><font 
> size=+3>Under construction
>   -....</font></font></font>
>   -<br><i>Post-Alpha 3 Version</i>
>   -<br><i>Feedback: <a 
> href="mailto:axis-dev@xml.apache.org">axis-dev@xml.apache.org</a></i>
>   -<h3>
>   -Contents</h3>
>   -<a href="#Introduction">Introduction</a>
>   -<br><a href="#Overview">Architecture Overview</a>
>   -<br><a href="#Subsystems">Subsystems</a>
>   -<br><a href="#Message Flow">Message Flow Subsystem</a>
>   -<br>&nbsp;&nbsp;&nbsp; <a href="#Handlers">Handlers and Chains</a>
>   -<br>&nbsp;&nbsp;&nbsp; <a href="#Message Contexts">Message 
> Contexts</a>
>   -<br>&nbsp;&nbsp;&nbsp; <a href="#Engine">Engine</a>
>   -<br><a href="#Administration Subsystem">Administration 
> Subsystem</a>
>   -<br><a href="#Message Model Subsystem">Message Model Subsystem</a>
>   -<br>&nbsp;&nbsp;&nbsp; <a href="#SOAP message model">SOAP 
> Message Model</a>
>   -<br>&nbsp;&nbsp;&nbsp; <a href="#Message elements">Message 
> Elements</a>
>   -<br><a href="#Encoding Subsystem">Encoding Subsystem</a>
>   -<br><a href="#WSDL Subsystem">WSDL Tools Subsystem</a>
>   -<br>&nbsp;&nbsp;&nbsp; <a href="#WSDL2Java">WSDL2Java</a>
>   -<br><a href="#Sequence Diagrams">Interaction Diagrams</a>
>   -<br>&nbsp;&nbsp;&nbsp; <a href="#Client 
> Interaction">Client Side Processing</a>
>   -<br><a href="#Open Issues">Open Issues</a>
>   -<h2>
>   -<a NAME="Introduction"></a>Introduction</h2>
>   -This guide records some of the rationale of the 
> architecture and design
>   -of Axis.
>   -<h2>
>   -<a NAME="Overview"></a>Architectural Overview</h2>
>   -Axis consists of several subsystems working together, as 
> we shall see later.
>   -In this section we'll give you an overview of how the core 
> of Axis works.
>   -<h3>
>   -Handlers and the Message Path in Axis</h3>
>   -Put simply, Axis is all about processing Messages. When 
> the central Axis
>   -processing logic runs, a series of <b>Handlers</b> are 
> each invoked in
>   -order. The particular oder is determined by two factors - 
> deployment configuration
>   -and whether the engine is a client or a server. The object 
> which is passed
>   -to each Handler invocation is a <b>MessageContext</b>. A 
> MessageContext
>   -is a structure which contains several important parts: 1) 
> a "request" message,
>   -2) a "response" message, and 3) a bag of properties. More 
> on this in a
>   -bit.
>   -<p>There are two basic ways in which Axis is invoked:
>   -<ol>
>   -<li>
>   -As a <b>server</b>, a <b>Transport Listener</b> will 
> create a MessageContext
>   -and invoke the Axis processing framework.</li>
>   -
>   -<li>
>   -As a <b>client</b>, application code (usually aided by the 
> client programming
>   -model of Axis) will generate a MessageContext and invoke 
> the Axis processing
>   -framework.</li>
>   -</ol>
>   -In either case, the Axis framework's job is simply to pass 
> the resulting
>   -MessageContext through a configurable set of Handlers, 
> each of which has
>   -an opportunity to do whatever it is designed to do with 
> the MessageContext.
>   -<h3>
>   -Message Path on the Server</h3>
>   -The server side message path is shown in the following 
> diagram. The small
>   -cylinders represent Handlers and the larger, enclosing 
> cylinders represent
>   -Chains.
>   -<br><img SRC="ServerMessagePath.jpg" VSPACE=30 height=282 
> width=602>
>   -<br>A message arrives (in some protocol-specific manner) 
> at a Transport
>   -Listener. In this case, let's assume the Listener is a 
> HTTP servlet. It's
>   -the Listener's job to package the protocol-specific data 
> into a <b>Message</b>
>   -object (org.apache.axis.Message), and put the Message into 
> a <b>MessageContext</b>.
>   -The MessageContext is also loaded with various 
> <b>properties</b> by the
>   -Listener -&nbsp; in this example the property 
> "http.SOAPAction" would be
>   -set to the value of the SOAPAction HTTP header. The 
> Transport Listener
>   -also sets the <b>transportName</b> String on the 
> MessageContext , in this
>   -case to "http". Once the MessageContext is ready to go, 
> the Listener hands
>   -it to the AxisEngine.
>   -<p>The AxisEngine's first job is to look up the transport 
> by name. The
>   -transport is an object which contains a <b>request</b> 
> Chain, a <b>response</b>
>   -Chain, or perhaps both. A <b>Chain</b> is a Handler 
> consisting of a sequence
>   -of Handlers which are invoked in turn -- more on Chains 
> later. If a transport
>   -request Chain exists, it will be invoked, passing the 
> MessageContext into
>   -the invoke() method. This will result in calling all the 
> Handlers specified
>   -in the request Chain configuration.
>   -<p>After the transport request Handler, the engine locates 
> a global request
>   -Chain, if configured (in the &lt;requestFlow> element of 
> the WSDD &lt;globalConfiguration>,
>   -as explained in the WSDD deployment section later in this 
> document), and
>   -then invokes any Handlers specified therein.
>   -<p>At some point during the processing up until now, some 
> Handler has hopefully
>   -set the <b>serviceHandler</b> field of the MessageContext 
> (this is usually
>   -done in the HTTP transport by the "URLMapper" Handler, 
> which maps a URL
>   -like "http://localhost/axis/services/AdminService" to the 
> "AdminService"
>   -service). This field determines the Handler we'll invoke 
> to execute service-specific
>   -functionality, such as making an RPC call on a back-end 
> object. Services
>   -in Axis are typically instances of the "SOAPService" class 
> (org.apache.axis.handlers.soap.SOAPService),
>   -which may contain <b>request</b> and <b>response</b> 
> Chains (similar to
>   -what we saw at the transport and global levels), and must 
> contain a <b>provider</b>,
>   -which is simply a Handler responsible for implementing the 
> actual back
>   -end logic of the service.
>   -<p>In typical RPC examples, the provider is the 
> org.apache.axis.providers.java.RPCProvider
>   -class. This is just another Handler that, when invoked, 
> attempts to call
>   -a backend Java object whose class is determined by the 
> "className" parameter
>   -specified at deployment time. It uses the SOAP RPC 
> convention for determining
>   -the method to call, and makes sure the types of the 
> incoming XML-encoded
>   -arguments match the types of the required parameters of 
> the resulting method.
>   -<h3>
>   -The Message Path on the Client</h3>
>   -The Message Path on the client side is similar to that on 
> the server side,
>   -except the order of scoping is reversed, as shown below.
>   -<br><img SRC="ClientMessagePath.jpg" VSPACE=30 height=281 
> width=592>
>   -<br>The <b>service</b> Handler, if any, is called first - 
> on the client
>   -side, there is no "provider" since the service is being 
> provided by a remote
>   -node, but there is still the possibility of request and 
> response Chains.
>   -The service request and response Chains serve to do any 
> service-specific
>   -processing of the request message on its way out of the 
> system, and also
>   -of the response message on its way back to the caller.
>   -<p>After the service request Chain, the global request 
> Chain, if any, is
>   -invoked, followed by the transport. The <b>Transport 
> Sender</b>, a special
>   -Handler whose job it is to actually perform whatever 
> protocol-specific
>   -operations are necessary to get the message to and from 
> the target SOAP
>   -server, is invoked to send the message. The response (if 
> any) is placed
>   -into the responseMessage field of the MessageContext, and 
> the MessageContext
>   -then propagates through the response Chains - first the 
> transport, then
>   -the global, and finally the service.
>   -<h2>
>   -<a NAME="Subsystems"></a>Subsystems</h2>
>   -Axis comprises several subsystems working together with 
> the aim of separating
>   -responsibilities cleanly and making Axis modular. 
> Subsystems which are
>   -properly layered enable parts of a system to be used 
> without having to
>   -use the whole of it (or hack the code).
>   -<p>The following diagram shows the layering of subsystems. 
> The lower layers
>   -are independent of the higher layers. The 'stacked' boxes 
> represent mutually
>   -independent, although not necessary mutually exclusive, 
> alternatives. For
>   -example, the HTTP and SMTP transports are independent of 
> each other but
>   -may be used together.
>   -<p><img SRC="subsystems.jpg">
>   -<h2>
>   -<a NAME="Message Flow"></a>Message Flow Subsystem</h2>
>   -
>   -<h3>
>   -<a NAME="Handlers"></a>Handlers and Chains</h3>
>   -Handlers are invoked in sequence to process messages. At 
> some point in
>   -the sequence a Handler may send a request and receive a 
> response or else
>   -process a request and produce a response. Such a Handler 
> is known as the
>   -<i>pivot
>   -point</i> of the sequence. As described above, Handlers 
> are either transport-specific,
>   -service-specific, or global. The Handlers of each of these 
> three different
>   -kinds are combined together into Chains. So the overall 
> sequence of Handlers
>   -comprises three Chains: transport, global, and service. 
> The following diagram
>   -shows two sequences of handlers: the client-side sequence 
> on the left and
>   -the server-side sequence on the right.
>   -<br><img SRC="pivots.jpg" height=240 width=403>
>   -<p>A web service does not necessarily send a response 
> message to each request
>   -message, although many do. However, response Handlers are 
> still useful
>   -in the message path even when there isn't a response 
> message, e.g. to stop
>   -timers, clean up resources, etc.
>   -<p>A Chain is a composite Handler, i.e. it aggregates a 
> collection of Handlers
>   -as well as implementing the Handler interface as shown in 
> the following
>   -diagram:
>   -<br><img SRC="chainclasses.jpg" height=297 width=267>
>   -<p>Back to message processing -- a message is processed by 
> passing through
>   -the appropriate Chains. A message context is used to pass 
> the message and
>   -associated environment through the sequence of Handlers. 
> The model is that
>   -Axis Chains are constructed offline by having Handlers 
> added to them one
>   -at a time. Then they are made online and message contexts 
> start to flow
>   -through the Chains. Multiple message contexts may flow 
> through a single
>   -Chain concurrently. Handlers are never added to a Chain 
> once it goes online.
>   -If a Handler needs to be added or removed, the Chain must 
> be 'cloned',
>   -the modifications made to the clone, and then the clone 
> made online and
>   -the old Chain retired when it is no longer in use. Message 
> contexts that
>   -were using the old Chain continue to use it until they are 
> finished. This
>   -means that Chains do not need to cope with the addition 
> and removal of
>   -Handlers while the Chains are processing message contexts 
> -- an important
>   -simplification.
>   -<p>The deployment registry has factories for Handlers and 
> Chains. Handlers
>   -and Chains can be defined to have 'per-access', 
> 'per-request', or 'singleton'
>   -scope although the registry currently only distinguishes 
> between these
>   -by constructing non-singleton scope objects when requested 
> and constructing
>   -'singleton scope objects once and holding on to them for 
> use on subsequent
>   -creation requests.
>   -<h4>
>   -Targeted Chains</h4>
>   -A <b>Targeted Chain</b> is a special kind of chain which 
> may have any or
>   -all of: a request Handler, a pivot Handler, and a response 
> Handler. The
>   -following class diagram shows how Targeted Chains relate 
> to Chains. Note
>   -that a Targeted Chain is an aggregation of Handlers by 
> virtue of extending
>   -the Chain interface which is an aggregation of Handlers.
>   -<p><img SRC="targetedchainclasses.jpg" height=288 width=253>
>   -<p>A service is a special kind of Targeted Chain in which 
> the pivot Handler
>   -is known as a "provider".
>   -<h4>
>   -Fault Processing</h4>
>   -Now let's consider what happens when a fault occurs. The 
> Handlers prior
>   -to the Handler that raised the fault are driven, in 
> reverse order, for
>   -onFault (previously misnamed 'undo'). The scope of this 
> backwards scan
>   -is interesting: all Handlers previously invoked for the 
> current Message
>   -Context are driven.
>   -<p><i>Need to explain how "FaultableHandlers" and "WSDD 
> Fault Flows" fit
>   -in.</i>
>   -<h3>
>   -<a NAME="Message Contexts"></a>Message Contexts</h3>
>   -The current structure of a MessageContext is shown below. 
> Each message
>   -context may be associated with a request Message and/or a 
> response Message.
>   -Each Message has a SOAPPart and an Attachments object, 
> both of which implement
>   -the Part interface.
>   -<br><img SRC="messagecontext.jpg" height=140 width=597>
>   -<br>The typing of Message Contexts needs to be carefully 
> considered in
>   -relation to the Axis architecture. Since a Message Context 
> appears on the
>   -Handler interface, it should not be tied to or biassed in 
> favour of&nbsp;
>   -SOAP. The current implementation is marginally biassed 
> towards SOAP in
>   -that the setServiceHandler method narrows the specified 
> Handler to a SOAPService.
>   -But if we were to factor out a more abstract Message 
> Context interface,
>   -we would then be then faced with a problem. Some Handlers, 
> most likely
>   -in the global layer, would need to accept a Message 
> Context with a particular
>   -concete type (e.g. for a HTTP transport) and produce a 
> Message Context
>   -of a different concrete type (e.g. for a SOAP service) and 
> so Handler.invoke
>   -would need a more complex signature.
>   -<h3>
>   -<a NAME="Engine"></a>Engine</h3>
>   -Axis has an abstract AxisEngine class with two concrete 
> subclasses: AxisClient
>   -drives the client side handler chains and AxisServer 
> drives the server
>   -side handler chains. The relationships between these 
> classes is fairly
>   -simple:
>   -<br><img SRC="engineclasses.jpg" height=242 width=169>
>   -<h4>Engine Configuration</h3>
>   -The EngineConfiguration interface is the means of 
> configuring the Handler
>   -factories and global options of an engine instance. An 
> instance of a
>   -concrete implementation of EngineConfiguration must be 
> passed to the engine
>   -when it is created and the engine must be notified if the 
> EngineConfiguration
>   -contents are modified. The engine keeps a reference to the 
> EngineConfiguration
>   -and then uses it to obtain Handler factories and global options.
>   -<p>
>   -The EngineConfiguration interface belongs to the Message 
> Flow subsystem
>   -which means that the Message Flow subsystem does not depend on the
>   -Administration subsystem.
>   -<h2>
>   -<a NAME="Administration Subsystem"></a>Administration 
> Subsystem</h2>
>   -The Administration subsystem provides a way of configuring 
> Axis engines.
>   -The configuration information an engine needs is a 
> collection of factories for
>   -runtime artefacts such as Chains and SOAPServices and a 
> set of global
>   -configuration options for the engine.
>   -<p>
>   -The Message Flow subsystem's EngineConfiguration interface
>   -is implemented by the Administration subsystem. 
> FileProvider enables
>   -an engine to be configured statically from a file containing a
>   -deployment descriptor which is understood by the 
> WSDDDeployment class.
>   -SimpleProvider, on the other hand, enables an engine to be 
> configured
>   -dynamically.
>   -<br><img SRC="engineconfig.jpg">
>   -<h3>
>   -WSDD-Based Administration</h3>
>   -WSDD is an XML grammer for deployment descriptors which are used to
>   -statically configuring Axis engines.
>   -Each Handler needs configuration in terms of the concrete 
> class name
>   -of a factory for the Handler, a set of options for the handler, and
>   -a lifecycle scope value which determines the scope of sharing of
>   -instances of the Handler.
>   -<p>
>   -The structure of the WSDD grammar is mirrored by a class 
> hierarchy of factories
>   -for runtime artefacts.
>   -The following diagram shows the classes and the types of runtime
>   -artefacts they produce (a dotted arrow means "instantiates").
>   -<br><img SRC="wsddclasses.jpg">
>   -<h2>
>   -<a NAME="Message Model Subsystem"></a>Message Model Subsystem</h2>
>   -<a name="SOAP message model"></a><h3>SOAP Message Model</h3>
>   -The XML syntax of a SOAP message is fairly simple.
>   -A SOAP message consists of an <i>envelope</i> containing:
>   -<ul>
>   -<li>an optional <i>header</i> containing zero or more 
> <i>header entries</i>
>   -(sometimes ambiguously referred to as <i>headers</i>),</li>
>   -<li>a <i>body</i> containing zero or more <i>body 
> entries</i>, and</li>
>   -<li>zero or more additional, non-standard elements.</li>
>   -</ul>
>   -The only body entry defined by SOAP is a <i>SOAP fault</i> which is
>   -used for reporting errors.
>   -<p>
>   -Some of the XML elements of a SOAP message define 
> namespaces, each in terms
>   -of a URI and a local name, and encoding styles, a standard 
> one of which
>   -is defined by SOAP.
>   -<p>
>   -Header entries may be tagged with the following optional 
> SOAP attributes:
>   -<ul>
>   -<li><i>actor</i> which specifies the intended recipient of 
> the header
>   -entry in terms of a URI, and</li>
>   -<li><i>mustUnderstand</i> which specifies whether or not 
> the intended
>   -recipient of the header entry is required to process the header
>   -entry.</li>
>   -</ul>
>   -<p>
>   -So the SOAP message model looks like this:
>   -<br><img SRC="soapmessagemodel.jpg">
>   -
>   -<a name="Message elements"></a><h3>Message Elements</h3>
>   -The classes which represent SOAP messages form a hierarchy based on
>   -the MessageElement class which takes care of namespaces 
> and encodings.
>   -The SOAPHeader class looks after the actor and 
> mustUnderstand attributes.
>   -<br><img SRC="messagemodelclasses.jpg">
>   -
>   -<h2>
>   -<a NAME="Encoding Subsystem"></a>Encoding Subsystem</h2>
>   -Encoding is most easily understood from the bottom up. The basic
>   -requirement is to transform between values of programming language
>   -datatypes and their XML representations. In Axis, this means
>   -encoding (or 'serializing') Java objects and primitives into XML
>   -and decoding (or 'deserializing') XML into Java objects 
> and primitives.
>   -The basic classes that implement these steps are <i>serializers</i>
>   -and <i>deserializers</i>.
>   -<br><img SRC="serclasses.jpg">
>   -<p>
>   -Particular serializers and deserializers are written to support
>   -a specific XML processing mechanism such as DOM or SAX.
>   -So <i>serializer factories</i> and <i>deserializer factories</i>
>   -are introduced to construct serializers and deserializers
>   -for a XML processing mechanism which is specified
>   -as a parameter.
>   -<br><img SRC="serfactoryclasses.jpg">
>   -<p>
>   -As is apparent from the above class diagrams, each pair of Java
>   -type and XML data type which needs encoding
>   -and decoding requires specific serializers and 
>   -deserializers (actually one of each per XML processing mechanism).
>   -So we need to maintain a mapping from a pair of Java type 
> and XML data
>   -type, identified by a QName, to a serializer factory and a
>   -deserializer factory.
>   -Such a mapping is known as a <i>type mapping</i>.
>   -The type mapping class hierarchy is shown below. Notice how
>   -the default type mapping instantiates the various serializer and
>   -deserialiser factories.
>   -<br><img SRC="typemappingclasses.jpg">
>   -<p>
>   -There is one final level of indirection. How do we know
>   -which type mapping to use for a particular message?
>   -This is determined by the encoding which is specified in
>   -the message. A <i>type mapping registry</i> maintains
>   -a map from encoding name (URI) to type mapping.
>   -Note that the XML data type QNames are defined by the encoding.
>   -<br><img SRC="typemappingclasses.jpg">
>   -<p>
>   -So, in summary, to encode a Java object or primitive data value
>   -to a XML datatype or to decode the latter to the former,
>   -we need to know:
>   -<ul>
>   -<li>the Java type we are dealing with,</li>
>   -<li>the QName of the XML data type we want to encode it as,</li>
>   -<li>the XML processing mechanism we are using, and</li>
>   -<li>the encoding name.</li>
>   -<eul>
>   -
>   -<h2>
>   -<a NAME="WSDL Subsystem"></a>WSDL Tools Subsystem</h2>
>   -The WSDL Tools subsystem contains WSDL2Java and Java2WSDL. The
>   -Axis runtime does not depend on these tools -- they are just there
>   -to make life easier for the user.
>   -
>   -<a name="WSDL2Java"></a><h3>WSDL2Java</h3>
>   -This tool takes a description of a web service written in WSDL
>   -and emits Java artefacts used to access the web service.
>   -<p>
>   -There are three layers inside the tool:
>   -<ul>
>   -<li>framework:  SymbolTable, Emitter, WriterFactory</li>
>   -<li>WSDL2Java plugin to the framework:  WSDL2Java (the main),
>   -JavaWriterFactory, and all the WSDL-relative writers:  
> JavaPortTypeWriter,
>   -JavaBindingWriter, etc.</li>
>   -<li>The actual WSDL2Java emitters, one for each file generated:
>   -JavaInterfaceWriter, JavaStubWriter, etc.</li>
>   -</ul>
>   -
>   -<a name="Java2WSDL"></a><h3>Java2WSDL</h3>
>   -tbd.
>   -
>   -<h2>
>   -<a NAME="Sequence Diagrams"></a>Interaction Diagrams</h2>
>   -
>   -<h3>
>   -<a NAME="Client Interaction"></a>Client Side Processing</h3>
>   -The client side Axis processing constructs a Call object 
> with associated
>   -Service, MessageContext, and request Message as shown 
> below before invoking
>   -the AxisClient engine.
>   -<p><img SRC="clientobjects.jpg" height=120 width=349>
>   -<br>An instance of&nbsp; Service and its related 
> AxisClient instance are
>   -created before the Call object. The Call object is then 
> created by invoking
>   -the Service.createCall <i>factory method</i>. 
> Call.setOperation creates
>   -a Transport instance, if a suitable one is not already 
> associated with
>   -the Call instance. Then Call.invoke creates a 
> MessageContext and associated
>   -request Message, drives AxisClient.invoke, and processes 
> the resultant
>   -MessageContext. This significant method calls in this 
> sequence are shown
>   -in the following interaction diagram.
>   -<br><img SRC="clientinteraction.jpg" height=503 width=731>
>   -<h2>
>   -<a NAME="Open Issues"></a>Open Issues</h2>
>   -
>   -<ol>
>   -<li>
>   -&nbsp;The relationship between the Axis subsystems needs 
> to be documented
>   -and somewhat cleaned up as there is leakage of 
> responsibilities between
>   -some of the subsystems. For example,
>   -there is some SOAP and HTTP bias in the basic MessageContext
>   -type and associated classes.</li>
>   -
>   -<li>
>   -What classes are included in the "encoding" subsystem?
>   -Are the encoding and message model subsystems independent 
> of the other subsystems which depend on
>   -"message flow"?</li>
>   -
>   -<li>
>   -(Possibly related to the previous issue) How should we 
> distribute the classes
>   -in the above diagram between the Axis subsystems taking 
> into account&nbsp;
>   -SOAP-specific and HTTP-specific features?</li>
>   -
>   -<li>
>   -The Axis Engine currently knows about thee layers of 
> handlers: transport,
>   -global, and service. However, architecturally, this is 
> rather odd. What
>   -"law" of web services ensures that there will always and 
> only ever be <i>three</i>
>   -layers? It would be more natural to use Targeted Chains 
> with their more
>   -primitive notion of request, pivot, and response Handlers. 
> We would then
>   -implemented the Axis Engine as a Targeted Chain whose 
> pivot Handler is
>   -itself a Targeted Chain with global request and response 
> Handlers and a
>   -service pivot Handler (which is itself a Targeted Chain as 
> we have just
>   -described). Such an Axis Engine architecture is shown in 
> the diagram below.</li>
>   -
>   -<br><img SRC="stcengine.jpg" height=312 width=667>
>   -<li>
>   -WSDDService.faultFlows is initialised to an empty Vector 
> and there is no
>   -way of adding a fault flow to it. Is this dead code or is 
> something else
>   -missing?</li>
>   -
>   -<li>
>   -If a fault occurs after the pivot Handler, should the 
> backwards scan notify
>   -Handlers which were invoked prior to the pivot Handler? 
> The current implementation
>   -does notify such Handlers. However, this is not consistent 
> with the processing
>   -of faults raised in a downstream system and stored in the 
> message context
>   -by the pivot Handler. These faults are passed through any 
> response Handlers,
>   -but do not cause onFault to be driven in the local engine.</li>
>   -
>   -<br>&nbsp;
>   -<p>&nbsp;
>   -<br>&nbsp;
>   -<br>&nbsp;
>   -<p>We need to consider what's going on here. If you take a 
> sequence of
>   -Handlers and then introduce a distribution boundary into 
> the sequence,
>   -what effect should that have on the semantics of the 
> sequence in terms
>   -of its effects on message contexts? The following diagram 
> shows a client-side
>   -Handler sequence invoking a server-side Handler sequence. 
> We need to consider
>   -how the semantics of this combined sequence compares with 
> the sequence
>   -formed by omitting the transport-related Handlers.
>   -<br><img SRC="pivots2.jpg" height=413 width=658>
>   -</ol>
>   -
>   -</body>
>   -</html>
>   +<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
>   +<html>
>   +<head>
>   +   <meta http-equiv="Content-Type" content="text/html; 
> charset=iso-8859-1">
>   +   <title>Axis Architecture Guide</title>
>   +<style type="text/css">
>   +<!--
>   +.example { background:#ccccff }
>   +.xml { background:#eeeeee }
>   +body {  font-family: Verdana, Arial, Helvetica, 
> sans-serif; margin-left: 40px}
>   +h2 {  text-decoration: underline; background-color: 
> #DCE1FF; background-position: left; margin-left: -30px}
>   +h3 {  margin-left: -10px}
>   +h1 {  margin-left: -30px}
>   +-->
>   +</style>
>   +</head>
>   +<body text="#000000" bgcolor="#FFFFFF">
>   +
>   +<center>
>   +<h1>
>   +<img SRC="axis.jpg" height=96 width=176></h1></center>
>   +
>   +<h1>
>   +Axis Architecture Guide</h1>
>   +<font face="Lucida Sans"><font color="#CC0000"><font 
> size=+3>Under construction
>   +....</font></font></font>
>   +<br><i>Post-Alpha 3 Version</i>
>   +<br><i>Feedback: <a 
> href="mailto:axis-dev@xml.apache.org">axis-dev@xml.apache.org</a></i>
>   +<h3>
>   +Contents</h3>
>   +<a href="#Introduction">Introduction</a>
>   +<br><a href="#Overview">Architecture Overview</a>
>   +<br><a href="#Subsystems">Subsystems</a>
>   +<br><a href="#Message Flow">Message Flow Subsystem</a>
>   +<br>&nbsp;&nbsp;&nbsp; <a href="#Handlers">Handlers and Chains</a>
>   +<br>&nbsp;&nbsp;&nbsp; <a href="#Message Contexts">Message 
> Contexts</a>
>   +<br>&nbsp;&nbsp;&nbsp; <a href="#Engine">Engine</a>
>   +<br><a href="#Administration Subsystem">Administration 
> Subsystem</a>
>   +<br><a href="#Message Model Subsystem">Message Model Subsystem</a>
>   +<br>&nbsp;&nbsp;&nbsp; <a href="#SOAP message model">SOAP 
> Message Model</a>
>   +<br>&nbsp;&nbsp;&nbsp; <a href="#Message elements">Message 
> Elements</a>
>   +<br><a href="#Encoding Subsystem">Encoding Subsystem</a>
>   +<br><a href="#WSDL Subsystem">WSDL Tools Subsystem</a>
>   +<br>&nbsp;&nbsp;&nbsp; <a href="#WSDL2Java">WSDL2Java</a>
>   +<br><a href="#Sequence Diagrams">Interaction Diagrams</a>
>   +<br>&nbsp;&nbsp;&nbsp; <a href="#Client 
> Interaction">Client Side Processing</a>
>   +<br><a href="#Open Issues">Open Issues</a>
>   +<h2>
>   +<a NAME="Introduction"></a>Introduction</h2>
>   +This guide records some of the rationale of the 
> architecture and design
>   +of Axis.
>   +<h2>
>   +<a NAME="Overview"></a>Architectural Overview</h2>
>   +Axis consists of several subsystems working together, as 
> we shall see later.
>   +In this section we'll give you an overview of how the core 
> of Axis works.
>   +<h3>
>   +Handlers and the Message Path in Axis</h3>
>   +Put simply, Axis is all about processing Messages. When 
> the central Axis
>   +processing logic runs, a series of <b>Handlers</b> are 
> each invoked in
>   +order. The particular oder is determined by two factors - 
> deployment configuration
>   +and whether the engine is a client or a server. The object 
> which is passed
>   +to each Handler invocation is a <b>MessageContext</b>. A 
> MessageContext
>   +is a structure which contains several important parts: 1) 
> a "request" message,
>   +2) a "response" message, and 3) a bag of properties. More 
> on this in a
>   +bit.
>   +<p>There are two basic ways in which Axis is invoked:
>   +<ol>
>   +<li>
>   +As a <b>server</b>, a <b>Transport Listener</b> will 
> create a MessageContext
>   +and invoke the Axis processing framework.</li>
>   +
>   +<li>
>   +As a <b>client</b>, application code (usually aided by the 
> client programming
>   +model of Axis) will generate a MessageContext and invoke 
> the Axis processing
>   +framework.</li>
>   +</ol>
>   +In either case, the Axis framework's job is simply to pass 
> the resulting
>   +MessageContext through a configurable set of Handlers, 
> each of which has
>   +an opportunity to do whatever it is designed to do with 
> the MessageContext.
>   +<h3>
>   +Message Path on the Server</h3>
>   +The server side message path is shown in the following 
> diagram. The small
>   +cylinders represent Handlers and the larger, enclosing 
> cylinders represent
>   +Chains.
>   +<br><img SRC="ServerMessagePath.jpg" VSPACE=30 height=282 
> width=602>
>   +<br>A message arrives (in some protocol-specific manner) 
> at a Transport
>   +Listener. In this case, let's assume the Listener is a 
> HTTP servlet. It's
>   +the Listener's job to package the protocol-specific data 
> into a <b>Message</b>
>   +object (org.apache.axis.Message), and put the Message into 
> a <b>MessageContext</b>.
>   +The MessageContext is also loaded with various 
> <b>properties</b> by the
>   +Listener -&nbsp; in this example the property 
> "http.SOAPAction" would be
>   +set to the value of the SOAPAction HTTP header. The 
> Transport Listener
>   +also sets the <b>transportName</b> String on the 
> MessageContext , in this
>   +case to "http". Once the MessageContext is ready to go, 
> the Listener hands
>   +it to the AxisEngine.
>   +<p>The AxisEngine's first job is to look up the transport 
> by name. The
>   +transport is an object which contains a <b>request</b> 
> Chain, a <b>response</b>
>   +Chain, or perhaps both. A <b>Chain</b> is a Handler 
> consisting of a sequence
>   +of Handlers which are invoked in turn -- more on Chains 
> later. If a transport
>   +request Chain exists, it will be invoked, passing the 
> MessageContext into
>   +the invoke() method. This will result in calling all the 
> Handlers specified
>   +in the request Chain configuration.
>   +<p>After the transport request Handler, the engine locates 
> a global request
>   +Chain, if configured (in the &lt;requestFlow> element of 
> the WSDD &lt;globalConfiguration>,
>   +as explained in the WSDD deployment section later in this 
> document), and
>   +then invokes any Handlers specified therein.
>   +<p>At some point during the processing up until now, some 
> Handler has hopefully
>   +set the <b>serviceHandler</b> field of the MessageContext 
> (this is usually
>   +done in the HTTP transport by the "URLMapper" Handler, 
> which maps a URL
>   +like "http://localhost/axis/services/AdminService" to the 
> "AdminService"
>   +service). This field determines the Handler we'll invoke 
> to execute service-specific
>   +functionality, such as making an RPC call on a back-end 
> object. Services
>   +in Axis are typically instances of the "SOAPService" class 
> (org.apache.axis.handlers.soap.SOAPService),
>   +which may contain <b>request</b> and <b>response</b> 
> Chains (similar to
>   +what we saw at the transport and global levels), and must 
> contain a <b>provider</b>,
>   +which is simply a Handler responsible for implementing the 
> actual back
>   +end logic of the service.
>   +<p>In typical RPC examples, the provider is the 
> org.apache.axis.providers.java.RPCProvider
>   +class. This is just another Handler that, when invoked, 
> attempts to call
>   +a backend Java object whose class is determined by the 
> "className" parameter
>   +specified at deployment time. It uses the SOAP RPC 
> convention for determining
>   +the method to call, and makes sure the types of the 
> incoming XML-encoded
>   +arguments match the types of the required parameters of 
> the resulting method.
>   +<h3>
>   +The Message Path on the Client</h3>
>   +The Message Path on the client side is similar to that on 
> the server side,
>   +except the order of scoping is reversed, as shown below.
>   +<br><img SRC="ClientMessagePath.jpg" VSPACE=30 height=281 
> width=592>
>   +<br>The <b>service</b> Handler, if any, is called first - 
> on the client
>   +side, there is no "provider" since the service is being 
> provided by a remote
>   +node, but there is still the possibility of request and 
> response Chains.
>   +The service request and response Chains serve to do any 
> service-specific
>   +processing of the request message on its way out of the 
> system, and also
>   +of the response message on its way back to the caller.
>   +<p>After the service request Chain, the global request 
> Chain, if any, is
>   +invoked, followed by the transport. The <b>Transport 
> Sender</b>, a special
>   +Handler whose job it is to actually perform whatever 
> protocol-specific
>   +operations are necessary to get the message to and from 
> the target SOAP
>   +server, is invoked to send the message. The response (if 
> any) is placed
>   +into the responseMessage field of the MessageContext, and 
> the MessageContext
>   +then propagates through the response Chains - first the 
> transport, then
>   +the global, and finally the service.
>   +<h2>
>   +<a NAME="Subsystems"></a>Subsystems</h2>
>   +Axis comprises several subsystems working together with 
> the aim of separating
>   +responsibilities cleanly and making Axis modular. 
> Subsystems which are
>   +properly layered enable parts of a system to be used 
> without having to
>   +use the whole of it (or hack the code).
>   +<p>The following diagram shows the layering of subsystems. 
> The lower layers
>   +are independent of the higher layers. The 'stacked' boxes 
> represent mutually
>   +independent, although not necessary mutually exclusive, 
> alternatives. For
>   +example, the HTTP and SMTP transports are independent of 
> each other but
>   +may be used together.
>   +<p><img SRC="subsystems.jpg">
>   +<h2>
>   +<a NAME="Message Flow"></a>Message Flow Subsystem</h2>
>   +
>   +<h3>
>   +<a NAME="Handlers"></a>Handlers and Chains</h3>
>   +Handlers are invoked in sequence to process messages. At 
> some point in
>   +the sequence a Handler may send a request and receive a 
> response or else
>   +process a request and produce a response. Such a Handler 
> is known as the
>   +<i>pivot
>   +point</i> of the sequence. As described above, Handlers 
> are either transport-specific,
>   +service-specific, or global. The Handlers of each of these 
> three different
>   +kinds are combined together into Chains. So the overall 
> sequence of Handlers
>   +comprises three Chains: transport, global, and service. 
> The following diagram
>   +shows two sequences of handlers: the client-side sequence 
> on the left and
>   +the server-side sequence on the right.
>   +<br><img SRC="pivots.jpg" height=240 width=403>
>   +<p>A web service does not necessarily send a response 
> message to each request
>   +message, although many do. However, response Handlers are 
> still useful
>   +in the message path even when there isn't a response 
> message, e.g. to stop
>   +timers, clean up resources, etc.
>   +<p>A Chain is a composite Handler, i.e. it aggregates a 
> collection of Handlers
>   +as well as implementing the Handler interface as shown in 
> the following
>   +diagram:
>   +<br><img SRC="chainclasses.jpg" height=297 width=267>
>   +<p>Back to message processing -- a message is processed by 
> passing through
>   +the appropriate Chains. A message context is used to pass 
> the message and
>   +associated environment through the sequence of Handlers. 
> The model is that
>   +Axis Chains are constructed offline by having Handlers 
> added to them one
>   +at a time. Then they are made online and message contexts 
> start to flow
>   +through the Chains. Multiple message contexts may flow 
> through a single
>   +Chain concurrently. Handlers are never added to a Chain 
> once it goes online.
>   +If a Handler needs to be added or removed, the Chain must 
> be 'cloned',
>   +the modifications made to the clone, and then the clone 
> made online and
>   +the old Chain retired when it is no longer in use. Message 
> contexts that
>   +were using the old Chain continue to use it until they are 
> finished. This
>   +means that Chains do not need to cope with the addition 
> and removal of
>   +Handlers while the Chains are processing message contexts 
> -- an important
>   +simplification.
>   +<p>The deployment registry has factories for Handlers and 
> Chains. Handlers
>   +and Chains can be defined to have 'per-access', 
> 'per-request', or 'singleton'
>   +scope although the registry currently only distinguishes 
> between these
>   +by constructing non-singleton scope objects when requested 
> and constructing
>   +'singleton scope objects once and holding on to them for 
> use on subsequent
>   +creation requests.
>   +<h4>
>   +Targeted Chains</h4>
>   +A <b>Targeted Chain</b> is a special kind of chain which 
> may have any or
>   +all of: a request Handler, a pivot Handler, and a response 
> Handler. The
>   +following class diagram shows how Targeted Chains relate 
> to Chains. Note
>   +that a Targeted Chain is an aggregation of Handlers by 
> virtue of extending
>   +the Chain interface which is an aggregation of Handlers.
>   +<p><img SRC="targetedchainclasses.jpg" height=288 width=253>
>   +<p>A service is a special kind of Targeted Chain in which 
> the pivot Handler
>   +is known as a "provider".
>   +<h4>
>   +Fault Processing</h4>
>   +Now let's consider what happens when a fault occurs. The 
> Handlers prior
>   +to the Handler that raised the fault are driven, in 
> reverse order, for
>   +onFault (previously misnamed 'undo'). The scope of this 
> backwards scan
>   +is interesting: all Handlers previously invoked for the 
> current Message
>   +Context are driven.
>   +<p><i>Need to explain how "FaultableHandlers" and "WSDD 
> Fault Flows" fit
>   +in.</i>
>   +<h3>
>   +<a NAME="Message Contexts"></a>Message Contexts</h3>
>   +The current structure of a MessageContext is shown below. 
> Each message
>   +context may be associated with a request Message and/or a 
> response Message.
>   +Each Message has a SOAPPart and an Attachments object, 
> both of which implement
>   +the Part interface.
>   +<br><img SRC="messagecontext.jpg" height=140 width=597>
>   +<br>The typing of Message Contexts needs to be carefully 
> considered in
>   +relation to the Axis architecture. Since a Message Context 
> appears on the
>   +Handler interface, it should not be tied to or biassed in 
> favour of&nbsp;
>   +SOAP. The current implementation is marginally biassed 
> towards SOAP in
>   +that the setServiceHandler method narrows the specified 
> Handler to a SOAPService.
>   +But if we were to factor out a more abstract Message 
> Context interface,
>   +we would then be then faced with a problem. Some Handlers, 
> most likely
>   +in the global layer, would need to accept a Message 
> Context with a particular
>   +concete type (e.g. for a HTTP transport) and produce a 
> Message Context
>   +of a different concrete type (e.g. for a SOAP service) and 
> so Handler.invoke
>   +would need a more complex signature.
>   +<h3>
>   +<a NAME="Engine"></a>Engine</h3>
>   +Axis has an abstract AxisEngine class with two concrete 
> subclasses: AxisClient
>   +drives the client side handler chains and AxisServer 
> drives the server
>   +side handler chains. The relationships between these 
> classes is fairly
>   +simple:
>   +<br><img SRC="engineclasses.jpg" height=242 width=169>
>   +<h4>Engine Configuration</h3>
>   +The EngineConfiguration interface is the means of 
> configuring the Handler
>   +factories and global options of an engine instance. An 
> instance of a
>   +concrete implementation of EngineConfiguration must be 
> passed to the engine
>   +when it is created and the engine must be notified if the 
> EngineConfiguration
>   +contents are modified. The engine keeps a reference to the 
> EngineConfiguration
>   +and then uses it to obtain Handler factories and global options.
>   +<p>
>   +The EngineConfiguration interface belongs to the Message 
> Flow subsystem
>   +which means that the Message Flow subsystem does not depend on the
>   +Administration subsystem.
>   +<h2>
>   +<a NAME="Administration Subsystem"></a>Administration 
> Subsystem</h2>
>   +The Administration subsystem provides a way of configuring 
> Axis engines.
>   +The configuration information an engine needs is a 
> collection of factories for
>   +runtime artefacts such as Chains and SOAPServices and a 
> set of global
>   +configuration options for the engine.
>   +<p>
>   +The Message Flow subsystem's EngineConfiguration interface
>   +is implemented by the Administration subsystem. 
> FileProvider enables
>   +an engine to be configured statically from a file containing a
>   +deployment descriptor which is understood by the 
> WSDDDeployment class.
>   +SimpleProvider, on the other hand, enables an engine to be 
> configured
>   +dynamically.
>   +<br><img SRC="engineconfig.jpg">
>   +<h3>
>   +WSDD-Based Administration</h3>
>   +WSDD is an XML grammer for deployment descriptors which are used to
>   +statically configuring Axis engines.
>   +Each Handler needs configuration in terms of the concrete 
> class name
>   +of a factory for the Handler, a set of options for the handler, and
>   +a lifecycle scope value which determines the scope of sharing of
>   +instances of the Handler.
>   +<p>
>   +The structure of the WSDD grammar is mirrored by a class 
> hierarchy of factories
>   +for runtime artefacts.
>   +The following diagram shows the classes and the types of runtime
>   +artefacts they produce (a dotted arrow means "instantiates").
>   +<br><img SRC="wsddclasses.jpg">
>   +<h2>
>   +<a NAME="Message Model Subsystem"></a>Message Model Subsystem</h2>
>   +<a name="SOAP message model"></a><h3>SOAP Message Model</h3>
>   +The XML syntax of a SOAP message is fairly simple.
>   +A SOAP message consists of an <i>envelope</i> containing:
>   +<ul>
>   +<li>an optional <i>header</i> containing zero or more 
> <i>header entries</i>
>   +(sometimes ambiguously referred to as <i>headers</i>),</li>
>   +<li>a <i>body</i> containing zero or more <i>body 
> entries</i>, and</li>
>   +<li>zero or more additional, non-standard elements.</li>
>   +</ul>
>   +The only body entry defined by SOAP is a <i>SOAP fault</i> which is
>   +used for reporting errors.
>   +<p>
>   +Some of the XML elements of a SOAP message define 
> namespaces, each in terms
>   +of a URI and a local name, and encoding styles, a standard 
> one of which
>   +is defined by SOAP.
>   +<p>
>   +Header entries may be tagged with the following optional 
> SOAP attributes:
>   +<ul>
>   +<li><i>actor</i> which specifies the intended recipient of 
> the header
>   +entry in terms of a URI, and</li>
>   +<li><i>mustUnderstand</i> which specifies whether or not 
> the intended
>   +recipient of the header entry is required to process the header
>   +entry.</li>
>   +</ul>
>   +<p>
>   +So the SOAP message model looks like this:
>   +<br><img SRC="soapmessagemodel.jpg">
>   +
>   +<a name="Message elements"></a><h3>Message Elements</h3>
>   +The classes which represent SOAP messages form a hierarchy based on
>   +the MessageElement class which takes care of namespaces 
> and encodings.
>   +The SOAPHeader class looks after the actor and 
> mustUnderstand attributes.
>   +<br><img SRC="messagemodelclasses.jpg">
>   +
>   +<h2>
>   +<a NAME="Encoding Subsystem"></a>Encoding Subsystem</h2>
>   +Encoding is most easily understood from the bottom up. The basic
>   +requirement is to transform between values of programming language
>   +datatypes and their XML representations. In Axis, this means
>   +encoding (or 'serializing') Java objects and primitives into XML
>   +and decoding (or 'deserializing') XML into Java objects 
> and primitives.
>   +The basic classes that implement these steps are <i>serializers</i>
>   +and <i>deserializers</i>.
>   +<br><img SRC="serclasses.jpg">
>   +<p>
>   +Particular serializers and deserializers are written to support
>   +a specific XML processing mechanism such as DOM or SAX.
>   +So <i>serializer factories</i> and <i>deserializer factories</i>
>   +are introduced to construct serializers and deserializers
>   +for a XML processing mechanism which is specified
>   +as a parameter.
>   +<br><img SRC="serfactoryclasses.jpg">
>   +<p>
>   +As is apparent from the above class diagrams, each pair of Java
>   +type and XML data type which needs encoding
>   +and decoding requires specific serializers and 
>   +deserializers (actually one of each per XML processing mechanism).
>   +So we need to maintain a mapping from a pair of Java type 
> and XML data
>   +type, identified by a QName, to a serializer factory and a
>   +deserializer factory.
>   +Such a mapping is known as a <i>type mapping</i>.
>   +The type mapping class hierarchy is shown below. Notice how
>   +the default type mapping instantiates the various serializer and
>   +deserialiser factories.
>   +<br><img SRC="typemappingclasses.jpg">
>   +<p>
>   +There is one final level of indirection. How do we know
>   +which type mapping to use for a particular message?
>   +This is determined by the encoding which is specified in
>   +the message. A <i>type mapping registry</i> maintains
>   +a map from encoding name (URI) to type mapping.
>   +Note that the XML data type QNames are defined by the encoding.
>   +<br><img SRC="typemappingclasses.jpg">
>   +<p>
>   +So, in summary, to encode a Java object or primitive data value
>   +to a XML datatype or to decode the latter to the former,
>   +we need to know:
>   +<ul>
>   +<li>the Java type we are dealing with,</li>
>   +<li>the QName of the XML data type we want to encode it as,</li>
>   +<li>the XML processing mechanism we are using, and</li>
>   +<li>the encoding name.</li>
>   +<eul>
>   +
>   +<h2>
>   +<a NAME="WSDL Subsystem"></a>WSDL Tools Subsystem</h2>
>   +The WSDL Tools subsystem contains WSDL2Java and Java2WSDL. The
>   +Axis runtime does not depend on these tools -- they are just there
>   +to make life easier for the user.
>   +
>   +<a name="WSDL2Java"></a><h3>WSDL2Java</h3>
>   +This tool takes a description of a web service written in WSDL
>   +and emits Java artefacts used to access the web service.
>   +<p>
>   +There are three layers inside the tool:
>   +<ul>
>   +<li>framework:  SymbolTable, Emitter, WriterFactory</li>
>   +<li>WSDL2Java plugin to the framework:  WSDL2Java (the main),
>   +JavaWriterFactory, and all the WSDL-relative writers:  
> JavaPortTypeWriter,
>   +JavaBindingWriter, etc.</li>
>   +<li>The actual WSDL2Java emitters, one for each file generated:
>   +JavaInterfaceWriter, JavaStubWriter, etc.</li>
>   +</ul>
>   +
>   +<a name="Java2WSDL"></a><h3>Java2WSDL</h3>
>   +tbd.
>   +
>   +<h2>
>   +<a NAME="Sequence Diagrams"></a>Interaction Diagrams</h2>
>   +
>   +<h3>
>   +<a NAME="Client Interaction"></a>Client Side Processing</h3>
>   +The client side Axis processing constructs a Call object 
> with associated
>   +Service, MessageContext, and request Message as shown 
> below before invoking
>   +the AxisClient engine.
>   +<p><img SRC="clientobjects.jpg" height=120 width=349>
>   +<br>An instance of&nbsp; Service and its related 
> AxisClient instance are
>   +created before the Call object. The Call object is then 
> created by invoking
>   +the Service.createCall <i>factory method</i>. 
> Call.setOperation creates
>   +a Transport instance, if a suitable one is not already 
> associated with
>   +the Call instance. Then Call.invoke creates a 
> MessageContext and associated
>   +request Message, drives AxisClient.invoke, and processes 
> the resultant
>   +MessageContext. This significant method calls in this 
> sequence are shown
>   +in the following interaction diagram.
>   +<br><img SRC="clientinteraction.jpg" height=503 width=731>
>   +<h2>
>   +<a NAME="Open Issues"></a>Open Issues</h2>
>   +
>   +<ol>
>   +<li>
>   +&nbsp;The relationship between the Axis subsystems needs 
> to be documented
>   +and somewhat cleaned up as there is leakage of 
> responsibilities between
>   +some of the subsystems. For example,
>   +there is some SOAP and HTTP bias in the basic MessageContext
>   +type and associated classes.</li>
>   +
>   +<li>
>   +What classes are included in the "encoding" subsystem?
>   +Are the encoding and message model subsystems independent 
> of the other subsystems which depend on
>   +"message flow"?</li>
>   +
>   +<li>
>   +(Possibly related to the previous issue) How should we 
> distribute the classes
>   +in the above diagram between the Axis subsystems taking 
> into account&nbsp;
>   +SOAP-specific and HTTP-specific features?</li>
>   +
>   +<li>
>   +The Axis Engine currently knows about thee layers of 
> handlers: transport,
>   +global, and service. However, architecturally, this is 
> rather odd. What
>   +"law" of web services ensures that there will always and 
> only ever be <i>three</i>
>   +layers? It would be more natural to use Targeted Chains 
> with their more
>   +primitive notion of request, pivot, and response Handlers. 
> We would then
>   +implemented the Axis Engine as a Targeted Chain whose 
> pivot Handler is
>   +itself a Targeted Chain with global request and response 
> Handlers and a
>   +service pivot Handler (which is itself a Targeted Chain as 
> we have just
>   +described). Such an Axis Engine architecture is shown in 
> the diagram below.</li>
>   +
>   +<br><img SRC="stcengine.jpg" height=312 width=667>
>   +<li>
>   +WSDDService.faultFlows is initialised to an empty Vector 
> and there is no
>   +way of adding a fault flow to it. Is this dead code or is 
> something else
>   +missing?</li>
>   +
>   +<li>
>   +If a fault occurs after the pivot Handler, should the 
> backwards scan notify
>   +Handlers which were invoked prior to the pivot Handler? 
> The current implementation
>   +does notify such Handlers. However, this is not consistent 
> with the processing
>   +of faults raised in a downstream system and stored in the 
> message context
>   +by the pivot Handler. These faults are passed through any 
> response Handlers,
>   +but do not cause onFault to be driven in the local engine.</li>
>   +
>   +<br>&nbsp;
>   +<p>&nbsp;
>   +<br>&nbsp;
>   +<br>&nbsp;
>   +<p>We need to consider what's going on here. If you take a 
> sequence of
>   +Handlers and then introduce a distribution boundary into 
> the sequence,
>   +what effect should that have on the semantics of the 
> sequence in terms
>   +of its effects on message contexts? The following diagram 
> shows a client-side
>   +Handler sequence invoking a server-side Handler sequence. 
> We need to consider
>   +how the semantics of this combined sequence compares with 
> the sequence
>   +formed by omitting the transport-related Handlers.
>   +<br><img SRC="pivots2.jpg" height=413 width=658>
>   +</ol>
>   +
>   +</body>
>   +</html>
>   
>   
>   
>   1.1                  xml-axis/java/lib/commons-logging.LICENSE
>   
>   Index: commons-logging.LICENSE
>   ===================================================================
>   /*
>   
>    
> ==============================================================
> ==============
>                      The Apache Software License, Version 1.1
>    
> ==============================================================
> ==============
>    
>    Copyright (C) @year@ The Apache Software Foundation. All 
> rights reserved.
>    
>    Redistribution and use in source and binary forms, with or 
> without modifica-
>    tion, are permitted provided that the following conditions are met:
>    
>    1. Redistributions of  source code must  retain the above 
> copyright  notice,
>       this list of conditions and the following disclaimer.
>    
>    2. Redistributions in binary form must reproduce the above 
> copyright notice,
>       this list of conditions and the following disclaimer in 
> the documentation
>       and/or other materials provided with the distribution.
>    
>    3. The end-user documentation included with the 
> redistribution, if any, must
>       include  the following  acknowledgment:  "This product 
> includes  software
>       developed  by the  Apache Software Foundation  
> (http://www.apache.org/)."
>       Alternately, this  acknowledgment may  appear in the 
> software itself,  if
>       and wherever such third-party acknowledgments normally appear.
>    
>    4. The names "Jakarta", "Avalon", "Excalibur" and "Apache 
> Software Foundation"  
>       must not be used to endorse or promote products derived 
> from this  software 
>       without  prior written permission. For written 
> permission, please contact 
>       apache@apache.org.
>    
>    5. Products  derived from this software may not  be called 
> "Apache", nor may
>       "Apache" appear  in their name,  without prior written 
> permission  of the
>       Apache Software Foundation.
>    
>    THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR 
> IMPLIED WARRANTIES,
>    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
> MERCHANTABILITY AND
>    FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO 
>  EVENT SHALL  THE
>    APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE 
> LIABLE FOR  ANY DIRECT,
>    INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR 
> CONSEQUENTIAL  DAMAGES (INCLU-
>    DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS 
> OR SERVICES; LOSS
>    OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  
> HOWEVER CAUSED AND ON
>    ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT 
> LIABILITY,  OR TORT
>    (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY 
> OUT OF THE  USE OF
>    THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>    
>    This software  consists of voluntary contributions made  
> by many individuals
>    on  behalf of the Apache Software  Foundation and was  
> originally created by
>    Stefano Mazzocchi  <stefano@apache.org>. For more  
> information on the Apache 
>    Software Foundation, please see <http://www.apache.org/>.
>    
>   */
>   
>   
>   
>   1.1                  xml-axis/java/lib/commons-logging.jar
>   
>   	<<Binary file>>
>   
>   
>   1.5       +6 -5      
> xml-axis/java/samples/addr/AddressBookTestCase.java
>   
>   Index: AddressBookTestCase.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/samples/addr/AddressBookTestCase.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- AddressBookTestCase.java	30 Oct 2001 16:46:31 
> -0000	1.4
>   +++ AddressBookTestCase.java	19 Feb 2002 17:38:18 
> -0000	1.5
>   @@ -57,13 +57,14 @@
>    
>    import junit.framework.TestCase;
>    import org.apache.axis.AxisFault;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    /** Test the address book sample code.
>     */
>    public class AddressBookTestCase extends TestCase {
>   -    static Category category =
>   -            
> Category.getInstance(AddressBookTestCase.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(AddressBookTestCase.class.getName());
>    
>        public AddressBookTestCase(String name) {
>            super(name);
>   @@ -76,9 +77,9 @@
>    
>        public void testAddressBookService () throws Exception {
>            try {
>   -            category.info("Testing address book sample.");
>   +            log.info("Testing address book sample.");
>                doTest();
>   -            category.info("Test complete.");
>   +            log.info("Test complete.");
>            }
>            catch( Exception e ) {
>                if ( e instanceof AxisFault ) ((AxisFault)e).dump();
>   
>   
>   
>   1.6       +1 -1      xml-axis/java/samples/addr/readme
>   
>   Index: readme
>   ===================================================================
>   RCS file: /home/cvs/xml-axis/java/samples/addr/readme,v
>   retrieving revision 1.5
>   retrieving revision 1.6
>   diff -u -r1.5 -r1.6
>   --- readme	22 Jan 2002 21:38:51 -0000	1.5
>   +++ readme	19 Feb 2002 17:38:18 -0000	1.6
>   @@ -1,6 +1,6 @@
>    The address book sample requires that you generate the 
> Java bindings from the AddressBook.wsdl file.
>    
>   -First, set up the CLASSPATH.  It must contain an XML 
> parser (ie., xerces.jar); all the jars in the lib directory:  
> axis.jar, clutil.jar, log4j-core.jar, and wsdl4j.jar; and the 
> directory containing the samples subdirectory.
>   +First, set up the CLASSPATH.  It must contain an XML 
> parser (ie., xerces.jar); all the jars in the lib directory:  
> axis.jar, clutil.jar, commons-logging.jar, log4j-core.jar, 
> and wsdl4j.jar; and the directory containing the samples subdirectory.
>    
>    Now change directory to the directory that contains the 
> samples subdirectory.
>    
>   
>   
>   
>   1.2       +4 -3      
> xml-axis/java/samples/echo/echoHeaderStringHandler.java
>   
>   Index: echoHeaderStringHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/samples/echo/echoHeaderStringHandler.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- echoHeaderStringHandler.java	10 Feb 2002 02:23:53 
> -0000	1.1
>   +++ echoHeaderStringHandler.java	19 Feb 2002 17:38:18 
> -0000	1.2
>   @@ -63,7 +63,8 @@
>    import org.apache.axis.message.SOAPEnvelope;
>    import org.apache.axis.message.SOAPHeader;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    /** This handler processes the SOAP header "echoMeString" 
> defined in the 
>     *  SOAPBuilder Round2C interop tests.
>   @@ -75,8 +76,8 @@
>     */
>    public class echoHeaderStringHandler extends BasicHandler
>    {
>   -    static Category category =
>   -            
> Category.getInstance(echoHeaderStringHandler.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(echoHeaderStringHandler.class.getName());
>    
>        public static final String ECHOHEADER_STRING_ID = 
> "echoHeaderStringHandler.id";
>        public static final String HEADER_NS = 
> "http://soapinterop.org/echoheader/";
>   
>   
>   
>   1.2       +4 -3      
> xml-axis/java/samples/echo/echoHeaderStructHandler.java
>   
>   Index: echoHeaderStructHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/samples/echo/echoHeaderStructHandler.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- echoHeaderStructHandler.java	10 Feb 2002 02:23:53 
> -0000	1.1
>   +++ echoHeaderStructHandler.java	19 Feb 2002 17:38:18 
> -0000	1.2
>   @@ -63,7 +63,8 @@
>    import org.apache.axis.message.SOAPEnvelope;
>    import org.apache.axis.message.SOAPHeader;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import javax.xml.rpc.namespace.QName;
>    /** This handler processes the SOAP header "echoMeStruct" 
> defined in the 
>   @@ -76,8 +77,8 @@
>     */
>    public class echoHeaderStructHandler extends BasicHandler
>    {
>   -    static Category category =
>   -            
> Category.getInstance(echoHeaderStringHandler.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(echoHeaderStringHandler.class.getName());
>    
>        public static final String ECHOHEADER_STRUCT_ID = 
> "echoHeaderStructHandler.id";
>        public static final String HEADER_NS = 
> "http://soapinterop.org/echoheader/";
>   
>   
>   
>   1.4       +5 -4      
> xml-axis/java/samples/security/ClientSigningHandler.java
>   
>   Index: ClientSigningHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/samples/security/ClientSigningHandler.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- ClientSigningHandler.java	13 Feb 2002 15:21:16 
> -0000	1.3
>   +++ ClientSigningHandler.java	19 Feb 2002 17:38:18 
> -0000	1.4
>   @@ -61,11 +61,12 @@
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.handlers.BasicHandler;
>    import org.apache.axis.message.SOAPEnvelope;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    public class ClientSigningHandler extends BasicHandler {
>   -    static Category category =
>   -            
> Category.getInstance(ClientSigningHandler.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(ClientSigningHandler.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>            /** Sign the SOAPEnvelope
>   @@ -94,7 +95,7 @@
>            try {
>                // probably needs to fault.
>            } catch (Exception e) {
>   -            category.error(e);
>   +            log.error(e);
>            }
>        }
>    }
>   
>   
>   
>   1.5       +5 -4      xml-axis/java/samples/security/LogHandler.java
>   
>   Index: LogHandler.java
>   ===================================================================
>   RCS file: /home/cvs/xml-axis/java/samples/security/LogHandler.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- LogHandler.java	13 Feb 2002 17:00:24 -0000	1.4
>   +++ LogHandler.java	19 Feb 2002 17:38:18 -0000	1.5
>   @@ -61,7 +61,8 @@
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.handlers.BasicHandler;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.apache.xml.security.signature.XMLSignature;
>    import org.apache.xml.security.utils.Constants;
>    import org.apache.xpath.CachedXPathAPI;
>   @@ -72,8 +73,8 @@
>    import java.io.PrintWriter;
>    
>    public class LogHandler extends BasicHandler {
>   -    static Category category =
>   -            Category.getInstance(LogHandler.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(LogHandler.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>            try {
>   @@ -129,7 +130,7 @@
>                pw.println("=====================");
>                pw.close();
>            } catch (Exception e) {
>   -            category.error(e);
>   +            log.error(e);
>            }
>        }
>    }
>   
>   
>   
>   1.16      +14 -13    
> xml-axis/java/samples/transport/tcp/TCPListener.java
>   
>   Index: TCPListener.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/samples/transport/tcp/TCPListener.java,v
>   retrieving revision 1.15
>   retrieving revision 1.16
>   diff -u -r1.15 -r1.16
>   --- TCPListener.java	28 Jan 2002 18:22:59 -0000	1.15
>   +++ TCPListener.java	19 Feb 2002 17:38:18 -0000	1.16
>   @@ -68,7 +68,8 @@
>    import org.apache.axis.configuration.XMLStringProvider;
>    import org.apache.axis.server.AxisServer;
>    import org.apache.axis.utils.Options;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import javax.xml.rpc.namespace.QName;
>    import java.io.BufferedOutputStream;
>   @@ -89,8 +90,8 @@
>     * @author Doug Davis (dug@us.ibm.com)
>     */
>    public class TCPListener implements Runnable {
>   -    static Category category =
>   -            Category.getInstance(TCPSender.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TCPSender.class.getName());
>    
>        // These have default values.
>        private String transportName = "TCPTransport";
>   @@ -125,18 +126,18 @@
>                Options options = new Options(args);
>                port = new URL(options.getURL()).getPort();
>            } catch (MalformedURLException ex) {
>   -            category.error("Hosed URL: "+ex);
>   +            log.error("Hosed URL: "+ex);
>                System.exit(1);
>            }
>    
>            try {
>                srvSocket = new ServerSocket(port);
>            } catch (IOException ex) {
>   -            category.error("Can't create server socket on 
> port "+port);
>   +            log.error("Can't create server socket on port "+port);
>                System.exit(1);
>            }
>    
>   -        category.info("TCPListener is listening on port 
> "+port+".");
>   +        log.info("TCPListener is listening on port "+port+".");
>        }
>    
>        public void run () {
>   @@ -148,13 +149,13 @@
>            while (!done) {
>                try {
>                    sock = srvSocket.accept();
>   -                category.info("TCPListener received new 
> connection: "+sock);
>   +                log.info("TCPListener received new 
> connection: "+sock);
>                    new Thread(new SocketHandler(sock)).start();
>                } catch (IOException ex) {
>                    /** stop complaining about this! it seems 
> to happen on quit,
>                        and is not worth mentioning.  unless I 
> am confused. -- RobJ
>                     */
>   -                category.debug("Got IOException on 
> srvSocket.accept: "+ex);
>   +                log.debug("Got IOException on 
> srvSocket.accept: "+ex);
>                }
>            }
>        }
>   @@ -185,7 +186,7 @@
>                try {
>                    inp = socket.getInputStream();
>                } catch (IOException ex) {
>   -                category.error("Couldn't get input stream 
> from "+socket);
>   +                log.error("Couldn't get input stream from 
> "+socket);
>                    return;
>                }
>    
>   @@ -202,7 +203,7 @@
>                    }
>                    // got to '\r', skip it and '\n'
>                    if (inp.read() != '\n') {
>   -                    category.error("Length line "+line+" 
> was not terminated with \r\n");
>   +                    log.error("Length line "+line+" was 
> not terminated with \r\n");
>                        return;
>                    }
>    
>   @@ -219,7 +220,7 @@
>                        // The following appears to deadlock.  
> It will get cleaned
>                        // up on exit anyway...
>                        // srvSocket.close();
>   -                    category.error("AxisListener quitting.");
>   +                    log.error("AxisListener quitting.");
>                        System.exit(0);
>                    }
>    
>   @@ -238,7 +239,7 @@
>                    inp.read(mBytes);
>                    msg = new Message(new 
> ByteArrayInputStream(mBytes));
>                } catch (IOException ex) {
>   -                category.error("Couldn't read from socket 
> input stream: "+ex);
>   +                log.error("Couldn't read from socket input 
> stream: "+ex);
>                    return;
>                }
>    
>   @@ -273,7 +274,7 @@
>                    buf.write(response.getBytes());
>                    buf.close();
>                } catch (IOException ex) {
>   -                category.error("Can't write response to 
> socket "+port+", response is: "+response);
>   +                log.error("Can't write response to socket 
> "+port+", response is: "+response);
>                }
>            }
>        }
>   
>   
>   
>   1.14      +17 -16    
> xml-axis/java/samples/transport/tcp/TCPSender.java
>   
>   Index: TCPSender.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/samples/transport/tcp/TCPSender.java,v
>   retrieving revision 1.13
>   retrieving revision 1.14
>   diff -u -r1.13 -r1.14
>   --- TCPSender.java	10 Jan 2002 20:00:59 -0000	1.13
>   +++ TCPSender.java	19 Feb 2002 17:38:18 -0000	1.14
>   @@ -59,7 +59,8 @@
>    import org.apache.axis.Message;
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.handlers.BasicHandler;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.io.BufferedInputStream;
>    import java.io.OutputStream;
>   @@ -72,11 +73,11 @@
>     * @author Doug Davis (dug@us.ibm.com)
>     */
>    public class TCPSender extends BasicHandler {
>   -    static Category category =
>   -            Category.getInstance(TCPSender.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TCPSender.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        category.info( "Enter: TCPSender::invoke" );
>   +        log.info( "Enter: TCPSender::invoke" );
>    
>            /* Find the service we're invoking so we can grab 
> it's options */
>            
> /***************************************************************/
>   @@ -94,7 +95,7 @@
>                Socket             sock = null ;
>    
>                sock    = new Socket( host, port );
>   -            category.info( "Created an insecure HTTP connection");
>   +            log.info( "Created an insecure HTTP connection");
>    
>                reqEnv  = (String) 
> msgContext.getRequestMessage().getSOAPPart().getAsString();
>    
>   @@ -109,11 +110,11 @@
>                out.write( bytes );
>                out.flush();
>    
>   -            category.debug( "XML sent:" );
>   -            category.debug( 
> "---------------------------------------------------");
>   -            category.debug( reqEnv );
>   +            log.debug( "XML sent:" );
>   +            log.debug( 
> "---------------------------------------------------");
>   +            log.debug( reqEnv );
>    
>   -            if ( category.isDebugEnabled() ) {
>   +            if ( log.isDebugEnabled() ) {
>                    // Special case - if the debug level is 
> this high then something
>                    // really bad must be going on - so just 
> dump the input stream
>                    // to stdout.
>   @@ -124,20 +125,20 @@
>                }
>    
>                outMsg = new Message( inp );
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( "\nNo Content-Length" );
>   -                category.debug( "\nXML received:" );
>   -                category.debug( 
> "-----------------------------------------------");
>   -                category.debug( (String) 
> outMsg.getSOAPPart().getAsString() );
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( "\nNo Content-Length" );
>   +                log.debug( "\nXML received:" );
>   +                log.debug( 
> "-----------------------------------------------");
>   +                log.debug( (String) 
> outMsg.getSOAPPart().getAsString() );
>                }
>    
>                msgContext.setResponseMessage( outMsg );
>            }
>            catch( Exception e ) {
>   -            category.error( e );
>   +            log.error( e );
>                e.printStackTrace();
>                throw AxisFault.makeFault(e);
>            }
>   -        category.info( "Exit: TCPSender::invoke" );
>   +        log.info( "Exit: TCPSender::invoke" );
>        }
>    };
>   
>   
>   
>   1.13      +7 -6      
> xml-axis/java/samples/transport/tcp/TCPTransport.java
>   
>   Index: TCPTransport.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/samples/transport/tcp/TCPTransport.java,v
>   retrieving revision 1.12
>   retrieving revision 1.13
>   diff -u -r1.12 -r1.13
>   --- TCPTransport.java	30 Oct 2001 16:46:32 -0000	1.12
>   +++ TCPTransport.java	19 Feb 2002 17:38:18 -0000	1.13
>   @@ -59,7 +59,8 @@
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.client.Call;
>    import org.apache.axis.client.Transport;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.net.URL;
>    
>   @@ -71,8 +72,8 @@
>     */
>    public class TCPTransport extends Transport
>    {
>   -    static Category category =
>   -            Category.getInstance(TCPTransport.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TCPTransport.class.getName());
>    
>        private String host;
>        private String port;
>   @@ -117,8 +118,8 @@
>            if (host != null) mc.setProperty(HOST, host);
>            if (port != null) mc.setProperty(PORT, port);
>    
>   -        category.debug( "Port = " + mc.getStrProp(PORT));
>   -        category.debug( "Host = " + mc.getStrProp(HOST));
>   +        log.debug( "Port = " + mc.getStrProp(PORT));
>   +        log.debug( "Host = " + mc.getStrProp(HOST));
>            
>            // kind of ugly... fake up a "http://host:port/" 
> url to send down the chain
>            // ROBJ TODO: clean this up so we use TCP 
> transport properties all the way down
>   @@ -126,7 +127,7 @@
>            /*
>            String url = "http://"+serv.get(HOST)+":"+serv.get(PORT);
>            
>   -        category.debug( "TCPTransport set URL to '" + url + "'");
>   +        log.debug( "TCPTransport set URL to '" + url + "'");
>            mc.setProperty(MessageContext.TRANS_URL, url);
>            */
>        }
>   
>   
>   
>   1.3       +14 -6     xml-axis/java/src/log4j.properties
>   
>   Index: log4j.properties
>   ===================================================================
>   RCS file: /home/cvs/xml-axis/java/src/log4j.properties,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- log4j.properties	16 Oct 2001 23:44:25 -0000	1.2
>   +++ log4j.properties	19 Feb 2002 17:38:18 -0000	1.3
>   @@ -1,9 +1,17 @@
>    # Set root category priority to ERROR and its only appender to A1.
>   -log4j.rootCategory=FATAL, A1
>   +log4j.rootCategory=FATAL, CONSOLE
>   +#log4j.rootCategory=INFO, CONSOLE, LOGFILE
>    
>   -# A1 is set to be a ConsoleAppender.
>   -log4j.appender.A1=org.apache.log4j.ConsoleAppender
>   +# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
>   +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
>   +log4j.appender.CONSOLE.Threshold=FATAL
>   +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
>   +log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] 
> %-5p %c %x - %m%n
>    
>   -# A1 uses PatternLayout.
>   -log4j.appender.A1.layout=org.apache.log4j.PatternLayout
>   -log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p 
> %c %x - %m%n
>   +# LOGFILE is set to be a File appender using a PatternLayout.
>   +log4j.appender.LOGFILE=org.apache.log4j.FileAppender
>   +log4j.appender.LOGFILE.File=axis.log
>   +log4j.appender.LOGFILE.Append=true
>   +log4j.appender.LOGFILE.Threshold=INFO
>   +log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
>   +log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] 
> %-5p %c %x - %m%n
>   
>   
>   
>   1.69      +10 -8     
> xml-axis/java/src/org/apache/axis/AxisEngine.java
>   
>   Index: AxisEngine.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/AxisEngine.java,v
>   retrieving revision 1.68
>   retrieving revision 1.69
>   diff -u -r1.68 -r1.69
>   --- AxisEngine.java	12 Feb 2002 12:46:23 -0000	1.68
>   +++ AxisEngine.java	19 Feb 2002 17:38:18 -0000	1.69
>   @@ -70,7 +70,9 @@
>    import org.apache.axis.utils.cache.ClassCache;
>    import org.apache.axis.providers.java.RPCProvider;
>    import org.apache.axis.providers.java.MsgProvider;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import javax.xml.rpc.namespace.QName;
>    import java.util.Hashtable;
>   @@ -87,8 +89,8 @@
>     */
>    public abstract class AxisEngine extends BasicHandler
>    {
>   -    static Category category =
>   -            Category.getInstance(AxisEngine.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(AxisEngine.class.getName());
>    
>        // Engine property names
>        public static final String PROP_XML_DECL = 
> "sendXMLDeclaration";
>   @@ -176,8 +178,8 @@
>         * (re)initialize - What should really go in here???
>         */
>        public void init() {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
> "AxisEngine::init"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
> "AxisEngine::init"));
>            }
>    
>            // The SOAP/XSD stuff is in the default 
> TypeMapping of the TypeMappingRegistry.
>   @@ -189,8 +191,8 @@
>                throw new InternalException(e);
>            }
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
> "AxisEngine::init"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
> "AxisEngine::init"));
>            }
>    
>            /*Set the default attachment implementation */
>   @@ -278,7 +280,7 @@
>            try {
>                tmr = config.getTypeMappingRegistry();
>            } catch (ConfigurationException e) {
>   -            category.error(e);
>   +            log.error(e);
>            }
>    
>            return tmr;
>   
>   
>   
>   1.3       +7 -5      
> xml-axis/java/src/org/apache/axis/ConfigurationException.java
>   
>   Index: ConfigurationException.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/ConfigurationExcep
> tion.java,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- ConfigurationException.java	28 Jan 2002 18:22:59 
> -0000	1.2
>   +++ ConfigurationException.java	19 Feb 2002 17:38:18 
> -0000	1.3
>   @@ -55,7 +55,9 @@
>    
>    package org.apache.axis;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    import java.io.StringWriter;
>    import java.io.PrintWriter;
>    import java.io.IOException;
>   @@ -68,8 +70,8 @@
>     */
>    public class ConfigurationException extends IOException {
>    
>   -    private static Category category =
>   -                
> Category.getInstance(ConfigurationException.class.getName());
>   +    private static Log log =
>   +                
> LogFactory.getLog(ConfigurationException.class.getName());
>    
>        /**
>         * Construct a ConfigurationException from a String.  
> The string is wrapped
>   @@ -89,10 +91,10 @@
>    
>            // Log the exception the first time it appears.
>            if (!(e instanceof ConfigurationException)) {
>   -            category.debug(e);
>   +            log.debug(e);
>                StringWriter writer = new StringWriter();
>                e.printStackTrace(new PrintWriter(writer));
>   -            category.debug(writer.getBuffer().toString());
>   +            log.debug(writer.getBuffer().toString());
>            }
>        }
>    }
>   
>   
>   
>   1.31      +10 -8     
> xml-axis/java/src/org/apache/axis/FaultableHandler.java
>   
>   Index: FaultableHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/FaultableHandler.java,v
>   retrieving revision 1.30
>   retrieving revision 1.31
>   diff -u -r1.30 -r1.31
>   --- FaultableHandler.java	10 Jan 2002 20:00:59 -0000	1.30
>   +++ FaultableHandler.java	19 Feb 2002 17:38:18 -0000	1.31
>   @@ -57,7 +57,9 @@
>    
>    import org.apache.axis.handlers.BasicHandler;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import javax.xml.rpc.namespace.QName;
>    import java.util.Enumeration;
>   @@ -72,8 +74,8 @@
>     * @author Glen Daniels (gdaniels@macromedia.com)
>     */
>    public class FaultableHandler extends BasicHandler {
>   -    static Category category =
>   -            Category.getInstance(FaultableHandler.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(FaultableHandler.class.getName());
>    
>        protected Handler    workHandler ;
>    
>   @@ -101,12 +103,12 @@
>         * and already done its fault processing - as needed.
>         */
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "FaultableHandler::invoke"));
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "FaultableHandler::invoke"));
>            try {
>                workHandler.invoke( msgContext );
>            }
>            catch( Exception e ) {
>   -            category.error( e );
>   +            log.error( e );
>                AxisFault fault = AxisFault.makeFault(e);
>    
>                AxisEngine engine = msgContext.getAxisEngine();
>   @@ -144,16 +146,16 @@
>                    throw fault;
>                }
>            }
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "FaultableHandler::invoke"));
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "FaultableHandler::invoke"));
>        }
>    
>        /**
>         * Some handler later on has faulted so we need to 
> process the fault.
>         */
>        public void onFault(MessageContext msgContext) {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "FaultableHandler::onFault"));
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "FaultableHandler::onFault"));
>            workHandler.onFault( msgContext );
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "FaultableHandler::onFault"));
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "FaultableHandler::onFault"));
>        };
>    
>        public boolean canHandleBlock(QName qname) {
>   
>   
>   
>   1.3       +9 -7      
> xml-axis/java/src/org/apache/axis/InternalException.java
>   
>   Index: InternalException.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/InternalException.java,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- InternalException.java	8 Jan 2002 14:51:39 -0000	1.2
>   +++ InternalException.java	19 Feb 2002 17:38:18 -0000	1.3
>   @@ -55,7 +55,9 @@
>    
>    package org.apache.axis;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    import java.io.StringWriter;
>    import java.io.PrintWriter;
>    
>   @@ -69,8 +71,8 @@
>     */
>    public class InternalException extends RuntimeException {
>    
>   -    private static Category category =
>   -                
> Category.getInstance(InternalException.class.getName());
>   +    private static Log log =
>   +                
> LogFactory.getLog(InternalException.class.getName());
>    
>        /**
>         * Attribute which controls whether or not logging of 
> such events should
>   @@ -114,16 +116,16 @@
>                // if the exception is merely bubbling up the 
> stack, only log the
>                // event if debug is turned on.
>                if (!(e instanceof InternalException)) {
>   -                category.fatal(e);
>   +                log.fatal(e);
>                } else {
>   -                category.debug(e);
>   +                log.debug(e);
>                }
>    
>                // if the debug is enabled, add a stack trace.
>   -            if (category.isDebugEnabled()) {
>   +            if (log.isDebugEnabled()) {
>                    StringWriter writer = new StringWriter();
>                    e.printStackTrace(new PrintWriter(writer));
>   -                category.debug(writer.getBuffer().toString());
>   +                log.debug(writer.getBuffer().toString());
>                }
>            }
>        }
>   
>   
>   
>   1.60      +9 -7      xml-axis/java/src/org/apache/axis/Message.java
>   
>   Index: Message.java
>   ===================================================================
>   RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/Message.java,v
>   retrieving revision 1.59
>   retrieving revision 1.60
>   diff -u -r1.59 -r1.60
>   --- Message.java	12 Feb 2002 12:46:23 -0000	1.59
>   +++ Message.java	19 Feb 2002 17:38:18 -0000	1.60
>   @@ -57,7 +57,9 @@
>    
>    import org.apache.axis.attachments.Attachments;
>    import org.apache.axis.message.SOAPEnvelope;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.lang.reflect.Constructor;
>    import java.lang.reflect.InvocationTargetException;
>   @@ -76,8 +78,8 @@
>     * @author Rick Rineholt 
>     */
>    public class Message {
>   -    static Category category =
>   -            Category.getInstance(Message.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(Message.class.getName());
>    
>        public static final String REQUEST = "request";
>        public static final String RESPONSE = "response";
>   @@ -217,7 +219,7 @@
>                }
>            }
>    
>   -        category.debug("Attachment support is enabled" + 
>   +        log.debug("Attachment support is enabled" + 
>                           attachmentSupportEnabled);
>            return attachmentSupportEnabled;
>        }
>   @@ -247,13 +249,13 @@
>                    //If it can't support it, it wont have a root part.
>                    mSOAPPart = (SOAPPart) mAttachments.getRootPart(); 
>                } catch (InvocationTargetException ex) {
>   -                category.fatal(ex);
>   +                log.fatal(ex);
>                    throw new RuntimeException(ex.getMessage());
>                } catch (InstantiationException ex) {
>   -                category.fatal(ex);
>   +                log.fatal(ex);
>                    throw new RuntimeException(ex.getMessage());
>                } catch (IllegalAccessException ex) {
>   -                category.fatal(ex);
>   +                log.fatal(ex);
>                    throw new RuntimeException(ex.getMessage());
>                }
>            }
>   
>   
>   
>   1.75      +7 -5      
> xml-axis/java/src/org/apache/axis/MessageContext.java
>   
>   Index: MessageContext.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/MessageContext.java,v
>   retrieving revision 1.74
>   retrieving revision 1.75
>   diff -u -r1.74 -r1.75
>   --- MessageContext.java	14 Feb 2002 22:46:34 -0000	1.74
>   +++ MessageContext.java	19 Feb 2002 17:38:18 -0000	1.75
>   @@ -62,7 +62,9 @@
>    import org.apache.axis.session.Session;
>    import org.apache.axis.utils.JavaUtils;
>    import org.apache.axis.utils.LockableHashtable;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.util.Hashtable;
>    import java.io.File;
>   @@ -91,8 +93,8 @@
>     * @author Jacek Kopecky (jacek@idoox.com)
>     */
>    public class MessageContext {
>   -    static Category category =
>   -            Category.getInstance(MessageContext.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(MessageContext.class.getName());
>    
>        /**
>         * The request message.  If we're on the client, this 
> is the outgoing
>   @@ -417,7 +419,7 @@
>         * @param tServ the name of the target service.
>         */
>        public void setTargetService(String tServ) throws AxisFault {
>   -        category.debug("MessageContext: setTargetService(" 
> + tServ+")");
>   +        log.debug("MessageContext: setTargetService(" + tServ+")");
>            targetService = tServ ;
>    
>            if (targetService == null)
>   @@ -445,7 +447,7 @@
>        
>        public void setServiceHandler(Handler sh)
>        {
>   -        category.debug("MessageContext: 
> setServiceHandler("+sh+")");
>   +        log.debug("MessageContext: setServiceHandler("+sh+")");
>            serviceHandler = sh;
>            if (sh != null && sh instanceof SOAPService) {
>                SOAPService service = (SOAPService)sh;
>   
>   
>   
>   1.10      +22 -19    xml-axis/java/src/org/apache/axis/SOAPPart.java
>   
>   Index: SOAPPart.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/SOAPPart.java,v
>   retrieving revision 1.9
>   retrieving revision 1.10
>   diff -u -r1.9 -r1.10
>   --- SOAPPart.java	12 Feb 2002 15:45:19 -0000	1.9
>   +++ SOAPPart.java	19 Feb 2002 17:38:18 -0000	1.10
>   @@ -61,7 +61,10 @@
>    import org.apache.axis.encoding.SerializationContextImpl;
>    import org.apache.axis.message.InputStreamBody;
>    import org.apache.axis.message.SOAPEnvelope;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    import org.xml.sax.InputSource;
>    import org.xml.sax.SAXException;
>    
>   @@ -83,7 +86,7 @@
>     * @author Glen Daniels (gdaniels@allaire.com)
>     */
>    public class SOAPPart extends Part {
>   -    static Category category = 
> Category.getInstance(Message.class.getName());
>   +    static Log log = LogFactory.getLog(Message.class.getName());
>    
>        private static final int FORM_STRING       = 1;
>        private static final int FORM_INPUTSTREAM  = 2;
>   @@ -133,8 +136,8 @@
>            } else if (initialContents instanceof AxisFault) {
>                form = FORM_FAULT;
>            }
>   -        if (category.isDebugEnabled()) {
>   -            category.debug( "Enter SOAPPart ctor 
> ("+formNames[form]+")" );
>   +        if (log.isDebugEnabled()) {
>   +            log.debug( "Enter SOAPPart ctor 
> ("+formNames[form]+")" );
>            }
>            setCurrentMessage(initialContents, form);
>        }
>   @@ -216,8 +219,8 @@
>         * TODO: rename this for clarity to something more 
> like setContents???
>         */
>        private void setCurrentMessage(Object currMsg, int form) {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug( "Setting current message form to: " +
>   +        if (log.isDebugEnabled()) {
>   +            log.debug( "Setting current message form to: " +
>                            formNames[form] +" (currentMessage 
> is now " +
>                            currMsg + ")" );
>            }
>   @@ -230,9 +233,9 @@
>         * array.  This will force buffering of the message.
>         */
>        public byte[] getAsBytes() {
>   -        category.debug( "Enter: SOAPPart::getAsBytes" );
>   +        log.debug( "Enter: SOAPPart::getAsBytes" );
>            if ( currentForm == FORM_BYTES ) {
>   -            category.debug( "Exit: SOAPPart::getAsBytes" );
>   +            log.debug( "Exit: SOAPPart::getAsBytes" );
>                return( (byte[]) currentMessage );
>            }
>    
>   @@ -240,7 +243,7 @@
>                try {
>                    getAsSOAPEnvelope();
>                } catch (Exception e) {
>   -                category.fatal("Couldn't make envelope", e);
>   +                log.fatal("Couldn't make envelope", e);
>                    return null;
>                }
>            }
>   @@ -259,13 +262,13 @@
>                    // byte[]  buf = new byte[ len ];
>                    // inp.read( buf );
>                    setCurrentMessage( buf, FORM_BYTES );
>   -                category.debug( "Exit: SOAPPart::getAsByes" );
>   +                log.debug( "Exit: SOAPPart::getAsByes" );
>                    return( (byte[]) currentMessage );
>                }
>                catch( Exception e ) {
>                    e.printStackTrace( System.err );
>                }
>   -            category.debug( "Exit: SOAPPart::getAsByes" );
>   +            log.debug( "Exit: SOAPPart::getAsByes" );
>                return( null );
>            }
>    
>   @@ -286,12 +289,12 @@
>                   setCurrentMessage( 
> ((String)currentMessage).getBytes(),
>                                   FORM_BYTES );
>                }
>   -            category.debug( "Exit: SOAPPart::getAsBytes" );
>   +            log.debug( "Exit: SOAPPart::getAsBytes" );
>                return( (byte[]) currentMessage );
>            }
>    
>            System.err.println("Can't convert " + currentForm 
> + " to Bytes" );
>   -        category.debug( "Exit: SOAPPart::getAsBytes" );
>   +        log.debug( "Exit: SOAPPart::getAsBytes" );
>            return( null );
>        }
>    
>   @@ -300,9 +303,9 @@
>         * This will force buffering of the message.
>         */
>        public String getAsString() {
>   -        category.debug( "Enter: SOAPPart::getAsString" );
>   +        log.debug( "Enter: SOAPPart::getAsString" );
>            if ( currentForm == FORM_STRING ) {
>   -            category.debug( "Exit: SOAPPart::getAsString, 
> currentMessage is "+
>   +            log.debug( "Exit: SOAPPart::getAsString, 
> currentMessage is "+
>                                currentMessage );
>                return( (String) currentMessage );
>            }
>   @@ -321,7 +324,7 @@
>                setCurrentMessage( new String((byte[]) currentMessage),
>                                   FORM_STRING );
>                            }
>   -            category.debug( "Exit: SOAPPart::getAsString, 
> currentMessage is "+
>   +            log.debug( "Exit: SOAPPart::getAsString, 
> currentMessage is "+
>                                currentMessage );
>                return( (String) currentMessage );
>            }
>   @@ -361,7 +364,7 @@
>    
>            System.err.println("Can't convert form " + currentForm +
>                               " to String" );
>   -        category.debug( "Exit: SOAPPart::getAsString" );
>   +        log.debug( "Exit: SOAPPart::getAsString" );
>            return( null );
>        }
>    
>   @@ -373,7 +376,7 @@
>        public SOAPEnvelope getAsSOAPEnvelope()
>            throws AxisFault
>        {
>   -        category.debug( "Enter: 
> SOAPPart::getAsSOAPEnvelope; currentForm is "+
>   +        log.debug( "Enter: SOAPPart::getAsSOAPEnvelope; 
> currentForm is "+
>                            formNames[currentForm] );
>            if ( currentForm == FORM_SOAPENVELOPE )
>                return( (SOAPEnvelope) currentMessage );
>   @@ -408,7 +411,7 @@
>            }
>    
>            setCurrentMessage(dser.getEnvelope(), FORM_SOAPENVELOPE);
>   -        category.debug( "Exit: SOAPPart::getAsSOAPEnvelope" );
>   +        log.debug( "Exit: SOAPPart::getAsSOAPEnvelope" );
>            return( (SOAPEnvelope) currentMessage );
>        }
>    
>   
>   
>   
>   1.40      +23 -20    
> xml-axis/java/src/org/apache/axis/SimpleChain.java
>   
>   Index: SimpleChain.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/SimpleChain.java,v
>   retrieving revision 1.39
>   retrieving revision 1.40
>   diff -u -r1.39 -r1.40
>   --- SimpleChain.java	15 Jan 2002 11:56:32 -0000	1.39
>   +++ SimpleChain.java	19 Feb 2002 17:38:18 -0000	1.40
>   @@ -60,7 +60,10 @@
>    import org.apache.axis.strategies.WSDLGenStrategy;
>    import org.apache.axis.utils.JavaUtils;
>    import org.apache.axis.InternalException;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    import org.w3c.dom.Document;
>    import org.w3c.dom.Element;
>    
>   @@ -81,8 +84,8 @@
>     * @author Glyn Normington (norm@uk.ibm.com)
>     */
>    public class SimpleChain extends BasicHandler implements Chain {
>   -    static Category category =
>   -            Category.getInstance(SimpleChain.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(SimpleChain.class.getName());
>    
>        protected Vector handlers = new Vector();
>        protected boolean invoked = false;
>   @@ -109,16 +112,16 @@
>         * rethrow the exception.
>         */
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00",
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00",
>                                                    
> "SimpleChain::invoke"));
>            }
>    
>           invoked = true;
>            doVisiting(msgContext, iVisitor);
>     
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "SimpleChain::invoke"));
>            }
>       }
>   @@ -128,16 +131,16 @@
>         * contributing to a WSDL description.
>         */
>        public void generateWSDL(MessageContext msgContext) 
> throws AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00",
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00",
>                                                    
> "SimpleChain::generateWSDL"));
>            }
>    
>            invoked = true;
>            doVisiting(msgContext, wsdlVisitor);
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "SimpleChain::generateWSDL"));
>            }
>        }
>   @@ -153,7 +156,7 @@
>                }
>            } catch( AxisFault f ) {
>                // notify fault in reverse order and then rethrow
>   -            category.error( f );
>   +            log.error( f );
>                while( --i >= 0 )
>                    ((Handler) handlers.elementAt( i 
> )).onFault( msgContext );
>                throw f;
>   @@ -167,16 +170,16 @@
>         * notified too!
>         */
>        public void onFault(MessageContext msgContext) {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "SimpleChain::onFault"));
>            }
>    
>            for ( int i = handlers.size()-1 ; i >= 0 ; i-- )
>                ((Handler) handlers.elementAt( i )).onFault( 
> msgContext );
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00",
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00",
>                                                    
> "SimpleChain::onFault"));
>            }
>        }
>   @@ -215,8 +218,8 @@
>        }
>    
>        public Element getDeploymentData(Document doc) {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug( JavaUtils.getMessage("enter00",
>   +        if (log.isDebugEnabled()) {
>   +            log.debug( JavaUtils.getMessage("enter00",
>                    "SimpleChain::getDeploymentData") );
>            }
>    
>   @@ -246,8 +249,8 @@
>                }
>            }
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "SimpleChain::getDeploymentData") );
>            }
>    
>   
>   
>   
>   1.36      +6 -3      
> xml-axis/java/src/org/apache/axis/SimpleTargetedChain.java
>   
>   Index: SimpleTargetedChain.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/SimpleTargetedChain.java,v
>   retrieving revision 1.35
>   retrieving revision 1.36
>   diff -u -r1.35 -r1.36
>   --- SimpleTargetedChain.java	10 Jan 2002 20:00:59 
> -0000	1.35
>   +++ SimpleTargetedChain.java	19 Feb 2002 17:38:18 
> -0000	1.36
>   @@ -57,7 +57,10 @@
>    
>    import org.apache.axis.handlers.BasicHandler;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    import org.w3c.dom.Document;
>    import org.w3c.dom.Element;
>    
>   @@ -71,8 +74,8 @@
>     */
>    public class SimpleTargetedChain extends SimpleChain 
> implements TargetedChain
>    {
>   -   static Category category =
>   -            
> Category.getInstance(SimpleTargetedChain.class.getName());
>   +   static Log log =
>   +            LogFactory.getLog(SimpleTargetedChain.class.getName());
>    
>       protected Handler    requestHandler ;
>       protected Handler    pivotHandler ;
>   
>   
>   
>   1.4       +4 -2      
> xml-axis/java/src/org/apache/axis/attachments/AttachmentPart.java
>   
>   Index: AttachmentPart.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/attachments/Attach
> mentPart.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- AttachmentPart.java	25 Nov 2001 19:05:05 -0000	1.3
>   +++ AttachmentPart.java	19 Feb 2002 17:38:19 -0000	1.4
>   @@ -57,7 +57,8 @@
>    
>    import org.apache.axis.Part;
>    import org.apache.axis.Message;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import javax.activation.DataHandler;
>    import java.io.InputStream;
>   @@ -81,7 +82,8 @@
>    import org.apache.axis.transport.http.HTTPConstants ;
>    
>    public class AttachmentPart extends Part {
>   -    static Category category = 
> Category.getInstance(Message.class.getName());
>   +    static Log log = LogFactory.getLog(Message.class.getName());
>   +
>        javax.activation.DataHandler datahandler= null;
>        
>        /**
>   
>   
>   
>   1.5       +11 -9     
> xml-axis/java/src/org/apache/axis/attachments/BoundaryDelimite
> dStream.java
>   
>   Index: BoundaryDelimitedStream.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/attachments/Bounda
> ryDelimitedStream.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- BoundaryDelimitedStream.java	22 Jan 2002 19:32:20 
> -0000	1.4
>   +++ BoundaryDelimitedStream.java	19 Feb 2002 17:38:19 
> -0000	1.5
>   @@ -54,7 +54,8 @@
>     */
>    
>    package org.apache.axis.attachments;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    /**
>     * @author Rick Rineholt 
>   @@ -64,6 +65,9 @@
>      * This class takes the input stream and turns it 
> multiple streams. 
>      */
>    public class BoundaryDelimitedStream extends 
> java.io.FilterInputStream {
>   +    static Log log =
>   +            
> LogFactory.getLog(BoundaryDelimitedStream.class.getName());
>   +
>        protected byte[] boundary = null;
>        int boundaryLen = 0;  //The boundary length.
>        int boundaryBufLen = 0; //The boundary length plus crlf. 
>   @@ -83,13 +87,11 @@
>        static int streamCount= 0; //number of streams produced.
>        protected synchronized static int newStreamNo(){
>    
>   -     category.debug("New boundary stream no:" + (streamCount +1));
>   +     log.debug("New boundary stream no:" + (streamCount +1));
>            return ++streamCount;
>        }
>        protected int streamNo=-1; //Keeps track of stream
>    
>   -    static Category category =
>   -            
> Category.getInstance(BoundaryDelimitedStream.class.getName());
>        static boolean isDebugEnabled= false;
>    
>        /**
>   @@ -148,7 +150,7 @@
>         BoundaryDelimitedStream( java.io.InputStream is, 
> byte[] boundary,
>          int readbufsz) throws org.apache.axis.AxisFault {
>            super (is);
>   -        isDebugEnabled= category.isDebugEnabled();
>   +        isDebugEnabled= log.isDebugEnabled();
>            streamNo= newStreamNo();
>            closed = false;
>            this.is = is;
>   @@ -196,7 +198,7 @@
>                }
>                if (readBufPos == boundaryPos) {
>                    eos = true; //hit the boundary so it the 
> end of the stream.
>   -                category.debug("Boundary stream no:" + 
> streamNo + " is at end of stream");
>   +                log.debug("Boundary stream no:" + streamNo 
> + " is at end of stream");
>                }
>                else if ( bwritten < len) { //need to get more data.
>                    byte[]dstbuf = readbuf;
>   @@ -224,12 +226,12 @@
>            //read till we get the amount or the stream is finished.
>            while ( !eos && bwritten < len );
>    
>   -        if ( category.isDebugEnabled()) {
>   +        if ( log.isDebugEnabled()) {
>                if (bwritten  > 0) {
>                    byte tb[] = new byte[bwritten];
>    
>                    System.arraycopy(b, off, tb, 0, bwritten);
>   -                category.debug("Read " + bwritten +
>   +                log.debug("Read " + bwritten +
>                    " from BoundaryDelimitedStream:"+ streamNo+"\"" + 
>                    new String(tb) + "\"");
>                    
>   @@ -270,7 +272,7 @@
>         */
>        public synchronized void close() throws java.io.IOException {
>            if (closed) return;
>   -        category.debug("Boundary stream no:" + streamNo + 
> " is closed");
>   +        log.debug("Boundary stream no:" + streamNo + " is closed");
>            closed = true; //mark it closed.
>            if (!eos) { //We need get this off the stream.
>                                    //Easy way to flush 
> through the stream;
>   
>   
>   
>   1.8       +29 -28    
> xml-axis/java/src/org/apache/axis/attachments/ManagedMemoryDat
> aSource.java
>   
>   Index: ManagedMemoryDataSource.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/attachments/Manage
> dMemoryDataSource.java,v
>   retrieving revision 1.7
>   retrieving revision 1.8
>   diff -u -r1.7 -r1.8
>   --- ManagedMemoryDataSource.java	4 Feb 2002 20:19:06 
> -0000	1.7
>   +++ ManagedMemoryDataSource.java	19 Feb 2002 17:38:19 
> -0000	1.8
>   @@ -54,7 +54,8 @@
>     */
>    
>    package org.apache.axis.attachments;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.apache.axis.InternalException;
>    import org.apache.axis.MessageContext; 
>    import java.io.File; 
>   @@ -83,10 +84,10 @@
>        
>                                 //Memory is allocated in 
> these size chunks.
>        public static final int READ_CHUNK_SZ = 32 * 1024 ;
>   -    static Category category =
>   -            
> Category.getInstance(ManagedMemoryDataSource.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(ManagedMemoryDataSource.class.getName());
>    
>   -    protected boolean debugEnabled= false; //Log4j 
> debuging if true.        
>   +    protected boolean debugEnabled= false; //Log debugging 
> if true.        
>    
>        //Should not be called; 
>        protected ManagedMemoryDataSource () {
>   @@ -124,7 +125,7 @@
>                                                               
>         maxCached);
>    
>                                                                       
>   -        if ( category.isDebugEnabled()){
>   +        if ( log.isDebugEnabled()){
>              debugEnabled= true; //Logging should be 
> initialized by time;
>            }
>    
>   @@ -303,7 +304,7 @@
>           java.util.LinkedList ml=memorybuflist;
>           memorybuflist =null;
>    
>   -       category.debug("flushToDisk maximum cached " + 
> maxCached +", total memory " +  totalsz + "." );
>   +       log.debug("flushToDisk maximum cached " + maxCached 
> +", total memory " +  totalsz + "." );
>    
>           if( ml != null){
>               if (null == cachediskstream) { //Need to create 
> a disk cache
>   @@ -312,7 +313,7 @@
>                        String attdir= mc == null ? null :  
> mc.getStrProp(MessageContext.ATTACHMENTS_DIR );
>                        diskCacheFile = 
> java.io.File.createTempFile("Axis", "axis",
>                           attdir== null ? null : new File( attdir)); 
>   -                    category.debug("Disk cache file name 
> \"" + diskCacheFile .getAbsolutePath()+ "\".");
>   +                    log.debug("Disk cache file name \"" + 
> diskCacheFile .getAbsolutePath()+ "\".");
>                        cachediskstream = new 
> java.io.BufferedOutputStream(
>                             new 
> java.io.FileOutputStream(diskCacheFile));
>                        int listsz = ml.size();
>   @@ -335,7 +336,7 @@
>                        diskCacheFile=null;
>                        cachediskstream= null;
>                        maxCached= java.lang.Integer.MAX_VALUE; 
>   -                    category.info("No disk access using 
> memory only.", se);
>   +                    log.info("No disk access using memory 
> only.", se);
>                    }
>                }
>            }
>   @@ -383,8 +384,8 @@
>         *  Handles creating an input stream to the source.
>         */
>        private class Instream extends java.io.InputStream {
>   -     Category category =
>   -            Category.getInstance(Instream.class.getName());
>   +     Log log =
>   +            LogFactory.getLog(Instream.class.getName());
>            protected int bread = 0; //bytes read
>            java.io.FileInputStream fin = null;  //The real stream.
>            int currentIndex = 0;  //The position in the list 
> were we are reading from.
>   @@ -405,7 +406,7 @@
>    
>                int ret= totalsz - bread;
>    
>   -            if(debugEnabled) category.debug("available()= 
> "+ ret + ".");
>   +            if(debugEnabled) log.debug("available()= "+ ret + ".");
>    
>                return ret;
>            }
>   @@ -427,7 +428,7 @@
>             * Not supported.
>             */
>            public boolean markSupported() {
>   -            if(debugEnabled) 
> category.debug("markSupported()= "+ false + ".");
>   +            if(debugEnabled) log.debug("markSupported()= 
> "+ false + ".");
>                return false;
>            }
>    
>   @@ -435,14 +436,14 @@
>             * Not supported.
>             */
>            public void mark(int readlimit){
>   -            if(debugEnabled) category.debug("mark()");
>   +            if(debugEnabled) log.debug("mark()");
>            }
>    
>            /**
>             * Not supported.
>             */
>            public void reset() throws java.io.IOException {
>   -            if(debugEnabled) category.debug("reset()");
>   +            if(debugEnabled) log.debug("reset()");
>                throw new java.io.IOException("Reset and mark 
> not supported!");
>            }
>    
>   @@ -453,7 +454,7 @@
>    
>            public long skip(long skipped) throws java.io.IOException {
>    
>   -            if(debugEnabled) category.debug("skip(" 
> +skipped+ ").");
>   +            if(debugEnabled) log.debug("skip(" +skipped+ ").");
>    
>                if(deleted) throw new 
> java.io.IOException("Resource has been deleted.");
>                if(readClosed) throw new 
> java.io.IOException("Stream is closed.");
>   @@ -490,7 +491,7 @@
>                    bread += skipped;
>                }
>    
>   -            if(debugEnabled) category.debug("skipped " 
> +skipped+ ".");
>   +            if(debugEnabled) log.debug("skipped " +skipped+ ".");
>                return skipped;
>            }
>    
>   @@ -502,7 +503,7 @@
>             */
>    
>            public int read(byte[] b, int off, int len) throws 
> java.io.IOException {
>   -            if(debugEnabled) category.debug(hashCode() + 
> "read(" + off + ", " + len +")");
>   +            if(debugEnabled) log.debug(hashCode() + 
> "read(" + off + ", " + len +")");
>                if(deleted) throw new 
> java.io.IOException("Resource has been deleted.");
>                if(readClosed) throw new 
> java.io.IOException("Stream is closed.");
>                if (b == null) throw new InternalException(
>   @@ -520,7 +521,7 @@
>                    if ( bread == totalsz) return -1;
>                    java.util.List ml = memorybuflist;
>                     len = Math.min(len, totalsz - bread); 
> //Only return the number of bytes in the data store that is left.
>   -                 if(debugEnabled) category.debug("len= " + 
> len);                 
>   +                 if(debugEnabled) log.debug("len= " + 
> len);                 
>    
>    
>                    if ( ml != null) {
>   @@ -547,30 +548,30 @@
>                    }
>    
>                        if (bwritten == 0 && null != diskCacheFile) {
>   -                    if(debugEnabled) 
> category.debug("reading from disk" + len);                 
>   +                    if(debugEnabled) log.debug("reading 
> from disk" + len);                 
>                        if (null == fin ) { //we are now 
> reading from disk.
>   -                    if(debugEnabled) category.debug("open 
> bread=" + diskCacheFile.getCanonicalPath());                 
>   -                    if(debugEnabled) category.debug("open 
> bread=" + bread);                 
>   +                    if(debugEnabled) log.debug("open 
> bread=" + diskCacheFile.getCanonicalPath());                 
>   +                    if(debugEnabled) log.debug("open 
> bread=" + bread);                 
>                            fin = new java.io.FileInputStream( 
> diskCacheFile);
>                            if(bread >0) fin.skip(bread); 
> //Skip what we've read so far.
>                        }
>    
>                        if(cachediskstream  != null){
>   -                        if(debugEnabled) 
> category.debug("flushing");                 
>   +                        if(debugEnabled) 
> log.debug("flushing");                 
>                            cachediskstream.flush();  
>                        }
>    
>   -                   if(debugEnabled){ 
> category.debug("flushing");                 
>   -                       category.debug("len=" + len);       
>           
>   -                       category.debug("off=" + off);       
>           
>   -                       category.debug("b.length=" + 
> b.length);                 
>   +                   if(debugEnabled){ 
> log.debug("flushing");                 
>   +                       log.debug("len=" + len);                 
>   +                       log.debug("off=" + off);                 
>   +                       log.debug("b.length=" + b.length);  
>                
>                        }
>                        bwritten = fin.read(b, off, len);
>                    }
>                    if ( bwritten > 0) bread += bwritten;
>                }
>    
>   -            if(debugEnabled) category.debug( hashCode() 
> +"read " + bwritten);
>   +            if(debugEnabled) log.debug( hashCode() +"read 
> " + bwritten);
>                return bwritten;
>            }
>    
>   @@ -579,7 +580,7 @@
>             */
>    
>            public synchronized void close() throws 
> java.io.IOException {
>   -            if(debugEnabled) category.debug("close()");
>   +            if(debugEnabled) log.debug("close()");
>                if(!readClosed){
>                    readers.remove(this);
>                    readClosed= true;
>   
>   
>   
>   1.7       +6 -3      
> xml-axis/java/src/org/apache/axis/attachments/MimeUtils.java
>   
>   Index: MimeUtils.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/attachments/MimeUt
> ils.java,v
>   retrieving revision 1.6
>   retrieving revision 1.7
>   diff -u -r1.6 -r1.7
>   --- MimeUtils.java	22 Jan 2002 19:32:20 -0000	1.6
>   +++ MimeUtils.java	19 Feb 2002 17:38:19 -0000	1.7
>   @@ -94,10 +94,13 @@
>            String boundaryStr = ct.getParameter("boundary");
>            int boundaryStrLen = boundaryStr.length() + 4; 
> //must add two for -- prefix and another two for crlf
>    
>   +        //there is one more boundary than parts
>   +        //each parts data must have crlf after it.
>   +        //last boundary has an additional --crlf
>            return totalContentLength
>   -            + boundaryStrLen * (totalParts + 1) //there is 
> one more boundary than parts
>   -            + 2 * totalParts +  //each parts data must 
> have crlf after it.
>   -            +4;  // last boundary has an additional --crlf
>   +            + boundaryStrLen * (totalParts + 1)
>   +            + 2 * totalParts +
>   +            +4;
>        }
>    
>        /**
>   
>   
>   
>   1.9       +5 -4      
> xml-axis/java/src/org/apache/axis/attachments/MultiPartRelated
> InputStream.java
>   
>   Index: MultiPartRelatedInputStream.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/attachments/MultiP
> artRelatedInputStream.java,v
>   retrieving revision 1.8
>   retrieving revision 1.9
>   diff -u -r1.8 -r1.9
>   --- MultiPartRelatedInputStream.java	22 Jan 2002 
> 19:32:20 -0000	1.8
>   +++ MultiPartRelatedInputStream.java	19 Feb 2002 
> 17:38:19 -0000	1.9
>   @@ -59,7 +59,8 @@
>    import javax.activation.DataHandler;
>    import org.apache.axis.Part;
>    import javax.mail.internet.MimeUtility;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    
>    /**
>   @@ -88,8 +89,8 @@
>        protected String contentLocation= null;          
>        protected String contentId= null;
>    
>   -    static Category category =
>   -            
> Category.getInstance(MultiPartRelatedInputStream.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(MultiPartRelatedInputStream.class.getName());
>    
>        /**
>         * Multipart stream.
>   @@ -245,7 +246,7 @@
>            if ( null == ret) {
>                ret = readTillFound(id);
>            }
>   -        category.debug("getAttachmentByReference(\"" + id 
> + "\") returns" + (ret == null? "null" : ret.toString()));
>   +        log.debug("getAttachmentByReference(\"" + id + 
> "\") returns" + (ret == null? "null" : ret.toString()));
>            return ret;
>        }
>    
>   
>   
>   
>   1.53      +6 -5      
> xml-axis/java/src/org/apache/axis/client/AdminClient.java
>   
>   Index: AdminClient.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/client/AdminClient.java,v
>   retrieving revision 1.52
>   retrieving revision 1.53
>   diff -u -r1.52 -r1.53
>   --- AdminClient.java	8 Feb 2002 22:14:11 -0000	1.52
>   +++ AdminClient.java	19 Feb 2002 17:38:19 -0000	1.53
>   @@ -60,7 +60,8 @@
>    import org.apache.axis.message.SOAPBodyElement;
>    import org.apache.axis.utils.JavaUtils;
>    import org.apache.axis.utils.Options;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import javax.xml.rpc.ServiceException;
>    import java.io.ByteArrayInputStream;
>   @@ -86,8 +87,8 @@
>    
>    public class AdminClient
>    {
>   -    static Category category =
>   -            Category.getInstance(AdminClient.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(AdminClient.class.getName());
>    
>        private static ThreadLocal defaultConfiguration = new 
> ThreadLocal();
>    
>   @@ -126,7 +127,7 @@
>                }
>                call = (Call) service.createCall();
>            } catch (ServiceException e) {
>   -            
> category.fatal(JavaUtils.getMessage("couldntCall00"), e);
>   +            log.fatal(JavaUtils.getMessage("couldntCall00"), e);
>                call = null;
>            }
>        }
>   @@ -250,7 +251,7 @@
>            
> opts.setDefaultURL("http://localhost:8080/axis/services/AdminS
> ervice");
>    
>            if (opts.isFlagSet('d') > 0) {
>   -            // Set log4j properties... !!!
>   +            // Set logger properties... !!!
>            }
>    
>            args = opts.getRemainingArgs();
>   
>   
>   
>   1.38      +11 -10    
> xml-axis/java/src/org/apache/axis/client/AxisClient.java
>   
>   Index: AxisClient.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/client/AxisClient.java,v
>   retrieving revision 1.37
>   retrieving revision 1.38
>   diff -u -r1.37 -r1.38
>   --- AxisClient.java	5 Feb 2002 16:25:38 -0000	1.37
>   +++ AxisClient.java	19 Feb 2002 17:38:19 -0000	1.38
>   @@ -63,7 +63,8 @@
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.SimpleTargetedChain;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    /**
>     * Provides the equivalent of an "Axis engine" on the client side.
>   @@ -75,8 +76,8 @@
>     * @author Glen Daniels (gdaniels@allaire.com)
>     */
>    public class AxisClient extends AxisEngine {
>   -    static Category category =
>   -            Category.getInstance(AxisClient.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(AxisClient.class.getName());
>    
>        public AxisClient(EngineConfiguration config) {
>            super(config);
>   @@ -99,8 +100,8 @@
>         * handler for the desired service and invoke() it.
>         */
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "AxisClient::invoke") );
>            }
>    
>   @@ -115,8 +116,8 @@
>                setCurrentMessageContext(msgContext);
>    
>                hName = msgContext.getStrProp( 
> MessageContext.ENGINE_HANDLER );
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( "EngineHandler: " + hName );
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( "EngineHandler: " + hName );
>                }
>    
>                if ( hName != null ) {
>   @@ -193,7 +194,7 @@
>    
>            } catch( Exception e ) {
>                // Should we even bother catching it ?
>   -            category.error( e );
>   +            log.error( e );
>                throw AxisFault.makeFault(e);
>    
>            } finally {
>   @@ -201,8 +202,8 @@
>                setCurrentMessageContext(previousContext);
>            }
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "AxisClient::invoke") );
>            }
>        };
>   
>   
>   
>   1.74      +25 -23    
> xml-axis/java/src/org/apache/axis/client/Call.java
>   
>   Index: Call.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/client/Call.java,v
>   retrieving revision 1.73
>   retrieving revision 1.74
>   diff -u -r1.73 -r1.74
>   --- Call.java	14 Feb 2002 22:46:34 -0000	1.73
>   +++ Call.java	19 Feb 2002 17:38:19 -0000	1.74
>   @@ -81,7 +81,8 @@
>    import org.apache.axis.attachments.AttachmentPart; 
>    import org.apache.axis.InternalException;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import javax.wsdl.Binding;
>    import javax.wsdl.BindingInput;
>   @@ -133,7 +134,8 @@
>     */
>    
>    public class Call implements javax.xml.rpc.Call {
>   -    static Category category = 
> Category.getInstance(Call.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(Call.class.getName());
>    
>        private boolean            parmAndRetReq   = true ;
>        private Service            service         = null ;
>   @@ -1187,8 +1189,8 @@
>         */
>        public void setTransport(Transport trans) {
>            transport = trans;
>   -        if (category.isInfoEnabled())
>   -            
> category.info(JavaUtils.getMessage("transport00", "" + transport));
>   +        if (log.isInfoEnabled())
>   +            log.info(JavaUtils.getMessage("transport00", 
> "" + transport));
>        }
>    
>        /** Get the Transport registered for the given protocol.
>   @@ -1232,7 +1234,7 @@
>    
>                attachments.setAttachmentParts(attachmentParts);
>                }catch(org.apache.axis.AxisFault ex){
>   -              category.debug(ex);
>   +              log.debug(ex);
>                  throw  new RuntimeException(ex.getMessage());
>                }
>            }
>   @@ -1380,8 +1382,8 @@
>        public Object invoke(String namespace, String method, 
> Object[] args)
>                        throws AxisFault {
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "Call::invoke(ns, meth, args)") );
>            }
>    
>   @@ -1389,8 +1391,8 @@
>            
>            Object ret = invoke( body );
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "Call::invoke(ns, meth, args)") );
>            }
>    
>   @@ -1426,8 +1428,8 @@
>         * @exception AxisFault
>         */
>        public Object invoke( RPCElement body ) throws AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "Call::invoke(RPCElement)") );
>            }
>    
>   @@ -1460,7 +1462,7 @@
>                invoke();
>            }
>            catch( Exception e ) {
>   -            category.error( e );
>   +            log.error( e );
>                throw AxisFault.makeFault(e);
>            }
>    
>   @@ -1470,7 +1472,7 @@
>                body = (RPCElement)resEnv.getFirstBody();
>                resArgs = body.getParams();
>            } catch (Exception e) {
>   -            category.error(e);
>   +            log.error(e);
>                throw AxisFault.makeFault(e);
>            }
>    
>   @@ -1510,8 +1512,8 @@
>                }
>            }
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00",
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00",
>                    "Call::invoke(RPCElement)") );
>            }
>    
>   @@ -1545,8 +1547,8 @@
>         * @exception AxisFault
>         */
>        public void invoke() throws AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
> "Call::invoke()") );
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
> "Call::invoke()") );
>            }
>    
>            Message      reqMsg  = null ;
>   @@ -1597,8 +1599,8 @@
>                msgContext.setTargetService(body.getNamespaceURI());
>            }
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug("TargetService:" + 
> msgContext.getTargetService());
>   +        if (log.isDebugEnabled()) {
>   +            log.debug("TargetService:" + 
> msgContext.getTargetService());
>            }
>    
>            // set up transport if there is one
>   @@ -1609,7 +1611,7 @@
>                msgContext.setTransportName( transportName );
>    
>            // For debugging - print request message
>   -        if (category.isDebugEnabled()) {
>   +        if (log.isDebugEnabled()) {
>                StringWriter writer = new StringWriter();
>                try {
>                    SerializationContext ctx = new 
> SerializationContextImpl(writer,
>   @@ -1619,7 +1621,7 @@
>                } catch (Exception e) {
>                    e.printStackTrace(new PrintWriter(writer));
>                } finally {
>   -                category.debug(writer.getBuffer().toString());
>   +                log.debug(writer.getBuffer().toString());
>                }
>            }
>    
>   @@ -1645,8 +1647,8 @@
>                throw ((SOAPFaultElement)respBody).getFault();
>            }
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
> "Call::invoke()") );
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
> "Call::invoke()") );
>            }
>        }
>    
>   
>   
>   
>   1.20      +5 -4      
> xml-axis/java/src/org/apache/axis/configuration/FileProvider.java
>   
>   Index: FileProvider.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/configuration/File
> Provider.java,v
>   retrieving revision 1.19
>   retrieving revision 1.20
>   diff -u -r1.19 -r1.20
>   --- FileProvider.java	12 Feb 2002 17:18:28 -0000	1.19
>   +++ FileProvider.java	19 Feb 2002 17:38:19 -0000	1.20
>   @@ -66,7 +66,8 @@
>    import org.apache.axis.utils.Admin;
>    import org.apache.axis.utils.XMLUtils;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.w3c.dom.Document;
>    
>    import javax.xml.rpc.namespace.QName;
>   @@ -84,8 +85,8 @@
>     * @author Glen Daniels (gdaniels@macromedia.com)
>     */
>    public class FileProvider implements EngineConfiguration {
>   -    private static Category category =
>   -       Category.getInstance(FileProvider.class.getName());
>   +    private static Log log =
>   +       LogFactory.getLog(FileProvider.class.getName());
>    
>        protected String sep = System.getProperty("file.separator");
>    
>   @@ -126,7 +127,7 @@
>             * as configuration changes will not persist.
>             */
>            if (readOnly) {
>   -            
> category.info(JavaUtils.getMessage("readOnlyConfigFile"));
>   +            log.info(JavaUtils.getMessage("readOnlyConfigFile"));
>            }
>        }
>    
>   
>   
>   
>   1.6       +22 -21    
> xml-axis/java/src/org/apache/axis/encoding/DeserializationCont
> extImpl.java
>   
>   Index: DeserializationContextImpl.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/Deseriali
> zationContextImpl.java,v
>   retrieving revision 1.5
>   retrieving revision 1.6
>   diff -u -r1.5 -r1.6
>   --- DeserializationContextImpl.java	7 Feb 2002 23:23:11 
> -0000	1.5
>   +++ DeserializationContextImpl.java	19 Feb 2002 17:38:19 
> -0000	1.6
>   @@ -71,7 +71,8 @@
>    import org.apache.axis.utils.NSStack;
>    import org.apache.axis.utils.JavaUtils;
>    import org.apache.axis.utils.XMLUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.xml.sax.Attributes;
>    import org.xml.sax.InputSource;
>    import org.xml.sax.Locator;
>   @@ -96,8 +97,8 @@
>    
>    public class DeserializationContextImpl extends 
> DefaultHandler implements DeserializationContext
>    {
>   -    static Category category =
>   -            
> Category.getInstance(DeserializationContextImpl.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(DeserializationContextImpl.class.getName());
>        
>        
>        private NSStack namespaces = new NSStack();
>   @@ -618,8 +619,8 @@
>        
>        public void pushElementHandler(SOAPHandler handler)
>        {
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("pushHandler00", "" + handler));
>   +        if (log.isDebugEnabled()) {
>   +            
> log.debug(JavaUtils.getMessage("pushHandler00", "" + handler));
>            }
>            
>            handlerStack.push(handler);
>   @@ -641,14 +642,14 @@
>        {
>            if (!handlerStack.empty()) {
>                SOAPHandler handler = getTopHandler();
>   -            if (category.isDebugEnabled()) {
>   -                
> category.debug(JavaUtils.getMessage("popHandler00", "" + handler));
>   +            if (log.isDebugEnabled()) {
>   +                
> log.debug(JavaUtils.getMessage("popHandler00", "" + handler));
>                }
>                handlerStack.pop();
>                return handler;
>            } else {
>   -            if (category.isDebugEnabled()) {
>   -                
> category.debug(JavaUtils.getMessage("popHandler00", "(null)"));
>   +            if (log.isDebugEnabled()) {
>   +                
> log.debug(JavaUtils.getMessage("popHandler00", "(null)"));
>                }
>                return null;
>            }
>   @@ -667,8 +668,8 @@
>         * endDocument is invoked at the end of the document.
>         */
>        public void endDocument() throws SAXException {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("endDoc00"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("endDoc00"));
>            }
>            if (recorder != null)
>                recorder.endDocument();
>   @@ -703,8 +704,8 @@
>                namespaces.add(uri, "");
>            }
>           
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("startPrefix00", prefix, uri));
>   +        if (log.isDebugEnabled()) {
>   +            
> log.debug(JavaUtils.getMessage("startPrefix00", prefix, uri));
>            }
>            
>            SOAPHandler handler = getTopHandler();
>   @@ -715,8 +716,8 @@
>        public void endPrefixMapping(String prefix)
>            throws SAXException
>        {
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("endPrefix00", prefix));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("endPrefix00", prefix));
>            }
>            
>            if (recorder != null)
>   @@ -775,8 +776,8 @@
>        {
>            SOAPHandler nextHandler = null;
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("startElem00",
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("startElem00",
>                        "['" + namespace + "' " + localName + "]"));
>            }
>            
>   @@ -820,8 +821,8 @@
>        public void endElement(String namespace, String 
> localName, String qName)
>            throws SAXException
>        {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("endElem00",
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("endElem00",
>                        "['" + namespace + "' " + localName + "]"));
>            }
>            
>   @@ -836,8 +837,8 @@
>                    getTopHandler().onEndChild(namespace, 
> localName, this);
>                } else {
>                    // We should be done!
>   -                if (category.isDebugEnabled()) {
>   -                    
> category.debug(JavaUtils.getMessage("endDoc01"));
>   +                if (log.isDebugEnabled()) {
>   +                    log.debug(JavaUtils.getMessage("endDoc01"));
>                    }
>                }
>                
>   
>   
>   
>   1.2       +14 -13    
> xml-axis/java/src/org/apache/axis/encoding/DeserializerImpl.java
>   
>   Index: DeserializerImpl.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/Deseriali
> zerImpl.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- DeserializerImpl.java	26 Jan 2002 02:40:33 -0000	1.1
>   +++ DeserializerImpl.java	19 Feb 2002 17:38:19 -0000	1.2
>   @@ -63,7 +63,8 @@
>    import org.apache.axis.message.SAXOutputter;
>    import org.apache.axis.message.SOAPHandler;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.xml.sax.Attributes;
>    import org.xml.sax.SAXException;
>    import org.xml.sax.helpers.DefaultHandler;
>   @@ -85,8 +86,8 @@
>    
>    public class DeserializerImpl extends SOAPHandler 
> implements Deserializer
>    {
>   -    static Category category =
>   -            Category.getInstance(DeserializerImpl.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(DeserializerImpl.class.getName());
>    
>        protected Object value = null;
>    
>   @@ -224,8 +225,8 @@
>                    while (e.hasMoreElements()) {
>                        Target target = (Target)e.nextElement();
>                        target.set(value);
>   -                    if (category.isDebugEnabled()) {
>   -                        
> category.debug(JavaUtils.getMessage("setValueInTarget00",
>   +                    if (log.isDebugEnabled()) {
>   +                        
> log.debug(JavaUtils.getMessage("setValueInTarget00",
>                                                               
>  "" + value, "" + target));
>                        }
>                    }
>   @@ -303,8 +304,8 @@
>            id = attributes.getValue("id");
>            if (id != null) {
>                context.addObjectById(id, value);
>   -            if (category.isDebugEnabled()) {
>   -                
> category.debug(JavaUtils.getMessage("deserInitPutValueDebug00"
> , "" + value, id));
>   +            if (log.isDebugEnabled()) {
>   +                
> log.debug(JavaUtils.getMessage("deserInitPutValueDebug00", "" 
> + value, id));
>                }     
>            }
>    
>   @@ -313,8 +314,8 @@
>                isHref = true;
>    
>                Object ref = context.getObjectByRef(href);            
>   -            if (category.isDebugEnabled()) {
>   -                category.debug(JavaUtils.getMessage(
>   +            if (log.isDebugEnabled()) {
>   +                log.debug(JavaUtils.getMessage(
>                            "gotForID00",
>                            new String[] {"" + ref, href, "" + 
> ref.getClass()}));
>                }
>   @@ -369,8 +370,8 @@
>                                                           localName,
>                                                           attributes);
>                
>   -            if (category.isDebugEnabled()) {
>   -                
> category.debug(JavaUtils.getMessage("gotType00", "Deser", "" + type));
>   +            if (log.isDebugEnabled()) {
>   +                
> log.debug(JavaUtils.getMessage("gotType00", "Deser", "" + type));
>                }
>                
>                // We know we're deserializing, but we don't have
>   @@ -447,8 +448,8 @@
>            // This is necessary for proper multi-reference 
> deserialization.
>            if (id != null) {
>                context.addObjectById(id, value);
>   -            if (category.isDebugEnabled()) {
>   -                
> category.debug(JavaUtils.getMessage("deserPutValueDebug00", 
> "" + value, id));
>   +            if (log.isDebugEnabled()) {
>   +                
> log.debug(JavaUtils.getMessage("deserPutValueDebug00", "" + 
> value, id));
>                }     
>            }
>        }
>   
>   
>   
>   1.6       +12 -9     
> xml-axis/java/src/org/apache/axis/encoding/SerializationContex
> tImpl.java
>   
>   Index: SerializationContextImpl.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/Serializa
> tionContextImpl.java,v
>   retrieving revision 1.5
>   retrieving revision 1.6
>   diff -u -r1.5 -r1.6
>   --- SerializationContextImpl.java	7 Feb 2002 23:23:11 
> -0000	1.5
>   +++ SerializationContextImpl.java	19 Feb 2002 17:38:19 
> -0000	1.6
>   @@ -65,7 +65,10 @@
>    import org.apache.axis.utils.Mapping;
>    import org.apache.axis.utils.NSStack;
>    import org.apache.axis.utils.XMLUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    import org.w3c.dom.Attr;
>    import org.w3c.dom.Element;
>    import org.w3c.dom.NamedNodeMap;
>   @@ -94,8 +97,8 @@
>     */
>    public class SerializationContextImpl implements 
> SerializationContext
>    {
>   -    static Category category =
>   -            
> Category.getInstance(SerializationContextImpl.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(SerializationContextImpl.class.getName());
>    
>        private NSStack nsStack = new NSStack();
>        private boolean writingStartTag = false;
>   @@ -315,8 +318,8 @@
>         */
>        public void registerPrefixForURI(String prefix, String uri)
>        {
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("register00", prefix, uri));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("register00", 
> prefix, uri));
>            }
>    
>            if ((uri != null) && (prefix != null)) {
>   @@ -578,8 +581,8 @@
>        public void startElement(QName qName, Attributes attributes)
>            throws IOException
>        {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("startElem00",
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("startElem00",
>                        "[" + qName.getNamespaceURI() + "]:" + 
> qName.getLocalPart()));
>            }
>    
>   @@ -668,8 +671,8 @@
>        {
>            String elementQName = (String)elementStack.pop();
>    
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("endElem00", "" + elementQName));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("endElem00", "" 
> + elementQName));
>            }
>    
>            nsStack.pop();
>   
>   
>   
>   1.6       +14 -13    
> xml-axis/java/src/org/apache/axis/encoding/ser/ArrayDeserializer.java
>   
>   Index: ArrayDeserializer.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/Array
> Deserializer.java,v
>   retrieving revision 1.5
>   retrieving revision 1.6
>   diff -u -r1.5 -r1.6
>   --- ArrayDeserializer.java	11 Feb 2002 19:02:53 -0000	1.5
>   +++ ArrayDeserializer.java	19 Feb 2002 17:38:20 -0000	1.6
>   @@ -72,7 +72,8 @@
>    import org.apache.axis.encoding.DeserializerImpl;
>    import org.apache.axis.Constants;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.lang.reflect.Array;
>    import java.util.ArrayList;
>   @@ -99,8 +100,8 @@
>    public class ArrayDeserializer extends DeserializerImpl 
>        implements Deserializer  {
>    
>   -    static Category category =
>   -            
> Category.getInstance(ArrayDeserializer.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(ArrayDeserializer.class.getName());
>    
>        public QName arrayType = null;
>        public int curIndex = 0;
>   @@ -154,8 +155,8 @@
>            // If the xsi:type attribute is missing for an 
> element, the 
>            // default xsi:type value is used.
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage(
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage(
>                   "enter00", "ArrayDeserializer.startElement()"));
>            }
>    
>   @@ -335,8 +336,8 @@
>                                   "badOffset00");
>            }
>            
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(
>                    JavaUtils.getMessage("exit00",
>                                         
> "ArrayDeserializer.startElement()"));
>            }
>   @@ -361,8 +362,8 @@
>                                        DeserializationContext context)
>            throws SAXException
>        {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(
>                    JavaUtils.getMessage("enter00", 
>                                         
> "ArrayDeserializer.onStartChild()"));
>            }
>   @@ -437,8 +438,8 @@
>    
>            curIndex++;
>            
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(
>                    JavaUtils.getMessage("exit00", 
>                                         
> "ArrayDeserializer.onStartChild()"));
>            }
>   @@ -469,8 +470,8 @@
>         **/
>        public void setValue(Object value, Object hint) throws 
> SAXException
>        { 
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(
>                    JavaUtils.getMessage("gotValue00", 
>                                         "ArrayDeserializer", 
> "[" + hint +
>                                         "] = " + value));
>   
>   
>   
>   1.11      +4 -3      
> xml-axis/java/src/org/apache/axis/encoding/ser/ArraySerializer.java
>   
>   Index: ArraySerializer.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/Array
> Serializer.java,v
>   retrieving revision 1.10
>   retrieving revision 1.11
>   diff -u -r1.10 -r1.11
>   --- ArraySerializer.java	15 Feb 2002 19:41:17 -0000	1.10
>   +++ ArraySerializer.java	19 Feb 2002 17:38:20 -0000	1.11
>   @@ -59,7 +59,8 @@
>    import org.xml.sax.SAXException;
>    import org.xml.sax.helpers.AttributesImpl;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import javax.xml.rpc.namespace.QName;
>    import java.io.IOException;
>   @@ -100,8 +101,8 @@
>     */
>    public class ArraySerializer implements Serializer {
>    
>   -    static Category category =
>   -            Category.getInstance(ArraySerializer.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(ArraySerializer.class.getName());
>    
>        /**
>         * Serialize an element that is an array.
>   
>   
>   
>   1.3       +4 -3      
> xml-axis/java/src/org/apache/axis/encoding/ser/BeanDeserializer.java
>   
>   Index: BeanDeserializer.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/BeanD
> eserializer.java,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- BeanDeserializer.java	6 Feb 2002 20:58:00 -0000	1.2
>   +++ BeanDeserializer.java	19 Feb 2002 17:38:20 -0000	1.3
>   @@ -75,7 +75,8 @@
>    
>    import java.lang.reflect.Method;
>    import java.beans.IntrospectionException;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import java.beans.Introspector;
>    import java.beans.PropertyDescriptor;
>    import java.io.ObjectStreamField;
>   @@ -88,8 +89,8 @@
>     * @author Rich Scheuerle <scheu@us.ibm.com>
>     */
>    public class BeanDeserializer extends DeserializerImpl 
> implements Deserializer, Serializable  {
>   -    static Category category =
>   -        Category.getInstance(BeanDeserializer.class.getName());
>   +    static Log log =
>   +        LogFactory.getLog(BeanDeserializer.class.getName());
>    
>        QName xmlType;
>        Class javaType;
>   
>   
>   
>   1.2       +4 -3      
> xml-axis/java/src/org/apache/axis/encoding/ser/BeanPropertyDes
> criptor.java
>   
>   Index: BeanPropertyDescriptor.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/BeanP
> ropertyDescriptor.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- BeanPropertyDescriptor.java	26 Jan 2002 02:40:34 
> -0000	1.1
>   +++ BeanPropertyDescriptor.java	19 Feb 2002 17:38:20 
> -0000	1.2
>   @@ -60,7 +60,8 @@
>    
>    import java.lang.reflect.Method;
>    import java.beans.IntrospectionException;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import java.beans.Introspector;
>    import java.beans.PropertyDescriptor;
>    
>   @@ -70,8 +71,8 @@
>     * @author Rich Scheuerle <scheu@us.ibm.com>
>     **/
>    class BeanPropertyDescriptor {
>   -    static Category category =
>   -            
> Category.getInstance(BeanPropertyDescriptor.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(BeanPropertyDescriptor.class.getName());
>    
>        private String name;
>        private Method getter;
>   
>   
>   
>   1.2       +9 -9      
> xml-axis/java/src/org/apache/axis/encoding/ser/BeanPropertyTarget.java
>   
>   Index: BeanPropertyTarget.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/BeanP
> ropertyTarget.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- BeanPropertyTarget.java	26 Jan 2002 02:40:34 -0000	1.1
>   +++ BeanPropertyTarget.java	19 Feb 2002 17:38:20 -0000	1.2
>   @@ -56,7 +56,8 @@
>    package org.apache.axis.encoding.ser;
>    
>    import org.xml.sax.SAXException;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.lang.reflect.Method;
>    import org.apache.axis.utils.JavaUtils;
>   @@ -66,8 +67,8 @@
>     * Class which knows how to update a bean property
>     */
>    class BeanPropertyTarget implements Target {
>   -    static Category category =
>   -            
> Category.getInstance(BeanPropertyTarget.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(BeanPropertyTarget.class.getName());
>    
>        private Object object;
>        private BeanPropertyDescriptor pd;
>   @@ -117,12 +118,11 @@
>                        field += "[" + index + "]";
>                        i = 1;
>                    }
>   -                category.error(JavaUtils.getMessage(
>   -                                                    
> "cantConvert02",
>   -                                                    new String[] {
>   -                                                        
> value.getClass().getName(),
>   -                                                        field,
>   -                                                        
> pd.getType().getName()}));
>   +                log.error(JavaUtils.getMessage("cantConvert02",
>   +                                               new String[] {
>   +                                                   
> value.getClass().getName(),
>   +                                                   field,
>   +                                                   
> pd.getType().getName()}));
>                    throw new SAXException(ex);
>                }
>            }
>   
>   
>   
>   1.4       +4 -3      
> xml-axis/java/src/org/apache/axis/encoding/ser/BeanSerializer.java
>   
>   Index: BeanSerializer.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/BeanS
> erializer.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- BeanSerializer.java	7 Feb 2002 18:50:17 -0000	1.3
>   +++ BeanSerializer.java	19 Feb 2002 17:38:20 -0000	1.4
>   @@ -77,7 +77,8 @@
>    import java.io.Serializable;
>    import java.lang.reflect.Method;
>    import java.beans.IntrospectionException;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.w3c.dom.Element;
>    import org.w3c.dom.Document;
>    
>   @@ -97,8 +98,8 @@
>     */
>    public class BeanSerializer implements Serializer, Serializable {
>    
>   -    static Category category =
>   -            Category.getInstance(BeanSerializer.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(BeanSerializer.class.getName());
>    
>        private static final Object[] noArgs = new Object[] 
> {};  // For convenience
>    
>   
>   
>   
>   1.2       +7 -6      
> xml-axis/java/src/org/apache/axis/encoding/ser/JAFDataHandlerD
> eserializer.java
>   
>   Index: JAFDataHandlerDeserializer.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/JAFDa
> taHandlerDeserializer.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- JAFDataHandlerDeserializer.java	26 Jan 2002 02:40:34 
> -0000	1.1
>   +++ JAFDataHandlerDeserializer.java	19 Feb 2002 17:38:20 
> -0000	1.2
>   @@ -76,7 +76,8 @@
>    import org.apache.axis.Constants;
>    import org.apache.axis.message.SOAPHandler;
>    import org.apache.axis.attachments.AttachmentUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    /**
>     * JAFDataHandler Serializer
>   @@ -85,8 +86,8 @@
>     */
>    public class JAFDataHandlerDeserializer extends 
> DeserializerImpl implements Deserializer  {
>    
>   -    static Category category =
>   -            
> Category.getInstance(JAFDataHandlerDeserializer.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(JAFDataHandlerDeserializer.class.getName());
>    
>        public void startElement(String namespace, String localName,
>                                 String qName, Attributes attributes,
>   @@ -96,12 +97,12 @@
>            QName type = context.getTypeFromAttributes(namespace,
>                                                       localName,
>                                                       attributes);
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("gotType00", "Deser", "" + type));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("gotType00", 
> "Deser", "" + type));
>            }
>            
>            String href = attributes.getValue("href");
>   -        category.debug("href=" + href);
>   +        log.debug("href=" + href);
>            if (href != null) {
>                Object ref = context.getObjectByRef(href);
>                try{
>   
>   
>   
>   1.3       +4 -3      
> xml-axis/java/src/org/apache/axis/encoding/ser/JAFDataHandlerS
> erializer.java
>   
>   Index: JAFDataHandlerSerializer.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/JAFDa
> taHandlerSerializer.java,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- JAFDataHandlerSerializer.java	2 Feb 2002 18:06:18 
> -0000	1.2
>   +++ JAFDataHandlerSerializer.java	19 Feb 2002 17:38:20 
> -0000	1.3
>   @@ -84,7 +84,8 @@
>    import java.util.Iterator;
>    import java.util.Map;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.w3c.dom.Element;
>    import org.w3c.dom.Document;
>    
>   @@ -95,8 +96,8 @@
>     */
>    public class JAFDataHandlerSerializer implements Serializer {
>    
>   -    static Category category =
>   -            
> Category.getInstance(JAFDataHandlerSerializer.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(JAFDataHandlerSerializer.class.getName());
>    
>        /**
>         * Serialize a JAF DataHandler quantity.
>   
>   
>   
>   1.2       +12 -11    
> xml-axis/java/src/org/apache/axis/encoding/ser/MapDeserializer.java
>   
>   Index: MapDeserializer.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/MapDe
> serializer.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- MapDeserializer.java	26 Jan 2002 02:40:34 -0000	1.1
>   +++ MapDeserializer.java	19 Feb 2002 17:38:20 -0000	1.2
>   @@ -77,7 +77,8 @@
>    import org.apache.axis.Constants;
>    import org.apache.axis.message.SOAPHandler;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    /*
>     * A <code>MapSerializer</code> is be used to deserialize
>   @@ -89,8 +90,8 @@
>     */
>    public class MapDeserializer extends DeserializerImpl 
> implements Deserializer  {
>    
>   -    static Category category =
>   -            Category.getInstance(MapDeserializer.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(MapDeserializer.class.getName());
>    
>        // Fixed objects to act as hints to the set() callback
>        public static final Object KEYHINT = new Object();
>   @@ -113,8 +114,8 @@
>                                   String qName, Attributes attributes,
>                                   DeserializationContext context)
>            throws SAXException {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
> "MapDeserializer.startElement()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
> "MapDeserializer.startElement()"));
>            }
>            
>            if 
> (attributes.getValue(Constants.URI_CURRENT_SCHEMA_XSI,  
> "nil") != null) {
>   @@ -124,8 +125,8 @@
>            // Create a hashmap to hold the deserialized values.
>            setValue(new HashMap());
>            
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
> "MapDeserializer.startElement()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
> "MapDeserializer.startElement()"));
>            }
>        }
>        
>   @@ -148,8 +149,8 @@
>                                        DeserializationContext context)
>            throws SAXException {
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
> "MapDeserializer.onStartChild()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
> "MapDeserializer.onStartChild()"));
>            }
>    
>            if (!localName.equals("item"))
>   @@ -167,8 +168,8 @@
>         */
>        public void setValue(Object value, Object hint) throws 
> SAXException
>        {
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("gotValue00", 
> "MapDeserializer", "" + value));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("gotValue00", 
> "MapDeserializer", "" + value));
>            }
>            ((Map)this.value).put(hint, value);
>        }
>   
>   
>   
>   1.4       +5 -3      
> xml-axis/java/src/org/apache/axis/encoding/ser/MapSerializer.java
>   
>   Index: MapSerializer.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/MapSe
> rializer.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- MapSerializer.java	11 Feb 2002 21:51:17 -0000	1.3
>   +++ MapSerializer.java	19 Feb 2002 17:38:20 -0000	1.4
>   @@ -77,7 +77,9 @@
>    import java.util.Iterator;
>    import java.util.Map;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    import org.w3c.dom.Element;
>    import org.w3c.dom.Document;
>    
>   @@ -92,8 +94,8 @@
>    
>    public class MapSerializer implements Serializer {
>    
>   -    static Category category =
>   -            Category.getInstance(MapSerializer.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(MapSerializer.class.getName());
>    
>        // QNames we deal with
>        private static final QName QNAME_KEY = new QName("","key");
>   
>   
>   
>   1.2       +14 -13    
> xml-axis/java/src/org/apache/axis/encoding/ser/VectorDeserializer.java
>   
>   Index: VectorDeserializer.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/encoding/ser/Vecto
> rDeserializer.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- VectorDeserializer.java	26 Jan 2002 02:40:34 -0000	1.1
>   +++ VectorDeserializer.java	19 Feb 2002 17:38:20 -0000	1.2
>   @@ -76,7 +76,8 @@
>    import org.apache.axis.Constants;
>    import org.apache.axis.message.SOAPHandler;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    /**
>     * Deserializer for SOAP Vectors for compatibility with SOAP 2.2.
>   @@ -86,8 +87,8 @@
>     */
>    public class VectorDeserializer extends DeserializerImpl 
> implements Deserializer  {
>    
>   -    static Category category =
>   -            
> Category.getInstance(VectorDeserializer.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(VectorDeserializer.class.getName());
>    
>        public int curIndex = 0;
>    
>   @@ -106,8 +107,8 @@
>                                   String qName, Attributes attributes,
>                                   DeserializationContext context)
>            throws SAXException {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
> "VectorDeserializer.startElement()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
> "VectorDeserializer.startElement()"));
>            }
>            
>            if 
> (attributes.getValue(Constants.URI_CURRENT_SCHEMA_XSI,  
> "nil") != null) {
>   @@ -117,8 +118,8 @@
>            // Create a vector to hold the deserialized values.
>            setValue(new java.util.Vector());
>            
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
> "VectorDeserializer.startElement()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
> "VectorDeserializer.startElement()"));
>            }
>        }
>        
>   @@ -140,8 +141,8 @@
>                                        Attributes attributes,
>                                        DeserializationContext context)
>            throws SAXException {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
> "VectorDeserializer.onStartChild()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
> "VectorDeserializer.onStartChild()"));
>            }
>            
>            if (attributes == null)
>   @@ -172,8 +173,8 @@
>            dSer.registerValueTarget(new 
> DeserializerTarget(this, new Integer(curIndex)));
>            curIndex++;
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
> "VectorDeserializer.onStartChild()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
> "VectorDeserializer.onStartChild()"));
>            }
>            return (SOAPHandler) dSer;
>        }
>   @@ -186,8 +187,8 @@
>         */
>        public void setValue(Object value, Object hint) throws 
> SAXException
>        {
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("gotValue00", 
> "VectorDeserializer", "" + value));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("gotValue00", 
> "VectorDeserializer", "" + value));
>            }
>            int offset = ((Integer)hint).intValue();
>            Vector v = (Vector)this.value;
>   
>   
>   
>   1.24      +8 -5      
> xml-axis/java/src/org/apache/axis/handlers/BasicHandler.java
>   
>   Index: BasicHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/BasicHand
> ler.java,v
>   retrieving revision 1.23
>   retrieving revision 1.24
>   diff -u -r1.23 -r1.24
>   --- BasicHandler.java	10 Jan 2002 20:00:59 -0000	1.23
>   +++ BasicHandler.java	19 Feb 2002 17:38:20 -0000	1.24
>   @@ -58,7 +58,10 @@
>    import org.apache.axis.Handler;
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    import org.w3c.dom.Document;
>    import org.w3c.dom.Element;
>    
>   @@ -75,8 +78,8 @@
>     * @author Doug Davis (dug@us.ibm.com
>     */
>    public abstract class BasicHandler implements Handler {
>   -    static Category category =
>   -            Category.getInstance(BasicHandler.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(BasicHandler.class.getName());
>    
>        protected Hashtable  options ;
>        protected String name;
>   @@ -158,7 +161,7 @@
>        }
>    
>        public Element getDeploymentData(Document doc) {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "BasicHandler::getDeploymentData") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "BasicHandler::getDeploymentData") );
>    
>            Element  root = doc.createElementNS("", "handler");
>    
>   @@ -175,7 +178,7 @@
>                    root.appendChild( e1 );
>                }
>            }
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "BasicHandler::getDeploymentData") );
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "BasicHandler::getDeploymentData") );
>            return( root );
>        }
>    
>   
>   
>   
>   1.30      +12 -9     
> xml-axis/java/src/org/apache/axis/handlers/DebugHandler.java
>   
>   Index: DebugHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/DebugHand
> ler.java,v
>   retrieving revision 1.29
>   retrieving revision 1.30
>   diff -u -r1.29 -r1.30
>   --- DebugHandler.java	26 Jan 2002 02:50:52 -0000	1.29
>   +++ DebugHandler.java	19 Feb 2002 17:38:20 -0000	1.30
>   @@ -62,18 +62,21 @@
>    import org.apache.axis.message.SOAPEnvelope;
>    import org.apache.axis.message.SOAPHeader;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    
>    /**
>     *
>     * @author Doug Davis (dug@us.ibm.com)
>     */
>    public class DebugHandler extends BasicHandler {
>   -    static Category category =
>   -            Category.getInstance(DebugHandler.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(DebugHandler.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "DebugHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "DebugHandler::invoke") );
>            try {
>                Message       msg = msgContext.getRequestMessage();
>    
>   @@ -88,21 +91,21 @@
>                        throw new 
> AxisFault(JavaUtils.getMessage("cantConvert03"));
>    
>                    int debugVal = i.intValue();
>   -                
> category.debug(JavaUtils.getMessage("debugLevel00", "" + debugVal) );
>   +                
> log.debug(JavaUtils.getMessage("debugLevel00", "" + debugVal) );
>                    //Debug.setDebugLevel(debugVal);
>                    header.setProcessed(true);
>                }
>            }
>            catch( Exception e ) {
>   -            category.error( e );
>   +            log.error( e );
>                throw AxisFault.makeFault(e);
>            }
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "DebugHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "DebugHandler::invoke") );
>        }
>    
>        public void onFault(MessageContext msgContext) {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "DebugHandler::onFault") );
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "DebugHandler::onFault") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "DebugHandler::onFault") );
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "DebugHandler::onFault") );
>        }
>    
>    };
>   
>   
>   
>   1.28      +9 -6      
> xml-axis/java/src/org/apache/axis/handlers/EchoHandler.java
>   
>   Index: EchoHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/EchoHandl
> er.java,v
>   retrieving revision 1.27
>   retrieving revision 1.28
>   diff -u -r1.27 -r1.28
>   --- EchoHandler.java	8 Feb 2002 14:45:02 -0000	1.27
>   +++ EchoHandler.java	19 Feb 2002 17:38:20 -0000	1.28
>   @@ -61,7 +61,10 @@
>    import org.apache.axis.message.SOAPEnvelope;
>    import org.apache.axis.utils.JavaUtils;
>    import org.apache.axis.utils.XMLUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    import org.w3c.dom.Document;
>    
>    /**
>   @@ -69,21 +72,21 @@
>     * @author Doug Davis (dug@us.ibm.com)
>     */
>    public class EchoHandler extends BasicHandler {
>   -    static Category category =
>   -            Category.getInstance(EchoHandler.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(EchoHandler.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "EchoHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "EchoHandler::invoke") );
>            try {
>                Message  msg = msgContext.getRequestMessage();
>                SOAPEnvelope env = (SOAPEnvelope) 
> msg.getSOAPEnvelope();
>                msgContext.setResponseMessage( new Message( env ) );
>            }
>            catch( Exception e ) {
>   -            category.error( e );
>   +            log.error( e );
>                throw AxisFault.makeFault(e);
>            }
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "EchoHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "EchoHandler::invoke") );
>        }
>    
>        public String wsdlStart = "<?xml version=\"1.0\" 
> encoding=\"utf-8\" ?>" +
>   
>   
>   
>   1.17      +7 -4      
> xml-axis/java/src/org/apache/axis/handlers/ErrorHandler.java
>   
>   Index: ErrorHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/ErrorHand
> ler.java,v
>   retrieving revision 1.16
>   retrieving revision 1.17
>   diff -u -r1.16 -r1.17
>   --- ErrorHandler.java	10 Jan 2002 20:00:59 -0000	1.16
>   +++ ErrorHandler.java	19 Feb 2002 17:38:20 -0000	1.17
>   @@ -58,7 +58,10 @@
>    import org.apache.axis.AxisFault;
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    
>    /**
>     *
>   @@ -66,11 +69,11 @@
>     * @author Glen Daniels (gdaniels@allaire.com)
>     */
>    public class ErrorHandler extends BasicHandler {
>   -    static Category category =
>   -            Category.getInstance(ErrorHandler.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(ErrorHandler.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "ErrorHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "ErrorHandler::invoke") );
>            throw new AxisFault( "Server.Whatever", "ERROR", 
> null, null );
>        }
>    
>   
>   
>   
>   1.13      +10 -7     
> xml-axis/java/src/org/apache/axis/handlers/JWSHandler.java
>   
>   Index: JWSHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/JWSHandler.java,v
>   retrieving revision 1.12
>   retrieving revision 1.13
>   diff -u -r1.12 -r1.13
>   --- JWSHandler.java	1 Feb 2002 05:21:21 -0000	1.12
>   +++ JWSHandler.java	19 Feb 2002 17:38:20 -0000	1.13
>   @@ -58,7 +58,10 @@
>    import org.apache.axis.Constants;
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    
>    /** A <code>JWSHandler</code> sets the target service and 
> JWS filename
>     * in the context depending on the JWS configuration and 
> the target URL.
>   @@ -69,8 +72,8 @@
>     */
>    public class JWSHandler extends BasicHandler
>    {
>   -    static Category category =
>   -            Category.getInstance(JWSHandler.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(JWSHandler.class.getName());
>    
>        // Keep the processor Handler around so we can make it 
> the service
>        // Handler for this request if appropriate.
>   @@ -78,8 +81,8 @@
>    
>        public void invoke(MessageContext msgContext) throws AxisFault
>        {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "JWSHandler::invoke") );
>            }
>    
>   @@ -90,8 +93,8 @@
>                msgContext.setServiceHandler(processor);
>            }
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "JWSHandler::invoke") );
>            }
>        }
>   
>   
>   
>   1.37      +22 -19    
> xml-axis/java/src/org/apache/axis/handlers/JWSProcessor.java
>   
>   Index: JWSProcessor.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/JWSProces
> sor.java,v
>   retrieving revision 1.36
>   retrieving revision 1.37
>   diff -u -r1.36 -r1.37
>   --- JWSProcessor.java	8 Feb 2002 03:09:25 -0000	1.36
>   +++ JWSProcessor.java	19 Feb 2002 17:38:20 -0000	1.37
>   @@ -66,7 +66,10 @@
>    import org.apache.axis.utils.compiler.Compiler;
>    import org.apache.axis.utils.compiler.CompilerError;
>    import org.apache.axis.utils.compiler.CompilerFactory;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    import org.w3c.dom.Document;
>    import org.w3c.dom.Element;
>    
>   @@ -93,8 +96,8 @@
>     */
>    public class JWSProcessor extends BasicHandler
>    {
>   -    static Category category =
>   -            Category.getInstance(JWSProcessor.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(JWSProcessor.class.getName());
>    
>    
>        public void invoke(MessageContext msgContext) throws AxisFault
>   @@ -105,8 +108,8 @@
>        public void invokeImpl(MessageContext msgContext, 
> boolean doWsdl)
>                throws AxisFault
>        {
>   -        if (category.isDebugEnabled())
>   -            category.debug(JavaUtils.getMessage("enter00", 
> "JWSProcessor::invoke"));
>   +        if (log.isDebugEnabled())
>   +            log.debug(JavaUtils.getMessage("enter00", 
> "JWSProcessor::invoke"));
>            try {
>                /* Grab the *.jws filename from the context - 
> should have been */
>                /* placed there by another handler (ie. 
> HTTPActionHandler)     */
>   @@ -148,17 +151,17 @@
>                    outDirectory.mkdirs();
>                }
>    
>   -            if (category.isInfoEnabled())
>   -                category.info("jwsFile: " + jwsFile );
>   +            if (log.isInfoEnabled())
>   +                log.info("jwsFile: " + jwsFile );
>                String   jFile   = outdir + File.separator + 
> file.substring(0, file.length()-3) +
>                        "java" ;
>                String   cFile   = outdir + File.separator + 
> file.substring(0, file.length()-3) +
>                        "class" ;
>    
>   -            if (category.isInfoEnabled()) {
>   -                category.info("jFile: " + jFile );
>   -                category.info("cFile: " + cFile );
>   -                category.info("outdir: " + outdir);
>   +            if (log.isInfoEnabled()) {
>   +                log.info("jFile: " + jFile );
>   +                log.info("cFile: " + cFile );
>   +                log.info("outdir: " + outdir);
>                }
>    
>                File  f1 = new File( cFile );
>   @@ -175,8 +178,8 @@
>                clsName = clsName.substring( 0, clsName.length()-4 );
>                clsName = clsName.replace('/', '.');
>    
>   -            if (category.isInfoEnabled())
>   -                category.info("ClsName: " + clsName );
>   +            if (log.isInfoEnabled())
>   +                log.info("ClsName: " + clsName );
>    
>                /* Check to see if we need to recompile */
>                /****************************************/
>   @@ -185,8 +188,8 @@
>                    /* java file then recompile the java file. 
>                 */
>                    /* Start by copying the *.jws file to 
> *.java               */
>                    
> /***********************************************************/
>   -                
> category.info(JavaUtils.getMessage("compiling00", jwsFile) );
>   -                
> category.debug(JavaUtils.getMessage("copy00", jwsFile, jFile) );
>   +                
> log.info(JavaUtils.getMessage("compiling00", jwsFile) );
>   +                log.debug(JavaUtils.getMessage("copy00", 
> jwsFile, jFile) );
>                    FileReader fr = new FileReader( jwsFile );
>                    FileWriter fw = new FileWriter( jFile );
>                    char[] buf = new char[4096];
>   @@ -198,7 +201,7 @@
>    
>                    /* Now run javac on the *.java file */
>                    /************************************/
>   -                category.debug("javac " + jFile );
>   +                log.debug("javac " + jFile );
>                    // Process proc = rt.exec( "javac " + jFile );
>                    // proc.waitFor();
>                    Compiler          compiler = 
> CompilerFactory.getCompiler();
>   @@ -278,12 +281,12 @@
>                rpc.cleanup();  // ??
>            }
>            catch( Exception e ) {
>   -            category.error( "JWSProcessor Exception", e );
>   +            log.error( "JWSProcessor Exception", e );
>                throw AxisFault.makeFault(e);
>            }
>    
>   -        if (category.isDebugEnabled())
>   -            category.debug(JavaUtils.getMessage("exit00", 
> "JWSProcessor::invoke") );
>   +        if (log.isDebugEnabled())
>   +            log.debug(JavaUtils.getMessage("exit00", 
> "JWSProcessor::invoke") );
>        }
>    
>        public void generateWSDL(MessageContext msgContext) 
> throws AxisFault {
>   
>   
>   
>   1.24      +12 -9     
> xml-axis/java/src/org/apache/axis/handlers/LogHandler.java
>   
>   Index: LogHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/LogHandler.java,v
>   retrieving revision 1.23
>   retrieving revision 1.24
>   diff -u -r1.23 -r1.24
>   --- LogHandler.java	3 Dec 2001 22:49:23 -0000	1.23
>   +++ LogHandler.java	19 Feb 2002 17:38:20 -0000	1.24
>   @@ -59,7 +59,10 @@
>    import org.apache.axis.Message;
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    
>    import java.io.FileWriter;
>    import java.io.PrintWriter;
>   @@ -69,13 +72,13 @@
>     * @author Doug Davis (dug@us.ibm.com)
>     */
>    public class LogHandler extends BasicHandler {
>   -    static Category category =
>   -            Category.getInstance(LogHandler.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(LogHandler.class.getName());
>    
>        long start = 0;
>    
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "LogHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "LogHandler::invoke") );
>            if (msgContext.getPastPivot() == false) {
>               start = System.currentTimeMillis();
>            } else {
>   @@ -97,15 +100,15 @@
>    
>                    pw.close();
>                } catch( Exception e ) {
>   -                category.error( e );
>   +                log.error( e );
>                    throw AxisFault.makeFault(e);
>                }
>            }
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "LogHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "LogHandler::invoke") );
>        }
>    
>        public void undo(MessageContext msgContext) {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "LogHandler::undo") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "LogHandler::undo") );
>            try {
>                FileWriter  fw   = new FileWriter( "axis.log", true );
>                PrintWriter pw   = new PrintWriter( fw );
>   @@ -114,8 +117,8 @@
>                pw.println( "=====================" );
>                pw.close();
>            } catch( Exception e ) {
>   -            category.error( e );
>   +            log.error( e );
>            }
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "LogHandler::undo") );
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "LogHandler::undo") );
>        }
>    };
>   
>   
>   
>   1.10      +7 -10     
> xml-axis/java/src/org/apache/axis/handlers/LogMessage.java
>   
>   Index: LogMessage.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/LogMessage.java,v
>   retrieving revision 1.9
>   retrieving revision 1.10
>   diff -u -r1.9 -r1.10
>   --- LogMessage.java	10 Jan 2002 20:00:59 -0000	1.9
>   +++ LogMessage.java	19 Feb 2002 17:38:20 -0000	1.10
>   @@ -57,8 +57,10 @@
>    
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   -import org.apache.log4j.Priority;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    
>    /** This handler simply prints a custom message to the debug log.
>     *
>   @@ -66,18 +68,13 @@
>     */
>    public class LogMessage extends BasicHandler
>    {
>   -    static Category category =
>   -            Category.getInstance(LogMessage.class.getName());
>   -
>   -    static {
>   -        category.setPriority(Priority.INFO);
>   -    }
>   -
>   +    static Log log =
>   +            LogFactory.getLog(LogMessage.class.getName());
>    
>        public void invoke(MessageContext context)
>        {
>            String msg = (String)getOption("message");
>            if (msg != null)
>   -            category.log(Priority.INFO, msg);
>   +            log.info(msg);
>        }
>    }
>   
>   
>   
>   1.5       +9 -6      
> xml-axis/java/src/org/apache/axis/handlers/MD5AttachHandler.java
>   
>   Index: MD5AttachHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/MD5Attach
> Handler.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- MD5AttachHandler.java	10 Jan 2002 20:00:59 -0000	1.4
>   +++ MD5AttachHandler.java	19 Feb 2002 17:38:20 -0000	1.5
>   @@ -61,7 +61,10 @@
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.message.SOAPEnvelope;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    
>    
>    /**
>   @@ -70,11 +73,11 @@
>     * @author Rick Rineholt 
>     */
>    public class MD5AttachHandler extends 
> org.apache.axis.handlers.BasicHandler {
>   -    static Category category =
>   -        Category.getInstance(MD5AttachHandler.class.getName());
>   +    static Log log =
>   +        LogFactory.getLog(MD5AttachHandler.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "EchoHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "EchoHandler::invoke") );
>            try {
>                // System.err.println("IN MD5");        
>                Message  msg = msgContext.getRequestMessage();
>   @@ -152,10 +155,10 @@
>                msgContext.setResponseMessage( msg );
>            }
>            catch ( Exception e ) {
>   -            category.error( e );
>   +            log.error( e );
>                throw AxisFault.makeFault(e);
>            }
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "EchoHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "EchoHandler::invoke") );
>        }
>    
>    }
>   
>   
>   
>   1.26      +16 -13    
> xml-axis/java/src/org/apache/axis/handlers/SimpleAuthenticatio
> nHandler.java
>   
>   Index: SimpleAuthenticationHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/SimpleAut
> henticationHandler.java,v
>   retrieving revision 1.25
>   retrieving revision 1.26
>   diff -u -r1.25 -r1.26
>   --- SimpleAuthenticationHandler.java	8 Feb 2002 
> 22:14:11 -0000	1.25
>   +++ SimpleAuthenticationHandler.java	19 Feb 2002 
> 17:38:20 -0000	1.26
>   @@ -61,7 +61,10 @@
>    import org.apache.axis.security.SecurityProvider;
>    import org.apache.axis.security.simple.SimpleSecurityProvider;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    
>    /**
>     * Just a simple Authentication Handler to see if the user
>   @@ -75,15 +78,15 @@
>     * @author Sam Ruby (rubys@us.ibm.com)
>     */
>    public class SimpleAuthenticationHandler extends BasicHandler {
>   -    static Category category =
>   -            
> Category.getInstance(SimpleAuthenticationHandler.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(SimpleAuthenticationHandler.class.getName());
>    
>        /**
>         * Authenticate the user and password from the msgContext
>         */
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "SimpleAuthenticationHandler::invoke"));
>            }
>    
>   @@ -95,8 +98,8 @@
>    
>            if (provider != null) {
>                String  userID = msgContext.getUsername();
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( 
> JavaUtils.getMessage("user00", userID) );
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( JavaUtils.getMessage("user00", 
> userID) );
>                }
>    
>                // in order to authenticate, the user must exist
>   @@ -106,8 +109,8 @@
>                        null, null );
>    
>                String passwd = msgContext.getPassword();
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( 
> JavaUtils.getMessage("password00", passwd) );
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( 
> JavaUtils.getMessage("password00", passwd) );
>                }
>    
>                AuthenticatedUser authUser = 
> provider.authenticate(msgContext);
>   @@ -118,15 +121,15 @@
>                        JavaUtils.getMessage("cantAuth01", userID),
>                        null, null );
>    
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( 
> JavaUtils.getMessage("auth00", userID) );
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( JavaUtils.getMessage("auth00", 
> userID) );
>                }
>    
>                
> msgContext.setProperty(MessageContext.AUTHUSER, authUser);
>            }
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "SimpleAuthenticationHandler::invoke") );
>            }
>        }
>   
>   
>   
>   1.25      +21 -18    
> xml-axis/java/src/org/apache/axis/handlers/SimpleAuthorization
> Handler.java
>   
>   Index: SimpleAuthorizationHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/SimpleAut
> horizationHandler.java,v
>   retrieving revision 1.24
>   retrieving revision 1.25
>   diff -u -r1.24 -r1.25
>   --- SimpleAuthorizationHandler.java	15 Nov 2001 14:45:57 
> -0000	1.24
>   +++ SimpleAuthorizationHandler.java	19 Feb 2002 17:38:20 
> -0000	1.25
>   @@ -61,7 +61,10 @@
>    import org.apache.axis.security.AuthenticatedUser;
>    import org.apache.axis.security.SecurityProvider;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    
>    import java.util.StringTokenizer;
>    
>   @@ -78,15 +81,15 @@
>     * @author Sam Ruby (rubys@us.ibm.com)
>     */
>    public class SimpleAuthorizationHandler extends BasicHandler {
>   -    static Category category =
>   -            
> Category.getInstance(SimpleAuthorizationHandler.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(SimpleAuthorizationHandler.class.getName());
>    
>        /**
>         * Authorize the user and targetService from the msgContext
>         */
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "SimpleAuthorizationHandler::invoke") );
>            }
>    
>   @@ -113,13 +116,13 @@
>            String allowedRoles = 
> (String)serviceHandler.getOption("allowedRoles");
>            if (allowedRoles == null) {
>                if (allowByDefault) {
>   -                if (category.isInfoEnabled()) {
>   -                    category.info(JavaUtils.getMessage( 
> "noRoles00"));
>   +                if (log.isInfoEnabled()) {
>   +                    log.info(JavaUtils.getMessage( "noRoles00"));
>                    }
>                }
>                else {
>   -                if (category.isInfoEnabled()) {
>   -                    category.info(JavaUtils.getMessage( 
> "noRoles01"));
>   +                if (log.isInfoEnabled()) {
>   +                    log.info(JavaUtils.getMessage( "noRoles01"));
>                    }
>    
>                    throw new AxisFault( "Server.Unauthorized",
>   @@ -127,8 +130,8 @@
>                        null, null );
>                }
>    
>   -            if (category.isDebugEnabled()) {
>   -                category.debug(JavaUtils.getMessage("exit00", 
>   +            if (log.isDebugEnabled()) {
>   +                log.debug(JavaUtils.getMessage("exit00", 
>                        "SimpleAuthorizationHandler::invoke") );
>                }
>                return;
>   @@ -143,13 +146,13 @@
>                String thisRole = st.nextToken();
>                if (provider.userMatches(user, thisRole)) {
>    
>   -                if (category.isInfoEnabled()) {
>   -                    category.info(JavaUtils.getMessage("auth01", 
>   +                if (log.isInfoEnabled()) {
>   +                    log.info(JavaUtils.getMessage("auth01", 
>                            userID, serviceName));
>                    }
>    
>   -                if (category.isDebugEnabled()) {
>   -                    category.debug(JavaUtils.getMessage("exit00", 
>   +                if (log.isDebugEnabled()) {
>   +                    log.debug(JavaUtils.getMessage("exit00", 
>                            "SimpleAuthorizationHandler::invoke") );
>                    }
>                    return;
>   @@ -165,10 +168,10 @@
>         * Nothing to undo
>         */
>        public void undo(MessageContext msgContext) {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "SimpleAuthorizationHandler::undo") );
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "SimpleAuthorizationHandler::undo") );
>            }
>        }
>   
>   
>   
>   1.13      +6 -4      
> xml-axis/java/src/org/apache/axis/handlers/SimpleSessionHandler.java
>   
>   Index: SimpleSessionHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/SimpleSes
> sionHandler.java,v
>   retrieving revision 1.12
>   retrieving revision 1.13
>   diff -u -r1.12 -r1.13
>   --- SimpleSessionHandler.java	26 Jan 2002 02:50:52 
> -0000	1.12
>   +++ SimpleSessionHandler.java	19 Feb 2002 17:38:20 
> -0000	1.13
>   @@ -64,7 +64,9 @@
>    import org.apache.axis.message.SOAPHeader;
>    import org.apache.axis.session.SimpleSession;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import javax.xml.rpc.namespace.QName;
>    import java.util.Hashtable;
>   @@ -111,8 +113,8 @@
>     */
>    public class SimpleSessionHandler extends BasicHandler
>    {
>   -    static Category category =
>   -            
> Category.getInstance(SimpleSessionHandler.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(SimpleSessionHandler.class.getName());
>    
>        public static final String SESSION_ID = "SimpleSession.id";
>        public static final String SESSION_NS = 
> "http://xml.apache.org/axis/session";
>   @@ -158,7 +160,7 @@
>                    SimpleSession session = 
> (SimpleSession)activeSessions.get(key);
>                    if ((session.getTimeout() * 1000) >
>                         (curTime - session.getLastAccessTime())) {
>   -                    
> category.debug(JavaUtils.getMessage("timeout00",
>   +                    log.debug(JavaUtils.getMessage("timeout00",
>                                                            
> key.toString()));
>    
>                        // Don't modify the hashtable while 
> we're iterating.
>   
>   
>   
>   1.15      +8 -6      
> xml-axis/java/src/org/apache/axis/handlers/http/HTTPActionHandler.java
>   
>   Index: HTTPActionHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/http/HTTP
> ActionHandler.java,v
>   retrieving revision 1.14
>   retrieving revision 1.15
>   diff -u -r1.14 -r1.15
>   --- HTTPActionHandler.java	8 Feb 2002 22:14:11 -0000	1.14
>   +++ HTTPActionHandler.java	19 Feb 2002 17:38:20 -0000	1.15
>   @@ -58,7 +58,9 @@
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.handlers.BasicHandler;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    /** An <code>HTTPActionHandler</code> simply sets the 
> context's TargetService
>     * property from the HTTPAction property.  We expect there to be a
>   @@ -73,18 +75,18 @@
>     */
>    public class HTTPActionHandler extends BasicHandler
>    {
>   -    static Category category =
>   -            
> Category.getInstance(HTTPActionHandler.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(HTTPActionHandler.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws AxisFault
>        {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "HTTPActionHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "HTTPActionHandler::invoke") );
>    
>            /** If there's already a targetService then just return.
>            */
>            if ( msgContext.getServiceHandler() == null ) {
>                String action = (String) msgContext.getSOAPActionURI();
>   -            category.debug( "  HTTP SOAPAction: " + action );
>   +            log.debug( "  HTTP SOAPAction: " + action );
>                
>                /** The idea is that this handler only goes in 
> the chain IF this
>                * service does a mapping between SOAPAction 
> and target.  Therefore
>   @@ -114,6 +116,6 @@
>                }
>            }
>    
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "HTTPActionHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "HTTPActionHandler::invoke") );
>        }
>    }
>   
>   
>   
>   1.12      +10 -7     
> xml-axis/java/src/org/apache/axis/handlers/http/HTTPAuthHandler.java
>   
>   Index: HTTPAuthHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/http/HTTP
> AuthHandler.java,v
>   retrieving revision 1.11
>   retrieving revision 1.12
>   diff -u -r1.11 -r1.12
>   --- HTTPAuthHandler.java	8 Feb 2002 22:14:11 -0000	1.11
>   +++ HTTPAuthHandler.java	19 Feb 2002 17:38:20 -0000	1.12
>   @@ -60,7 +60,10 @@
>    import org.apache.axis.handlers.BasicHandler;
>    import org.apache.axis.transport.http.HTTPConstants;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    
>    /** An <code>HTTPAuthHandler</code> simply sets the 
> context's username
>     * and password properties from the HTTP auth headers.
>   @@ -70,12 +73,12 @@
>     */
>    public class HTTPAuthHandler extends BasicHandler
>    {
>   -    static Category category =
>   -            Category.getInstance(HTTPAuthHandler.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(HTTPAuthHandler.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws AxisFault
>        {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "HTTPAuthHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "HTTPAuthHandler::invoke") );
>            
>            /* Process the Basic Auth stuff in the headers */
>            /***********************************************/
>   @@ -90,17 +93,17 @@
>                if ( i == -1 ) user = tmp ;
>                else           user = tmp.substring( 0, i);
>                msgContext.setUsername( user );
>   -            category.debug( 
> JavaUtils.getMessage("httpUser00", user) );
>   +            log.debug( JavaUtils.getMessage("httpUser00", user) );
>                if ( i != -1 )  {
>                    String pwd = tmp.substring(i+1);
>                    if ( pwd != null && pwd.equals("") ) pwd = null ;
>                    if ( pwd != null ) {
>                        msgContext.setPassword( pwd );
>   -                    category.debug( 
> JavaUtils.getMessage("httpPassword00", pwd) );
>   +                    log.debug( 
> JavaUtils.getMessage("httpPassword00", pwd) );
>                    }
>                }
>            }
>    
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "HTTPAuthHandler::invoke") );
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "HTTPAuthHandler::invoke") );
>        }
>    }
>   
>   
>   
>   1.14      +8 -5      
> xml-axis/java/src/org/apache/axis/handlers/http/URLMapper.java
>   
>   Index: URLMapper.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/http/URLM
> apper.java,v
>   retrieving revision 1.13
>   retrieving revision 1.14
>   diff -u -r1.13 -r1.14
>   --- URLMapper.java	10 Jan 2002 20:01:00 -0000	1.13
>   +++ URLMapper.java	19 Feb 2002 17:38:20 -0000	1.14
>   @@ -59,7 +59,10 @@
>    import org.apache.axis.handlers.BasicHandler;
>    import org.apache.axis.transport.http.HTTPConstants;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    
>    /** An <code>URLMapper</code> attempts to use the extra path info
>     * of this request as the service name.
>   @@ -68,12 +71,12 @@
>     */
>    public class URLMapper extends BasicHandler
>    {
>   -    static Category category =
>   -            Category.getInstance(URLMapper.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(URLMapper.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws AxisFault
>        {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "URLMapper::invoke") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "URLMapper::invoke") );
>    
>            /** If there's already a targetService then just return.
>             */
>   @@ -87,7 +90,7 @@
>                }
>            }
>    
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "URLMapper::invoke") );
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "URLMapper::invoke") );
>        }
>    
>        public void generateWSDL(MessageContext msgContext) 
> throws AxisFault {
>   
>   
>   
>   1.45      +10 -7     
> xml-axis/java/src/org/apache/axis/handlers/soap/SOAPService.java
>   
>   Index: SOAPService.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/handlers/soap/SOAP
> Service.java,v
>   retrieving revision 1.44
>   retrieving revision 1.45
>   diff -u -r1.44 -r1.45
>   --- SOAPService.java	31 Jan 2002 03:26:09 -0000	1.44
>   +++ SOAPService.java	19 Feb 2002 17:38:21 -0000	1.45
>   @@ -71,7 +71,10 @@
>    import org.apache.axis.message.SOAPEnvelope;
>    import org.apache.axis.message.SOAPHeader;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>   +
>    import org.w3c.dom.Document;
>    import org.w3c.dom.Element;
>    
>   @@ -90,8 +93,8 @@
>     */
>    public class SOAPService extends SimpleTargetedChain
>    {
>   -    static Category category =
>   -            Category.getInstance(SOAPService.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(SOAPService.class.getName());
>    
>        /** Valid transports for this service
>         * (server side only!)
>   @@ -114,8 +117,8 @@
>    
>            public void invoke(MessageContext msgContext) 
> throws AxisFault {
>                // Do SOAP semantics here
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( 
> JavaUtils.getMessage("semanticCheck00"));
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( 
> JavaUtils.getMessage("semanticCheck00"));
>                }
>    
>                // This needs to be set to the merged list of 
> service-specific and
>   @@ -274,8 +277,8 @@
>         */
>        public void enableTransport(String transportName)
>        {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage(
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage(
>                    "enableTransport00", "" + this, transportName));
>            }
>    
>   
>   
>   
>   1.16      +14 -13    
> xml-axis/java/src/org/apache/axis/message/BodyBuilder.java
>   
>   Index: BodyBuilder.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/message/BodyBuilder.java,v
>   retrieving revision 1.15
>   retrieving revision 1.16
>   diff -u -r1.15 -r1.16
>   --- BodyBuilder.java	12 Feb 2002 17:18:29 -0000	1.15
>   +++ BodyBuilder.java	19 Feb 2002 17:38:21 -0000	1.16
>   @@ -67,14 +67,15 @@
>    import org.apache.axis.ConfigurationException;
>    import org.apache.axis.encoding.DeserializationContext;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.xml.sax.Attributes;
>    import org.xml.sax.SAXException;
>    
>    public class BodyBuilder extends SOAPHandler
>    {
>   -    static Category category =
>   -            Category.getInstance(BodyBuilder.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(BodyBuilder.class.getName());
>    
>        private SOAPBodyElement element;
>        boolean gotRPCElement = false;
>   @@ -94,8 +95,8 @@
>                                         
> DeserializationContext context)
>            throws SAXException
>        {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
> "BodyBuilder.onStartChild()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
> "BodyBuilder.onStartChild()"));
>            }
>            SOAPHandler handler = null;
>            
>   @@ -117,8 +118,8 @@
>            if (isRoot &&
>                msgContext.getServiceHandler() == null) {
>    
>   -            if (category.isDebugEnabled()) {
>   -                
> category.debug(JavaUtils.getMessage("dispatching00",namespace));
>   +            if (log.isDebugEnabled()) {
>   +                
> log.debug(JavaUtils.getMessage("dispatching00",namespace));
>                }
>    
>                try {
>   @@ -163,8 +164,8 @@
>            
>            handler.myElement = element;
>            
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
> "BodyBuilder.onStartChild()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
> "BodyBuilder.onStartChild()"));
>            }
>            return handler;
>        }
>   @@ -172,8 +173,8 @@
>        public void onEndChild(String namespace, String localName,
>                               DeserializationContext context)
>        {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
> "BodyBuilder.onEndChild()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
> "BodyBuilder.onEndChild()"));
>            }
>            
>            if (element != null) {
>   @@ -181,8 +182,8 @@
>                element = null;
>            }
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
> "BodyBuilder.onEndChild()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
> "BodyBuilder.onEndChild()"));
>            }
>        }
>    }
>   
>   
>   
>   1.74      +9 -8      
> xml-axis/java/src/org/apache/axis/message/MessageElement.java
>   
>   Index: MessageElement.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/message/MessageEle
> ment.java,v
>   retrieving revision 1.73
>   retrieving revision 1.74
>   diff -u -r1.73 -r1.74
>   --- MessageElement.java	28 Jan 2002 18:23:02 -0000	1.73
>   +++ MessageElement.java	19 Feb 2002 17:38:21 -0000	1.74
>   @@ -64,7 +64,8 @@
>    import org.apache.axis.utils.Mapping;
>    import org.apache.axis.utils.JavaUtils;
>    import org.apache.axis.utils.XMLUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.w3c.dom.Document;
>    import org.w3c.dom.Element;
>    import org.xml.sax.Attributes;
>   @@ -82,8 +83,8 @@
>    
>    public class MessageElement
>    {
>   -    static Category category =
>   -            Category.getInstance(MessageElement.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(MessageElement.class.getName());
>    
>        protected String    name ;
>        protected String    prefix ;
>   @@ -137,10 +138,10 @@
>        public MessageElement(String namespace, String 
> localPart, String qName,
>                       Attributes attributes, 
> DeserializationContext context)
>        {
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("newElem00", 
> super.toString(), "" + qName));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("newElem00", 
> super.toString(), "" + qName));
>                for (int i = 0; attributes != null && i < 
> attributes.getLength(); i++) {
>   -                category.debug("  " + 
> attributes.getQName(i) + " = '" + attributes.getValue(i) + "'");
>   +                log.debug("  " + attributes.getQName(i) + 
> " = '" + attributes.getValue(i) + "'");
>                }
>            }
>            this.namespaceURI = namespace;
>   @@ -299,8 +300,8 @@
>            if (parent != null)
>                return parent.getNamespaceURI(prefix);
>    
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("noPrefix00", "" + this, prefix));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("noPrefix00", 
> "" + this, prefix));
>            }
>    
>            return null;
>   
>   
>   
>   1.26      +16 -15    
> xml-axis/java/src/org/apache/axis/message/RPCHandler.java
>   
>   Index: RPCHandler.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/message/RPCHandler.java,v
>   retrieving revision 1.25
>   retrieving revision 1.26
>   diff -u -r1.25 -r1.26
>   --- RPCHandler.java	15 Feb 2002 18:20:10 -0000	1.25
>   +++ RPCHandler.java	19 Feb 2002 17:38:21 -0000	1.26
>   @@ -73,7 +73,8 @@
>    import org.apache.axis.utils.JavaUtils;
>    import org.apache.axis.utils.cache.JavaClass;
>    import org.apache.axis.utils.cache.ClassCache;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.xml.sax.Attributes;
>    import org.xml.sax.SAXException;
>    
>   @@ -83,8 +84,8 @@
>    
>    public class RPCHandler extends SOAPHandler
>    {
>   -    static Category category =
>   -            Category.getInstance(RPCHandler.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(RPCHandler.class.getName());
>        
>        private RPCElement call;
>        private RPCParam currentParam;
>   @@ -111,8 +112,8 @@
>                JavaClass       jc   = cache.lookup(clsName, cl);
>                Class           cls  = jc.getJavaClass();
>                
>   -            if (category.isDebugEnabled()) {
>   -                category.debug(JavaUtils.getMessage(
>   +            if (log.isDebugEnabled()) {
>   +                log.debug(JavaUtils.getMessage(
>                            "lookup00", methodName, clsName));
>                }
>    
>   @@ -149,8 +150,8 @@
>             * - Cache typeMappingRegistry
>             * - Cache service description
>             */
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
> "RPCHandler.onStartChild()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
> "RPCHandler.onStartChild()"));
>            }
>            
>            Vector params = call.getParams();
>   @@ -174,8 +175,8 @@
>                                                       localName,
>                                                       attributes);
>            }
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("typeFromAttr00", "" + type));
>   +        if (log.isDebugEnabled()) {
>   +            
> log.debug(JavaUtils.getMessage("typeFromAttr00", "" + type));
>            }
>    
>            String isNil = 
> attributes.getValue(Constants.URI_2001_SCHEMA_XSI,"nil");
>   @@ -216,8 +217,8 @@
>                    if (index+1<defaultParamTypes.length)
>                        if 
> (defaultParamTypes[0]==MessageContext.class) index++;
>                    type = 
> typeMap.getTypeQName(defaultParamTypes[index]);
>   -                if (category.isDebugEnabled()) {
>   -                    
> category.debug(JavaUtils.getMessage("typeFromParms00", "" + type));
>   +                if (log.isDebugEnabled()) {
>   +                    
> log.debug(JavaUtils.getMessage("typeFromParms00", "" + type));
>                    }
>                }
>            }
>   @@ -238,8 +239,8 @@
>                 new FieldTarget(currentParam, 
>                     RPCParam.getValueField()));
>            
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
> "RPCHandler.onStartChild()"));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
> "RPCHandler.onStartChild()"));
>            }
>            return (SOAPHandler) dser;
>        }
>   @@ -248,8 +249,8 @@
>                               DeserializationContext context)
>            throws SAXException
>        {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("setProp00",
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("setProp00",
>                        "MessageContext", "RPCHandler.endElement()."));
>            }
>            context.getMessageContext().setProperty("RPC", call);
>   
>   
>   
>   1.12      +12 -11    
> xml-axis/java/src/org/apache/axis/message/SAXOutputter.java
>   
>   Index: SAXOutputter.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/message/SAXOutputt
> er.java,v
>   retrieving revision 1.11
>   retrieving revision 1.12
>   diff -u -r1.11 -r1.12
>   --- SAXOutputter.java	7 Nov 2001 19:00:42 -0000	1.11
>   +++ SAXOutputter.java	19 Feb 2002 17:38:21 -0000	1.12
>   @@ -55,7 +55,8 @@
>    package org.apache.axis.message;
>    
>    import org.apache.axis.encoding.SerializationContext;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.xml.sax.Attributes;
>    import org.xml.sax.SAXException;
>    import org.xml.sax.helpers.DefaultHandler;
>   @@ -65,8 +66,8 @@
>    
>    public class SAXOutputter extends DefaultHandler
>    {
>   -    static Category category =
>   -            Category.getInstance(SAXOutputter.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(SAXOutputter.class.getName());
>        
>        SerializationContext context;
>        
>   @@ -79,8 +80,8 @@
>        }
>        
>        public void endDocument() throws SAXException {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug("SAXOutputter.endDocument");
>   +        if (log.isDebugEnabled()) {
>   +            log.debug("SAXOutputter.endDocument");
>            }
>        }
>        
>   @@ -93,8 +94,8 @@
>        }
>        
>        public void characters(char[] p1, int p2, int p3) 
> throws SAXException {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug("SAXOutputter.characters ['" + 
> new String(p1, p2, p3) + "']");
>   +        if (log.isDebugEnabled()) {
>   +            log.debug("SAXOutputter.characters ['" + new 
> String(p1, p2, p3) + "']");
>            }
>            try {
>                context.writeChars(p1, p2, p3);
>   @@ -120,8 +121,8 @@
>                                 String qName, Attributes attributes)
>            throws SAXException
>        {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug("SAXOutputter.startElement ['" 
> + namespace + "' " +
>   +        if (log.isDebugEnabled()) {
>   +            log.debug("SAXOutputter.startElement ['" + 
> namespace + "' " +
>                               localName + "]");
>            }
>    
>   @@ -135,8 +136,8 @@
>        public void endElement(String namespace, String 
> localName, String qName)
>            throws SAXException
>        {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug("SAXOutputter.endElement ['" + 
> namespace + "' " +
>   +        if (log.isDebugEnabled()) {
>   +            log.debug("SAXOutputter.endElement ['" + 
> namespace + "' " +
>                               localName + "]");
>            }
>            
>   
>   
>   
>   1.55      +18 -17    
> xml-axis/java/src/org/apache/axis/message/SOAPEnvelope.java
>   
>   Index: SOAPEnvelope.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPEnvelo
> pe.java,v
>   retrieving revision 1.54
>   retrieving revision 1.55
>   diff -u -r1.54 -r1.55
>   --- SOAPEnvelope.java	26 Jan 2002 02:47:22 -0000	1.54
>   +++ SOAPEnvelope.java	19 Feb 2002 17:38:21 -0000	1.55
>   @@ -65,7 +65,8 @@
>    import org.apache.axis.encoding.SerializationContext;
>    import org.apache.axis.utils.JavaUtils;
>    import org.apache.axis.utils.Mapping;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.xml.sax.InputSource;
>    import org.xml.sax.helpers.AttributesImpl;
>    
>   @@ -78,8 +79,8 @@
>    
>    public class SOAPEnvelope extends MessageElement
>    {
>   -    static Category category =
>   -            Category.getInstance(SOAPEnvelope.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(SOAPEnvelope.class.getName());
>        
>        public Vector headers = new Vector();
>        public Vector bodyElements = new Vector();
>   @@ -198,8 +199,8 @@
>        
>        public void addHeader(SOAPHeader header)
>        {
>   -        if (category.isDebugEnabled())
>   -            category.debug(JavaUtils.getMessage("addHeader00"));
>   +        if (log.isDebugEnabled())
>   +            log.debug(JavaUtils.getMessage("addHeader00"));
>            header.setEnvelope(this);
>            headers.addElement(header);
>            _isDirty = true;
>   @@ -207,8 +208,8 @@
>        
>        public void addBodyElement(SOAPBodyElement element)
>        {
>   -        if (category.isDebugEnabled())
>   -            category.debug(JavaUtils.getMessage("addBody00"));
>   +        if (log.isDebugEnabled())
>   +            log.debug(JavaUtils.getMessage("addBody00"));
>            element.setEnvelope(this);
>            bodyElements.addElement(element);
>    
>   @@ -217,24 +218,24 @@
>        
>        public void removeHeader(SOAPHeader header)
>        {
>   -        if (category.isDebugEnabled())
>   -            category.debug(JavaUtils.getMessage("removeHeader00"));
>   +        if (log.isDebugEnabled())
>   +            log.debug(JavaUtils.getMessage("removeHeader00"));
>            headers.removeElement(header);
>            _isDirty = true;
>        }
>        
>        public void removeBodyElement(SOAPBodyElement element)
>        {
>   -        if (category.isDebugEnabled())
>   -            category.debug(JavaUtils.getMessage("removeBody00"));
>   +        if (log.isDebugEnabled())
>   +            log.debug(JavaUtils.getMessage("removeBody00"));
>            bodyElements.removeElement(element);
>            _isDirty = true;
>        }
>        
>        public void removeTrailer(MessageElement element)
>        {
>   -        if (category.isDebugEnabled())
>   -            
> category.debug(JavaUtils.getMessage("removeTrailer00"));
>   +        if (log.isDebugEnabled())
>   +            log.debug(JavaUtils.getMessage("removeTrailer00"));
>            trailers.removeElement(element);
>            _isDirty = true;
>        }
>   @@ -248,8 +249,8 @@
>        
>        public void addTrailer(MessageElement element)
>        {
>   -        if (category.isDebugEnabled())
>   -            
> category.debug(JavaUtils.getMessage("removeTrailer00"));
>   +        if (log.isDebugEnabled())
>   +            log.debug(JavaUtils.getMessage("removeTrailer00"));
>            element.setEnvelope(this);
>            trailers.addElement(element);
>            _isDirty = true;
>   @@ -405,8 +406,8 @@
>            context.startElement(new QName(Constants.URI_SOAP_ENV,
>                                           
> Constants.ELEM_ENVELOPE), attributes);
>            
>   -        if (category.isDebugEnabled())
>   -            category.debug(headers.size() + " "
>   +        if (log.isDebugEnabled())
>   +            log.debug(headers.size() + " "
>                        + JavaUtils.getMessage("headers00"));
>            
>            if (!headers.isEmpty()) {
>   
>   
>   
>   1.38      +11 -10    
> xml-axis/java/src/org/apache/axis/providers/java/JavaProvider.java
>   
>   Index: JavaProvider.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/providers/java/Jav
> aProvider.java,v
>   retrieving revision 1.37
>   retrieving revision 1.38
>   diff -u -r1.37 -r1.38
>   --- JavaProvider.java	13 Feb 2002 20:55:42 -0000	1.37
>   +++ JavaProvider.java	19 Feb 2002 17:38:21 -0000	1.38
>   @@ -69,7 +69,8 @@
>    import org.apache.axis.wsdl.fromJava.Emitter;
>    import org.apache.axis.encoding.TypeMapping;
>    import org.apache.axis.Constants;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.w3c.dom.Document;
>    
>    import java.lang.reflect.Method;
>   @@ -85,8 +86,8 @@
>     * @author Carl Woolf (cwoolf@macromedia.com)
>     */
>    public abstract class JavaProvider extends BasicProvider {
>   -    static Category category =
>   -            Category.getInstance(JavaProvider.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(JavaProvider.class.getName());
>    
>    
>        // from the original stubbed-out JavaProvider...
>   @@ -194,8 +195,8 @@
>         * the message (via processMessage).
>         */
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        if (category.isDebugEnabled())
>   -            category.debug( 
> JavaUtils.getMessage("enter00", "JavaProvider::invoke (" + 
> this + ")"));
>   +        if (log.isDebugEnabled())
>   +            log.debug( JavaUtils.getMessage("enter00", 
> "JavaProvider::invoke (" + this + ")"));
>    
>            /* Find the service we're invoking so we can grab 
> it's options */
>            
> /***************************************************************/
>   @@ -255,11 +256,11 @@
>                               resEnv, jc, obj);
>            }
>            catch( Exception exp ) {
>   -            category.error( exp );
>   +            log.error( exp );
>                throw AxisFault.makeFault(exp);
>            }
>   -        if (category.isDebugEnabled())
>   -            category.debug(JavaUtils.getMessage("exit00", 
> "JavaProvider::invoke (" + this + ")"));
>   +        if (log.isDebugEnabled())
>   +            log.debug(JavaUtils.getMessage("exit00", 
> "JavaProvider::invoke (" + this + ")"));
>        }
>    
>        /**
>   @@ -269,8 +270,8 @@
>         * as a org.w3c.dom.Document
>         */ 
>        public void generateWSDL(MessageContext msgContext) 
> throws AxisFault {
>   -        if (category.isDebugEnabled())
>   -            category.debug(JavaUtils.getMessage("enter00", 
> "JavaProvider::editWSDL (" + this + ")"));
>   +        if (log.isDebugEnabled())
>   +            log.debug(JavaUtils.getMessage("enter00", 
> "JavaProvider::editWSDL (" + this + ")"));
>    
>            /* Find the service we're invoking so we can grab 
> it's options */
>            
> /***************************************************************/
>   
>   
>   
>   1.38      +17 -16    
> xml-axis/java/src/org/apache/axis/providers/java/RPCProvider.java
>   
>   Index: RPCProvider.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/providers/java/RPC
> Provider.java,v
>   retrieving revision 1.37
>   retrieving revision 1.38
>   diff -u -r1.37 -r1.38
>   --- RPCProvider.java	15 Feb 2002 18:20:10 -0000	1.37
>   +++ RPCProvider.java	19 Feb 2002 17:38:21 -0000	1.38
>   @@ -64,7 +64,8 @@
>    import org.apache.axis.server.ParamList;
>    import org.apache.axis.utils.JavaUtils;
>    import org.apache.axis.utils.cache.JavaClass;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.lang.reflect.Method;
>    import java.lang.reflect.InvocationTargetException;
>   @@ -78,8 +79,8 @@
>     * @author Doug Davis (dug@us.ibm.com)
>     */
>    public class RPCProvider extends JavaProvider {
>   -    static Category category =
>   -            Category.getInstance(RPCProvider.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(RPCProvider.class.getName());
>    
>        public void processMessage (MessageContext msgContext,
>                                    String serviceName,
>   @@ -90,15 +91,15 @@
>                                    Object obj)
>            throws Exception
>        {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "RPCProvider.processMessage()"));
>            }
>    
>            Vector          bodies = reqEnv.getBodyElements();
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("bodyElems00", "" + 
> bodies.size()));
>   -            
> category.debug(JavaUtils.getMessage("bodyIs00", "" + bodies.get(0)));
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("bodyElems00", 
> "" + bodies.size()));
>   +            log.debug(JavaUtils.getMessage("bodyIs00", "" 
> + bodies.get(0)));
>            }
>    
>            /* Loop over each entry in the SOAPBody - each one 
> is a different */
>   @@ -120,8 +121,8 @@
>                    for ( int i = 0 ; i < args.size() ; i++ ) {
>                        argValues[i]  = 
> ((RPCParam)args.get(i)).getValue() ;
>                        
>   -                    if (category.isDebugEnabled()) {
>   -                        category.debug("  " + 
> JavaUtils.getMessage("value00", 
>   +                    if (log.isDebugEnabled()) {
>   +                        log.debug("  " + 
> JavaUtils.getMessage("value00", 
>                                "" + argValues[i]) );
>                        }
>                    }
>   @@ -156,10 +157,10 @@
>                                new String[] {mName, 
> methodNameMatch, allowedMethods}),
>                            null, null );  // should they??
>                
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( "mName: " + mName );
>   -                category.debug( "MethodNameMatch: " + 
> methodNameMatch );
>   -                category.debug( "MethodName List: " + 
> allowedMethods );
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( "mName: " + mName );
>   +                log.debug( "MethodNameMatch: " + methodNameMatch );
>   +                log.debug( "MethodName List: " + allowedMethods );
>                }
>    
>                
> ///////////////////////////////////////////////////////////////
>   @@ -278,8 +279,8 @@
>                    throw ex;
>                }
>    
>   -            if (category.isDebugEnabled())
>   -                
> category.debug(JavaUtils.getMessage("result00", "" + objRes));
>   +            if (log.isDebugEnabled())
>   +                log.debug(JavaUtils.getMessage("result00", 
> "" + objRes));
>    
>                /* Now put the result in the result SOAPEnvelope */
>                /*************************************************/
>   
>   
>   
>   1.7       +7 -6      
> xml-axis/java/src/org/apache/axis/security/servlet/ServletSecu
> rityProvider.java
>   
>   Index: ServletSecurityProvider.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/security/servlet/S
> ervletSecurityProvider.java,v
>   retrieving revision 1.6
>   retrieving revision 1.7
>   diff -u -r1.6 -r1.7
>   --- ServletSecurityProvider.java	8 Nov 2001 21:43:58 
> -0000	1.6
>   +++ ServletSecurityProvider.java	19 Feb 2002 17:38:21 
> -0000	1.7
>   @@ -60,7 +60,8 @@
>    import org.apache.axis.security.SecurityProvider;
>    import org.apache.axis.transport.http.HTTPConstants;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import javax.servlet.http.HttpServletRequest;
>    import java.security.Principal;
>   @@ -78,8 +79,8 @@
>     * @author Glen Daniels (gdaniels@macromedia.com)
>     */
>    public class ServletSecurityProvider implements SecurityProvider {
>   -    static Category category =
>   -            
> Category.getInstance(ServletSecurityProvider.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(ServletSecurityProvider.class.getName());
>    
>        static HashMap users = null;
>    
>   @@ -96,15 +97,15 @@
>            if (req == null)
>                return null;
>    
>   -        category.debug(JavaUtils.getMessage("got00", 
> "HttpServletRequest"));
>   +        log.debug(JavaUtils.getMessage("got00", 
> "HttpServletRequest"));
>    
>            Principal principal = req.getUserPrincipal();
>            if (principal == null) {
>   -            category.debug(JavaUtils.getMessage("noPrincipal00"));
>   +            log.debug(JavaUtils.getMessage("noPrincipal00"));
>                return null;
>            }
>    
>   -        
> category.debug(JavaUtils.getMessage("gotPrincipal00",  
> principal.getName()));
>   +        log.debug(JavaUtils.getMessage("gotPrincipal00",  
> principal.getName()));
>    
>            return new ServletAuthenticatedUser(req);
>        }
>   
>   
>   
>   1.13      +13 -12    
> xml-axis/java/src/org/apache/axis/security/simple/SimpleSecuri
> tyProvider.java
>   
>   Index: SimpleSecurityProvider.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/security/simple/Si
> mpleSecurityProvider.java,v
>   retrieving revision 1.12
>   retrieving revision 1.13
>   diff -u -r1.12 -r1.13
>   --- SimpleSecurityProvider.java	8 Feb 2002 22:14:11 
> -0000	1.12
>   +++ SimpleSecurityProvider.java	19 Feb 2002 17:38:21 
> -0000	1.13
>   @@ -60,7 +60,8 @@
>    import org.apache.axis.security.AuthenticatedUser;
>    import org.apache.axis.security.SecurityProvider;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.io.File;
>    import java.io.FileReader;
>   @@ -74,8 +75,8 @@
>     * @author Glen Daniels (gdaniels@macromedia.com)
>     */
>    public class SimpleSecurityProvider implements SecurityProvider {
>   -    static Category category =
>   -            
> Category.getInstance(SimpleSecurityProvider.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(SimpleSecurityProvider.class.getName());
>    
>        HashMap users = null;
>        HashMap perms = null;
>   @@ -110,8 +111,8 @@
>                            String userID = st.nextToken();
>                            String passwd = 
> (st.hasMoreTokens()) ? st.nextToken() : "";
>    
>   -                        if (category.isDebugEnabled()) {
>   -                            category.debug( 
> JavaUtils.getMessage("fromFile00", 
>   +                        if (log.isDebugEnabled()) {
>   +                            log.debug( 
> JavaUtils.getMessage("fromFile00", 
>                                    userID, passwd) );
>                            }
>    
>   @@ -122,7 +123,7 @@
>                    lnr.close();
>    
>                } catch( Exception e ) {
>   -                category.error( e );
>   +                log.error( e );
>                    return;
>                }
>            }
>   @@ -145,8 +146,8 @@
>            String password = msgContext.getPassword();
>    
>            if (users != null) {
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( 
> JavaUtils.getMessage("user00", username) );
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( JavaUtils.getMessage("user00", 
> username) );
>                }
>    
>                // in order to authenticate, the user must exist
>   @@ -157,16 +158,16 @@
>    
>                String valid = (String) users.get(username);
>    
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( 
> JavaUtils.getMessage("password00", password) );
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( 
> JavaUtils.getMessage("password00", password) );
>                }
>    
>                // if a password is defined, then it must match
>                if ( valid.length()>0 && !valid.equals(password) )
>                    return null;
>    
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( 
> JavaUtils.getMessage("auth00", username) );
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( JavaUtils.getMessage("auth00", 
> username) );
>                }
>    
>                return new SimpleAuthenticatedUser(username);
>   
>   
>   
>   1.58      +21 -20    
> xml-axis/java/src/org/apache/axis/server/AxisServer.java
>   
>   Index: AxisServer.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/server/AxisServer.java,v
>   retrieving revision 1.57
>   retrieving revision 1.58
>   diff -u -r1.57 -r1.58
>   --- AxisServer.java	8 Feb 2002 03:09:25 -0000	1.57
>   +++ AxisServer.java	19 Feb 2002 17:38:21 -0000	1.58
>   @@ -65,7 +65,8 @@
>    import org.apache.axis.client.AxisClient;
>    import 
> org.apache.axis.configuration.DefaultEngineConfigurationFactory;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.util.Map;
>    /**
>   @@ -75,8 +76,8 @@
>     */
>    public class AxisServer extends AxisEngine
>    {
>   -    static Category category =
>   -            Category.getInstance(AxisServer.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(AxisServer.class.getName());
>    
>        private static AxisServerFactory factory = null;
>        
>   @@ -161,8 +162,8 @@
>         * handler for the desired service and invoke() it.
>         */
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "AxisServer::invoke") );
>            }
>    
>   @@ -187,7 +188,7 @@
>                    if ( (h = getHandler(hName)) == null ) {
>                        ClassLoader cl = msgContext.getClassLoader();
>                        try {
>   -                        category.debug( 
> JavaUtils.getMessage("tryingLoad00", hName) );
>   +                        log.debug( 
> JavaUtils.getMessage("tryingLoad00", hName) );
>                            Class cls = cl.loadClass( hName );
>                            h = (Handler) cls.newInstance();
>                        }
>   @@ -218,8 +219,8 @@
>                    
> /**************************************************************/
>    
>                    // When do we call init/cleanup??
>   -                if (category.isDebugEnabled()) {
>   -                    
> category.debug(JavaUtils.getMessage("defaultLogic00") );
>   +                if (log.isDebugEnabled()) {
>   +                    
> log.debug(JavaUtils.getMessage("defaultLogic00") );
>                    }
>    
>                    /*  This is what the entirety of this 
> logic might evolve to:
>   @@ -244,8 +245,8 @@
>                    hName = msgContext.getTransportName();
>                    SimpleTargetedChain transportChain = null;
>    
>   -                if (category.isInfoEnabled())
>   -                    
> category.info(JavaUtils.getMessage("transport01", 
> "AxisServer.invoke", hName));
>   +                if (log.isInfoEnabled())
>   +                    
> log.info(JavaUtils.getMessage("transport01", 
> "AxisServer.invoke", hName));
>    
>                    if ( hName != null && (h = getTransport( 
> hName )) != null ) {
>                        if (h instanceof SimpleTargetedChain) {
>   @@ -310,8 +311,8 @@
>                setCurrentMessageContext(previousContext);
>            }
>            
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "AxisServer::invoke") );
>            }
>        }
>   @@ -320,8 +321,8 @@
>         *
>         */
>        public void generateWSDL(MessageContext msgContext) 
> throws AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "AxisServer::generateWSDL") );
>            }
>    
>   @@ -340,7 +341,7 @@
>                    if ( (h = getHandler(hName)) == null ) {
>                        ClassLoader cl = msgContext.getClassLoader();
>                        try {
>   -                        category.debug( 
> JavaUtils.getMessage("tryingLoad00", hName) );
>   +                        log.debug( 
> JavaUtils.getMessage("tryingLoad00", hName) );
>                            Class cls = cl.loadClass( hName );
>                            h = (Handler) cls.newInstance();
>                        }
>   @@ -369,7 +370,7 @@
>                    
> /**************************************************************/
>    
>                    // When do we call init/cleanup??
>   -                category.debug( 
> JavaUtils.getMessage("defaultLogic00") );
>   +                log.debug( 
> JavaUtils.getMessage("defaultLogic00") );
>    
>                    /*  This is what the entirety of this 
> logic might evolve to:
>    
>   @@ -393,8 +394,8 @@
>                    hName = msgContext.getTransportName();
>                    SimpleTargetedChain transportChain = null;
>    
>   -                if (category.isInfoEnabled())
>   -                    
> category.info(JavaUtils.getMessage("transport01", 
> "AxisServer.invoke", hName));
>   +                if (log.isInfoEnabled())
>   +                    
> log.info(JavaUtils.getMessage("transport01", 
> "AxisServer.invoke", hName));
>                    if ( hName != null && (h = getTransport( 
> hName )) != null ) {
>                        if (h instanceof SimpleTargetedChain) {
>                            transportChain = (SimpleTargetedChain)h;
>   @@ -456,8 +457,8 @@
>                throw AxisFault.makeFault(e);
>            }
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "AxisServer::generateWSDL") );
>            }
>        }
>   
>   
>   
>   1.11      +3 -3      
> xml-axis/java/src/org/apache/axis/server/Transport.java
>   
>   Index: Transport.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/server/Transport.java,v
>   retrieving revision 1.10
>   retrieving revision 1.11
>   diff -u -r1.10 -r1.11
>   --- Transport.java	3 Jan 2002 18:08:28 -0000	1.10
>   +++ Transport.java	19 Feb 2002 17:38:21 -0000	1.11
>   @@ -56,7 +56,8 @@
>    
>    import org.apache.axis.SimpleTargetedChain;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.w3c.dom.Document;
>    import org.w3c.dom.Element;
>    
>   @@ -69,7 +70,6 @@
>     */
>    public class Transport extends SimpleTargetedChain
>    {
>   -    static Category category =
>   -            Category.getInstance(Transport.class.getName());
>   +    static Log log = LogFactory.getLog(Transport.class.getName());
>    
>    }
>   
>   
>   
>   1.82      +31 -30    
> xml-axis/java/src/org/apache/axis/transport/http/AxisServlet.java
>   
>   Index: AxisServlet.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/transport/http/Axi
> sServlet.java,v
>   retrieving revision 1.81
>   retrieving revision 1.82
>   diff -u -r1.81 -r1.82
>   --- AxisServlet.java	15 Feb 2002 20:12:33 -0000	1.81
>   +++ AxisServlet.java	19 Feb 2002 17:38:22 -0000	1.82
>   @@ -69,7 +69,8 @@
>    import org.apache.axis.utils.Admin;
>    import org.apache.axis.utils.JavaUtils;
>    import org.apache.axis.utils.XMLUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.w3c.dom.Document;
>    
>    import javax.servlet.ServletConfig;
>   @@ -99,8 +100,8 @@
>        private AxisEngine engine = null;
>        private ServletSecurityProvider securityProvider = null;
>    
>   -    static Category category =
>   -            Category.getInstance(AxisServlet.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(AxisServlet.class.getName());
>        /**
>         * Should we enable the "?list" functionality on GETs?  (off by
>         * default because deployment information is a 
> potential security
>   @@ -128,8 +129,8 @@
>            webInfPath = context.getRealPath("/WEB-INF");
>            homeDir = context.getRealPath("/");
>            
>   -        isDebug= category.isDebugEnabled();
>   -        if(isDebug) category.debug("In servlet init");
>   +        isDebug= log.isDebugEnabled();
>   +        if(isDebug) log.debug("In servlet init");
>            String param = getInitParameter("transport.name");
>    
>            if (param == null)
>   @@ -195,7 +196,7 @@
>    
>        public void doGet(HttpServletRequest req, 
> HttpServletResponse res)
>            throws ServletException, IOException {
>   -        if(isDebug) category.debug("In doGet");
>   +        if(isDebug) log.debug("In doGet");
>            PrintWriter writer = res.getWriter();
>    
>            if (engine == null) {
>   @@ -390,12 +391,12 @@
>    
>        public void doPost(HttpServletRequest req, 
> HttpServletResponse res)
>            throws ServletException, IOException {
>   -        if(isDebug) category.debug("In doPost");
>   +        if(isDebug) log.debug("In doPost");
>            if (engine == null) {
>                try {
>                    engine = getEngine();
>                } catch (AxisFault fault) {
>   -                category.debug(fault);
>   +                log.debug(fault);
>                    Message msg = new Message(fault);
>                    res.setContentType( msg.getContentType() );
>                    res.setContentLength( msg.getContentLength() );
>   @@ -415,7 +416,7 @@
>                // !!! should return a SOAP fault...
>                ServletException se =
>                        new 
> ServletException(JavaUtils.getMessage("noEngine00"));
>   -            category.debug(se);
>   +            log.debug(se);
>                throw se; 
>            }
>    
>   @@ -426,18 +427,18 @@
>            /* even need to be parsed.                         
>                 */
>            
> /*******************************************************************/
>            MessageContext    msgContext = new MessageContext(engine);
>   -        if(isDebug) category.debug("MessageContext:" + 
> msgContext );
>   +        if(isDebug) log.debug("MessageContext:" + msgContext );
>    
>   -        if(isDebug) category.debug("HEADER_CONTENT_TYPE:" +  
>   +        if(isDebug) log.debug("HEADER_CONTENT_TYPE:" +  
>              req.getHeader( HTTPConstants.HEADER_CONTENT_TYPE));
>   -        if(isDebug) category.debug("HEADER_CONTENT_LOCATION:" +
>   +        if(isDebug) log.debug("HEADER_CONTENT_LOCATION:" +
>              req.getHeader( HTTPConstants.HEADER_CONTENT_LOCATION));
>    
>            Message msg = new Message( req.getInputStream(),
>                           false,
>                           req.getHeader( 
> HTTPConstants.HEADER_CONTENT_TYPE),
>                           req.getHeader( 
> HTTPConstants.HEADER_CONTENT_LOCATION));
>   -        if(isDebug) category.debug("Message:" + msg);
>   +        if(isDebug) log.debug("Message:" + msg);
>    
>            /* Set the request(incoming) message field in the 
> context */
>            
> /**********************************************************/
>   @@ -469,14 +470,14 @@
>                msgContext.setProperty("securityProvider", 
> securityProvider);
>    
>            if(isDebug){
>   -            category.debug("Constants.MC_HOME_DIR:" + 
> context.getRealPath("/"));
>   -            
> category.debug("Constants.MC_RELATIVE_PATH:"+req.getServletPath());
>   -            
> category.debug("HTTPConstants.MC_HTTP_SERVLETLOCATION:"+
>   +            log.debug("Constants.MC_HOME_DIR:" + 
> context.getRealPath("/"));
>   +            
> log.debug("Constants.MC_RELATIVE_PATH:"+req.getServletPath());
>   +            log.debug("HTTPConstants.MC_HTTP_SERVLETLOCATION:"+
>                               webInfPath );
>   -            
> category.debug("HTTPConstants.MC_HTTP_SERVLETPATHINFO:" + 
> req.getPathInfo() );
>   -            
> category.debug("HTTPConstants.HEADER_AUTHORIZATION:" + 
> req.getHeader(HTTPConstants.HEADER_AUTHORIZATION));
>   -            
> category.debug("Constants.MC_REMOTE_ADDR:"+req.getRemoteAddr());
>   -            category.debug("securityProvider:"+securityProvider );
>   +            
> log.debug("HTTPConstants.MC_HTTP_SERVLETPATHINFO:" + 
> req.getPathInfo() );
>   +            
> log.debug("HTTPConstants.HEADER_AUTHORIZATION:" + 
> req.getHeader(HTTPConstants.HEADER_AUTHORIZATION));
>   +            
> log.debug("Constants.MC_REMOTE_ADDR:"+req.getRemoteAddr());
>   +            log.debug("securityProvider:"+securityProvider );
>            }
>    
>            /* Save the SOAPAction header in the 
> MessageContext bag - this will */
>   @@ -491,7 +492,7 @@
>            
> /********************************************************************/
>            String  tmp ;
>            tmp = (String) req.getHeader( 
> HTTPConstants.HEADER_SOAP_ACTION );
>   -        if(isDebug) category.debug("HEADER_SOAP_ACTION:" + tmp);
>   +        if(isDebug) log.debug("HEADER_SOAP_ACTION:" + tmp);
>    
>            try {
>                /** Technically, if we don't find this header, 
> we should probably fault.
>   @@ -502,7 +503,7 @@
>                        JavaUtils.getMessage("noHeader00", 
> "SOAPAction"),
>                        null, null );
>    
>   -                 category.debug(af);
>   +                 log.debug(af);
>                    throw af; 
>                }
>    
>   @@ -525,18 +526,18 @@
>                    
> msgContext.setProperty(Constants.MC_REALPATH, realpath);
>    
>                String configPath = webInfPath;
>   -            if(isDebug) category.debug("configPath:" + configPath);
>   +            if(isDebug) log.debug("configPath:" + configPath);
>    
>                
> msgContext.setProperty(Constants.MC_CONFIGPATH, configPath);
>    
>                /* Invoke the Axis engine... */
>                /*****************************/
>   -            if(isDebug) category.debug("Invoking Axis Engine.");
>   +            if(isDebug) log.debug("Invoking Axis Engine.");
>                engine.invoke( msgContext );
>   -            if(isDebug) category.debug("Return from Axis Engine.");
>   +            if(isDebug) log.debug("Return from Axis Engine.");
>            }
>            catch( Exception e ) {
>   -            category.debug(e);
>   +            log.debug(e);
>                if ( e instanceof AxisFault ) {
>                    AxisFault  af = (AxisFault) e ;
>                    if ( "Server.Unauthorized".equals( 
> af.getFaultCode() ) )
>   @@ -570,20 +571,20 @@
>    
>    
>            if(null== (msg = msgContext.getResponseMessage())) {
>   -          if(isDebug) category.debug("NO AXIS MESSAGE TO RETURN!");
>   +          if(isDebug) log.debug("NO AXIS MESSAGE TO RETURN!");
>              String resp= JavaUtils.getMessage("noData00");
>              res.setContentLength(resp.getBytes().length );
>              res.getWriter().print(resp);
>            } else {
>    
>   -          if(isDebug) category.debug("Returned 
> Content-Type:" + msg.getContentType());
>   +          if(isDebug) log.debug("Returned Content-Type:" + 
> msg.getContentType());
>              int respContentlength=0;
>              res.setContentType( msg.getContentType() );
>              res.setContentLength(respContentlength=  
> msg.getContentLength() );
>   -          if(isDebug) category.debug("Returned 
> Content-Length:" + respContentlength);
>   +          if(isDebug) log.debug("Returned Content-Length:" 
> + respContentlength);
>              msg.writeContentToStream(res.getOutputStream());
>            }
>            res.flushBuffer(); //Force it right now.
>   -        if(isDebug) category.debug("Response sent.");
>   +        if(isDebug) log.debug("Response sent.");
>        }
>    }
>   
>   
>   
>   1.49      +36 -35    
> xml-axis/java/src/org/apache/axis/transport/http/HTTPSender.java
>   
>   Index: HTTPSender.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/transport/http/HTT
> PSender.java,v
>   retrieving revision 1.48
>   retrieving revision 1.49
>   diff -u -r1.48 -r1.49
>   --- HTTPSender.java	8 Feb 2002 22:14:11 -0000	1.48
>   +++ HTTPSender.java	19 Feb 2002 17:38:22 -0000	1.49
>   @@ -62,7 +62,8 @@
>    import org.apache.axis.handlers.BasicHandler;
>    import org.apache.axis.message.MessageElement;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.io.BufferedInputStream;
>    import java.io.BufferedOutputStream;
>   @@ -85,12 +86,12 @@
>     * @author Doug Davis (dug@us.ibm.com)
>     */
>    public class HTTPSender extends BasicHandler {
>   -    static Category category =
>   -            Category.getInstance(HTTPSender.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(HTTPSender.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug( JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug( JavaUtils.getMessage("enter00", 
>                    "HTTPSender::invoke") );
>            }
>    
>   @@ -170,8 +171,8 @@
>                            out.flush();
>                            
>                            InputStream tunnelInputStream = 
> (InputStream)SSLSocketClass.getMethod("getInputStream", new 
> Class[] {}).invoke(tunnel, new Object[] {});
>   -                        if (category.isDebugEnabled()) {
>   -                            
> category.debug(JavaUtils.getMessage("isNull00", 
>   +                        if (log.isDebugEnabled()) {
>   +                            
> log.debug(JavaUtils.getMessage("isNull00", 
>                                  "tunnelInputStream", 
>                                  "" + (tunnelInputStream == null)));
>                            }
>   @@ -207,8 +208,8 @@
>                            sslSocket = 
> createSocketMethod2.invoke(factory,
>                                                               
>     new Object[] {tunnel, host, new Integer(port), new 
> Boolean(true)});
>    
>   -                        if (category.isDebugEnabled()) {
>   -                            category.debug(JavaUtils.getMessage(
>   +                        if (log.isDebugEnabled()) {
>   +                            log.debug(JavaUtils.getMessage(
>                                    "setupTunnel00", 
> tunnelHost, "" + tunnelPort));
>                            }
>                        }
>   @@ -216,22 +217,22 @@
>                        startHandshakeMethod.invoke(sslSocket, 
> new Object[] {});
>                        sock = (Socket)sslSocket;
>                    } catch (ClassNotFoundException cnfe) {
>   -                    if (category.isDebugEnabled()) {
>   -                        category.debug( 
> JavaUtils.getMessage("noJSSE00"));
>   +                    if (log.isDebugEnabled()) {
>   +                        log.debug( 
> JavaUtils.getMessage("noJSSE00"));
>                        }
>    
>                        throw AxisFault.makeFault(cnfe);
>                    } catch (NumberFormatException nfe) {
>   -                      if (category.isDebugEnabled()) {
>   -                          category.debug( 
> JavaUtils.getMessage("badProxy00", 
>   +                      if (log.isDebugEnabled()) {
>   +                          log.debug( 
> JavaUtils.getMessage("badProxy00", 
>                                  tunnelPortStr));
>                          }
>    
>                          throw AxisFault.makeFault(nfe);
>                    }
>    
>   -                if (category.isDebugEnabled()) {
>   -                    category.debug( 
> JavaUtils.getMessage("createdSSL00"));
>   +                if (log.isDebugEnabled()) {
>   +                    log.debug( 
> JavaUtils.getMessage("createdSSL00"));
>                    }
>                } else {
>                    String proxyHost = 
> System.getProperty("http.proxyHost");
>   @@ -259,14 +260,14 @@
>                        || hostInNonProxyList) {
>                        sock = new Socket( host, port );
>    
>   -                    if (category.isDebugEnabled()) {
>   -                        category.debug( 
> JavaUtils.getMessage("createdHTTP00"));
>   +                    if (log.isDebugEnabled()) {
>   +                        log.debug( 
> JavaUtils.getMessage("createdHTTP00"));
>                        }
>                    } else {
>                        sock = new Socket( proxyHost, new 
> Integer(proxyPort).intValue() );
>                        
>   -                    if (category.isDebugEnabled()) {
>   -                        category.debug( 
> JavaUtils.getMessage("createdHTTP01", 
>   +                    if (log.isDebugEnabled()) {
>   +                        log.debug( 
> JavaUtils.getMessage("createdHTTP01", 
>                                proxyHost, proxyPort));
>                        }
>    
>   @@ -371,10 +372,10 @@
>                reqMessage.writeContentToStream(out);
>                out.flush();
>    
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( 
> JavaUtils.getMessage("xmlSent00") );
>   -                category.debug( 
> "---------------------------------------------------");
>   -                category.debug( header + reqEnv );
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( JavaUtils.getMessage("xmlSent00") );
>   +                log.debug( 
> "---------------------------------------------------");
>   +                log.debug( header + reqEnv );
>                }
>    
>                byte       b ;
>   @@ -430,8 +431,8 @@
>                            value = "" ;
>                        }
>    
>   -                    if (category.isDebugEnabled()) {
>   -                        category.debug( name + value );
>   +                    if (log.isDebugEnabled()) {
>   +                        log.debug( name + value );
>                        }
>    
>                        if ( 
> msgContext.getProperty(HTTPConstants.MC_HTTP_STATUS_CODE)==null){
>   @@ -493,13 +494,13 @@
>                    
> outMsg.setMessageType(org.apache.axis.Message.RESPONSE);
>                    msgContext.setResponseMessage( outMsg );
>    
>   -                if (category.isDebugEnabled()) {
>   +                if (log.isDebugEnabled()) {
>                        if(null==contentLength )
>   -                        category.debug( "\n" + 
> JavaUtils.getMessage("no00",
>   +                        log.debug( "\n" + 
> JavaUtils.getMessage("no00",
>                              "Content-Length") );
>   -                    category.debug( "\n" + 
> JavaUtils.getMessage("xmlRecd00") );
>   -                    category.debug( 
> "-----------------------------------------------");
>   -                    category.debug( (String) 
> outMsg.getSOAPPart().getAsString() );
>   +                    log.debug( "\n" + 
> JavaUtils.getMessage("xmlRecd00") );
>   +                    log.debug( 
> "-----------------------------------------------");
>   +                    log.debug( (String) 
> outMsg.getSOAPPart().getAsString() );
>                    }
>    
>                }
>   @@ -520,12 +521,12 @@
>                
>            }
>            catch( Exception e ) {
>   -            category.debug( e );
>   +            log.debug( e );
>                throw AxisFault.makeFault(e);
>            }
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug( JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug( JavaUtils.getMessage("exit00", 
>                    "HTTPDispatchHandler::invoke") );
>            }
>        }
>   @@ -555,8 +556,8 @@
>            while(tokenizer.hasMoreTokens()) {
>                String pattern = tokenizer.nextToken();
>    
>   -            if (category.isDebugEnabled()) {
>   -                category.debug( JavaUtils.getMessage(
>   +            if (log.isDebugEnabled()) {
>   +                log.debug( JavaUtils.getMessage(
>                        "match00",
>                        new String[] {"HTTPSender", host, pattern}));
>                }
>   
>   
>   
>   1.48      +12 -11    
> xml-axis/java/src/org/apache/axis/transport/http/SimpleAxisServer.java
>   
>   Index: SimpleAxisServer.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/transport/http/Sim
> pleAxisServer.java,v
>   retrieving revision 1.47
>   retrieving revision 1.48
>   diff -u -r1.47 -r1.48
>   --- SimpleAxisServer.java	8 Feb 2002 22:14:12 -0000	1.47
>   +++ SimpleAxisServer.java	19 Feb 2002 17:38:22 -0000	1.48
>   @@ -68,7 +68,8 @@
>    import org.apache.axis.utils.Options;
>    import org.apache.axis.utils.JavaUtils;
>    import org.apache.axis.utils.XMLUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.w3c.dom.Document;
>    
>    import java.io.IOException;
>   @@ -90,8 +91,8 @@
>     * @author Rob Jellinghaus (robj@unrealities.com)
>     */
>    public class SimpleAxisServer implements Runnable {
>   -    static Category category =
>   -            Category.getInstance(SimpleAxisServer.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(SimpleAxisServer.class.getName());
>    
>    
>        // session state.
>   @@ -166,7 +167,7 @@
>         * Axis engine for processing.
>         */
>        public void run() {
>   -        category.debug(JavaUtils.getMessage("start00", 
> "SimpleAxisServer"));
>   +        log.debug(JavaUtils.getMessage("start00", 
> "SimpleAxisServer"));
>    
>            // create an Axis server
>            AxisServer engine = getAxisServer();
>   @@ -248,8 +249,8 @@
>                            // Got params
>                            String params = 
> fileName.substring(paramIdx + 1);
>                            fileName.setLength(paramIdx);
>   -                        
> category.debug(JavaUtils.getMessage("filename00", "" + 
> fileName.toString()));
>   -                        
> category.debug(JavaUtils.getMessage("params00", params));
>   +                        
> log.debug(JavaUtils.getMessage("filename00", "" + 
> fileName.toString()));
>   +                        
> log.debug(JavaUtils.getMessage("params00", params));
>                            if ("wsdl".equalsIgnoreCase(params))
>                                doWsdl = true;
>                        }
>   @@ -288,8 +289,8 @@
>                                }
>                                
> authBuf.append((char)(decoded[i] & 0x7f));
>                            }
>   -                        
> category.info(JavaUtils.getMessage("user00", userBuf.toString()));
>   -                        
> category.info(JavaUtils.getMessage("password00", pwBuf.toString()));
>   +                        
> log.info(JavaUtils.getMessage("user00", userBuf.toString()));
>   +                        
> log.info(JavaUtils.getMessage("password00", pwBuf.toString()));
>                            msgContext.setUsername(userBuf.toString());
>                            msgContext.setPassword(pwBuf.toString());
>                        }
>   @@ -382,7 +383,7 @@
>                        AxisFault af;
>                        if (e instanceof AxisFault) {
>                            af = (AxisFault)e;
>   -                        
> category.error(JavaUtils.getMessage("serverFault00"), af);
>   +                        
> log.error(JavaUtils.getMessage("serverFault00"), af);
>    
>                            if 
> ("Server.Unauthorized".equals(af.getFaultCode())) {
>                                status = UNAUTH; // SC_UNAUTHORIZED
>   @@ -568,7 +569,7 @@
>                        break;
>                    fileName.append(c);
>                }
>   -            category.debug( 
> JavaUtils.getMessage("filename01", "SimpleAxisServer", 
> fileName.toString()));
>   +            log.debug( JavaUtils.getMessage("filename01", 
> "SimpleAxisServer", fileName.toString()));
>                return 0;
>            } else if (buf[0] == postHeader[0]) {
>                httpRequest.append("POST");
>   @@ -578,7 +579,7 @@
>                        break;
>                    fileName.append(c);
>                }
>   -            category.debug( 
> JavaUtils.getMessage("filename01", "SimpleAxisServer", 
> fileName.toString()));
>   +            log.debug( JavaUtils.getMessage("filename01", 
> "SimpleAxisServer", fileName.toString()));
>            } else {
>                throw new 
> IOException(JavaUtils.getMessage("badRequest00"));
>            }
>   
>   
>   
>   1.12      +8 -7      
> xml-axis/java/src/org/apache/axis/transport/local/LocalResponder.java
>   
>   Index: LocalResponder.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/transport/local/Lo
> calResponder.java,v
>   retrieving revision 1.11
>   retrieving revision 1.12
>   diff -u -r1.11 -r1.12
>   --- LocalResponder.java	10 Jan 2002 20:01:01 -0000	1.11
>   +++ LocalResponder.java	19 Feb 2002 17:38:22 -0000	1.12
>   @@ -59,7 +59,8 @@
>    import org.apache.axis.MessageContext;
>    import org.apache.axis.handlers.BasicHandler;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    /**
>     * Tiny Handler which just makes sure to Stringize the outgoing
>   @@ -68,19 +69,19 @@
>     * @author Glen Daniels (gdaniels@macromedia.com)
>     */
>    public class LocalResponder extends BasicHandler {
>   -    static Category category =
>   -            Category.getInstance(LocalResponder.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(LocalResponder.class.getName());
>    
>        public void invoke(MessageContext msgContext) throws 
> AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "LocalResponder::invoke") );
>            }
>    
>            
> msgContext.getResponseMessage().getSOAPPart().getAsString();
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "LocalResponder::invoke") );
>            }
>        }
>   
>   
>   
>   1.27      +13 -12    
> xml-axis/java/src/org/apache/axis/transport/local/LocalSender.java
>   
>   Index: LocalSender.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/transport/local/Lo
> calSender.java,v
>   retrieving revision 1.26
>   retrieving revision 1.27
>   diff -u -r1.26 -r1.27
>   --- LocalSender.java	11 Feb 2002 14:34:28 -0000	1.26
>   +++ LocalSender.java	19 Feb 2002 17:38:22 -0000	1.27
>   @@ -65,7 +65,8 @@
>    import org.apache.axis.message.SOAPFaultElement;
>    import org.apache.axis.server.AxisServer;
>    import org.apache.axis.utils.JavaUtils;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.net.URL;
>    
>   @@ -75,8 +76,8 @@
>     * @author Sam Ruby <rubys@us.ibm.com>
>     */
>    public class LocalSender extends BasicHandler {
>   -    static Category category =
>   -            Category.getInstance(LocalSender.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(LocalSender.class.getName());
>    
>        private volatile AxisServer server;
>    
>   @@ -88,16 +89,16 @@
>        }
>    
>        public void invoke(MessageContext clientContext) 
> throws AxisFault {
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("enter00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("enter00", 
>                    "LocalSender::invoke") );
>            }
>    
>            AxisServer targetServer = 
>                
> (AxisServer)clientContext.getProperty(LocalTransport.LOCAL_SERVER);
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("usingServer00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("usingServer00", 
>                    "LocalSender", "" + targetServer));
>            }
>    
>   @@ -115,9 +116,9 @@
>            // exercise the serializers.
>            String msgStr = 
> clientContext.getRequestMessage().getSOAPPart().getAsString();
>    
>   -        if (category.isDebugEnabled()) {
>   -            
> category.debug(JavaUtils.getMessage("sendingXML00", "LocalSender"));
>   -            category.debug(msgStr);
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("sendingXML00", 
> "LocalSender"));
>   +            log.debug(msgStr);
>            }
>    
>            serverContext.setRequestMessage(new Message(msgStr));
>   @@ -175,8 +176,8 @@
>            
> clientContext.setResponseMessage(serverContext.getResponseMessage());
>            //clientContext.getResponseMessage().getAsString();
>    
>   -        if (category.isDebugEnabled()) {
>   -            category.debug(JavaUtils.getMessage("exit00", 
>   +        if (log.isDebugEnabled()) {
>   +            log.debug(JavaUtils.getMessage("exit00", 
>                    "LocalSender::invoke"));
>            }
>        }
>   
>   
>   
>   1.100     +15 -14    
> xml-axis/java/src/org/apache/axis/utils/Admin.java
>   
>   Index: Admin.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/utils/Admin.java,v
>   retrieving revision 1.99
>   retrieving revision 1.100
>   diff -u -r1.99 -r1.100
>   --- Admin.java	13 Feb 2002 21:07:15 -0000	1.99
>   +++ Admin.java	19 Feb 2002 17:38:22 -0000	1.100
>   @@ -68,7 +68,8 @@
>    import org.apache.axis.handlers.soap.SOAPService;
>    import org.apache.axis.handlers.BasicHandler;
>    import org.apache.axis.server.AxisServer;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.w3c.dom.Document;
>    import org.w3c.dom.Element;
>    import org.w3c.dom.Node;
>   @@ -95,8 +96,8 @@
>     */
>    public class Admin {
>    
>   -    static Category category =
>   -            Category.getInstance(Admin.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(Admin.class.getName());
>    
>        /**
>         * Fill in options for a given handler.
>   @@ -168,11 +169,11 @@
>        public Element[] AdminService(MessageContext 
> msgContext, Vector xml)
>            throws Exception
>        {
>   -        category.debug(JavaUtils.getMessage("enter00", 
> "Admin:AdminService") );
>   +        log.debug(JavaUtils.getMessage("enter00", 
> "Admin:AdminService") );
>            Document doc = process( msgContext, (Element) xml.get(0) );
>            Element[] result = new Element[1];
>            result[0] = doc.getDocumentElement();
>   -        category.debug(JavaUtils.getMessage("exit00", 
> "Admin:AdminService") );
>   +        log.debug(JavaUtils.getMessage("exit00", 
> "Admin:AdminService") );
>            return( result );
>        }
>    
>   @@ -335,11 +336,11 @@
>    
>                    if ( action.equals( "undeploy" ) ) {
>                        if ( type.equals("service") ) {
>   -                        category.info( 
> JavaUtils.getMessage("undeploy00", type + ": " + name) );
>   +                        log.info( 
> JavaUtils.getMessage("undeploy00", type + ": " + name) );
>                            dep.undeployService( new 
> QName(null,name) );
>                        }
>                        else if ( type.equals("handler") || 
> type.equals("chain") ) {
>   -                        category.info( 
> JavaUtils.getMessage("undeploy00", type + ": " + name) );
>   +                        log.info( 
> JavaUtils.getMessage("undeploy00", type + ": " + name) );
>                            dep.undeployHandler( new 
> QName(null,name) );
>                        }
>                        else
>   @@ -449,7 +450,7 @@
>            if ("".equals(name)) name = null;
>    
>            if (flow != null) {
>   -            category.info( 
> JavaUtils.getMessage("deployChain00", name) );
>   +            log.info( 
> JavaUtils.getMessage("deployChain00", name) );
>                Vector names = new Vector();
>    
>                getOptions( elem, options );
>   @@ -492,7 +493,7 @@
>            if ( pivot  != null && pivot.equals("") )  pivot = null ;
>            if ( name != null && name.equals("") ) name = null ;
>    
>   -        category.info( 
> JavaUtils.getMessage("deployService01", name) );
>   +        log.info( JavaUtils.getMessage("deployService01", name) );
>            String            hName = null ;
>            Handler            tmpH = null ;
>            StringTokenizer      st = null ;
>   @@ -579,7 +580,7 @@
>    
>            String   cls   = elem.getAttribute( "class" );
>            if ( cls != null && cls.equals("") ) cls = null ;
>   -        category.info( 
> JavaUtils.getMessage("deployHandler00", name) );
>   +        log.info( JavaUtils.getMessage("deployHandler00", name) );
>    
>            handler = new WSDDHandler();
>    
>   @@ -609,7 +610,7 @@
>            if ( sender  != null && sender.equals("") )  
> sender = null ;
>            if ( name != null && name.equals("") ) name = null ;
>    
>   -        category.info( 
> JavaUtils.getMessage("deployTransport00", name) );
>   +        log.info( 
> JavaUtils.getMessage("deployTransport00", name) );
>            StringTokenizer      st = null ;
>            Vector reqNames = new Vector();
>            Vector respNames = new Vector();
>   @@ -688,7 +689,7 @@
>                String localName    = elem.getLocalName();
>                qn = new QName(namespaceURI, localName);
>    
>   -            category.debug( 
> JavaUtils.getMessage("registerTypeMap00", "" + qn, classname));
>   +            log.debug( 
> JavaUtils.getMessage("registerTypeMap00", "" + qn, classname));
>    
>                // register both serializers and deserializers 
> for this bean
>                mapping.setQName(qn);
>   @@ -704,7 +705,7 @@
>    
>                mapping.setQName(qn);
>                classname = elem.getAttribute("serializer");
>   -            category.debug( 
> JavaUtils.getMessage("serializer00", classname));
>   +            log.debug( 
> JavaUtils.getMessage("serializer00", classname));
>                try {
>                    cls = cl.loadClass(classname);
>                    mapping.setSerializer(cls);
>   @@ -714,7 +715,7 @@
>                        null, null);
>                }
>                classname = elem.getAttribute("deserializerFactory");
>   -            category.debug( 
> JavaUtils.getMessage("deserFact00", classname));
>   +            log.debug( JavaUtils.getMessage("deserFact00", 
> classname));
>                try {
>                    cls = cl.loadClass(classname);
>                    mapping.setDeserializer(cls);
>   
>   
>   
>   1.31      +6 -5      
> xml-axis/java/src/org/apache/axis/utils/JavaUtils.java
>   
>   Index: JavaUtils.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/utils/JavaUtils.java,v
>   retrieving revision 1.30
>   retrieving revision 1.31
>   diff -u -r1.30 -r1.31
>   --- JavaUtils.java	13 Feb 2002 15:39:57 -0000	1.30
>   +++ JavaUtils.java	19 Feb 2002 17:38:22 -0000	1.31
>   @@ -55,7 +55,8 @@
>    
>    package org.apache.axis.utils;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.lang.reflect.Array;
>    import java.lang.reflect.Field;
>   @@ -78,8 +79,8 @@
>     */
>    public class JavaUtils
>    {
>   -    static Category category =
>   -            Category.getInstance(JavaUtils.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(JavaUtils.class.getName());
>    
>        /**
>         * It the argument to the convert(...) method implements
>   @@ -109,8 +110,8 @@
>         */
>        public static Object convert(Object arg, Class destClass)
>        {  
>   -        if (category.isDebugEnabled()) {
>   -            category.debug( getMessage("convert00",
>   +        if (log.isDebugEnabled()) {
>   +            log.debug( getMessage("convert00",
>                    arg.getClass().getName(), destClass.getName()));
>            }
>    
>   
>   
>   
>   1.16      +14 -13    
> xml-axis/java/src/org/apache/axis/utils/NSStack.java
>   
>   Index: NSStack.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/utils/NSStack.java,v
>   retrieving revision 1.15
>   retrieving revision 1.16
>   diff -u -r1.15 -r1.16
>   --- NSStack.java	12 Nov 2001 16:43:11 -0000	1.15
>   +++ NSStack.java	19 Feb 2002 17:38:22 -0000	1.16
>   @@ -54,7 +54,8 @@
>     */
>    package org.apache.axis.utils;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.util.ArrayList;
>    import java.util.Enumeration;
>   @@ -65,8 +66,8 @@
>     * @author Glen Daniels (gdaniels@macromedia.com)
>     */
>    public class NSStack {
>   -    static Category category =
>   -            Category.getInstance(NSStack.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(NSStack.class.getName());
>        
>        private static final ArrayList EMPTY = new ArrayList();
>    
>   @@ -86,15 +87,15 @@
>        
>        public void push() {
>            if (stack == null) stack = new Stack();
>   -        if (category.isDebugEnabled())
>   -            category.debug("NSPush (" + stack.size() + ")");
>   +        if (log.isDebugEnabled())
>   +            log.debug("NSPush (" + stack.size() + ")");
>            stack.push(EMPTY);
>        }
>        
>        public void push(ArrayList table) {
>            if (stack == null) stack = new Stack();
>   -        if (category.isDebugEnabled())
>   -            category.debug("NSPush (" + stack.size() + ")");
>   +        if (log.isDebugEnabled())
>   +            log.debug("NSPush (" + stack.size() + ")");
>            if (table.size() == 0) 
>               stack.push(EMPTY);
>            else
>   @@ -114,16 +115,16 @@
>        
>        public ArrayList pop() {
>            if (stack.isEmpty()) {
>   -            if (category.isDebugEnabled())
>   -                category.debug("NSPop (" + 
> JavaUtils.getMessage("empty00") + ")");
>   +            if (log.isDebugEnabled())
>   +                log.debug("NSPop (" + 
> JavaUtils.getMessage("empty00") + ")");
>                if (parent != null)
>                    return parent.pop();
>                return null;
>            }
>            
>   -        if (category.isDebugEnabled()){
>   +        if (log.isDebugEnabled()){
>                ArrayList t = (ArrayList)stack.pop();
>   -            category.debug("NSPop (" + stack.size() + ")");
>   +            log.debug("NSPop (" + stack.size() + ")");
>                return t;
>            } else {
>                return (ArrayList)stack.pop();
>   @@ -198,8 +199,8 @@
>            if (parent != null)
>                return parent.getNamespaceURI(prefix);
>    
>   -        if (category.isDebugEnabled()){
>   -            
> category.debug(JavaUtils.getMessage("noPrefix00", "" + this, prefix));
>   +        if (log.isDebugEnabled()){
>   +            log.debug(JavaUtils.getMessage("noPrefix00", 
> "" + this, prefix));
>                dump();
>            }
>    
>   
>   
>   
>   1.24      +6 -21     
> xml-axis/java/src/org/apache/axis/utils/Options.java
>   
>   Index: Options.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/utils/Options.java,v
>   retrieving revision 1.23
>   retrieving revision 1.24
>   diff -u -r1.23 -r1.24
>   --- Options.java	10 Nov 2001 01:08:27 -0000	1.23
>   +++ Options.java	19 Feb 2002 17:38:22 -0000	1.24
>   @@ -62,8 +62,8 @@
>     * @author Doug Davis (dug@us.ibm.com)
>     */
>    
>   -import org.apache.log4j.Category;
>   -import org.apache.log4j.Priority;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.net.MalformedURLException;
>    import java.net.URL;
>   @@ -71,8 +71,8 @@
>    import java.util.Vector;
>    
>    public class Options {
>   -    static Category category =
>   -            Category.getInstance(Options.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(Options.class.getName());
>    
>        String  args[]     = null ;
>        Vector  usedArgs   = null ;
>   @@ -100,27 +100,12 @@
>            try {
>                getURL();
>            } catch( MalformedURLException e ) {
>   -            category.error( JavaUtils.getMessage("cantDoURL00") );
>   +            log.error( JavaUtils.getMessage("cantDoURL00") );
>                throw e ;
>            }
>            getUser();
>            getPassword();
>    
>   -        // Increase log4j verbosity based on number of 
> "-d" options specified.
>   -        int debug = isFlagSet('d');
>   -        if (debug>0) {
>   -            Priority[] allPriorities = 
> Priority.getAllPossiblePriorities(); 
>   -            Priority currentPriority = 
> Category.getRoot().getPriority();
>   -            for (int i=0; i<allPriorities.length; i++) {
>   -                if (currentPriority == allPriorities[i]) {
>   -                    i += debug;
>   -                    if (i>=allPriorities.length) 
> i=allPriorities.length-1;
>   -                    
> Category.getRoot().setPriority(allPriorities[i]);
>   -                    break;
>   -                }
>   -            }
>   -        }
>   -
>            // EOASS
>            
> //////////////////////////////////////////////////////////////
> /////////
>        }
>   @@ -316,7 +301,7 @@
>                if ( port != null && !port.equals("-1")) tmp 
> += ":" + port ;
>                if ( servlet != null ) tmp += servlet ;
>            } else tmp = url.toString();
>   -        category.debug( JavaUtils.getMessage("return02", 
> "getURL", tmp) );
>   +        log.debug( JavaUtils.getMessage("return02", 
> "getURL", tmp) );
>            return( tmp );
>        }
>        
>   
>   
>   
>   1.42      +6 -5      
> xml-axis/java/src/org/apache/axis/utils/XMLUtils.java
>   
>   Index: XMLUtils.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/utils/XMLUtils.java,v
>   retrieving revision 1.41
>   retrieving revision 1.42
>   diff -u -r1.41 -r1.42
>   --- XMLUtils.java	9 Jan 2002 14:48:18 -0000	1.41
>   +++ XMLUtils.java	19 Feb 2002 17:38:22 -0000	1.42
>   @@ -56,7 +56,8 @@
>    package org.apache.axis.utils ;
>    
>    import org.apache.axis.Constants;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.w3c.dom.Attr;
>    import org.w3c.dom.CharacterData;
>    import org.w3c.dom.Document;
>   @@ -446,8 +447,8 @@
>      }
>        
>        public static class ParserErrorHandler implements 
> ErrorHandler {
>   -        static Category category =
>   -                
> Category.getInstance(ParserErrorHandler.class.getName());
>   +        static Log log =
>   +                
> LogFactory.getLog(ParserErrorHandler.class.getName());
>            /**
>             * Returns a string describing parse exception details
>             */
>   @@ -466,8 +467,8 @@
>            // See SAX documentation for more info.
>    
>            public void warning(SAXParseException spe) throws 
> SAXException {
>   -            if (category.isDebugEnabled())
>   -                category.debug( 
> JavaUtils.getMessage("warning00", getParseExceptionInfo(spe)));
>   +            if (log.isDebugEnabled())
>   +                log.debug( 
> JavaUtils.getMessage("warning00", getParseExceptionInfo(spe)));
>            }
>            
>            public void error(SAXParseException spe) throws 
> SAXException {
>   
>   
>   
>   1.3       +8 -7      
> xml-axis/java/src/org/apache/axis/utils/compiler/CompilerFactory.java
>   
>   Index: CompilerFactory.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/utils/compiler/Com
> pilerFactory.java,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- CompilerFactory.java	11 Dec 2001 13:16:38 -0000	1.2
>   +++ CompilerFactory.java	19 Feb 2002 17:38:22 -0000	1.3
>   @@ -55,22 +55,23 @@
>    
>    package org.apache.axis.utils.compiler;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    /**
>     * This class implements a factory to instantiate a Compiler.
>     * @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
>     * @author <a href="mailto:stefano@apache.org">Stefano 
> Mazzocchi</a>
>   - * @version $Revision: 1.2 $ $Date: 2001/12/11 13:16:38 $
>   + * @version $Revision: 1.3 $ $Date: 2002/02/19 17:38:22 $
>     * @since 2.0
>     */
>    public class CompilerFactory {
>   -    static Category category =
>   -            Category.getInstance(CompilerFactory.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(CompilerFactory.class.getName());
>            public static Compiler getCompiler()
>            {
>                String compilerClassName = 
> System.getProperty("axis.Compiler");
>   -            category.debug("axis.Compiler:" + compilerClassName);
>   +            log.debug("axis.Compiler:" + compilerClassName);
>                if (compilerClassName != null) {
>                    try {
>                        Class compilerClass = 
> Class.forName(compilerClassName);
>   @@ -80,10 +81,10 @@
>                        // If something goes wrong here, 
> should we just fall
>                        // through and use the default one?
>                        e.printStackTrace(System.err);
>   -                    category.error(e.getLocalizedMessage(),e);
>   +                    log.error(e.getLocalizedMessage(),e);
>                    }
>                }
>   -            category.debug("Using default compiler Javac");
>   +            log.debug("Using default compiler Javac");
>                Compiler compiler = new Javac();
>                return compiler;
>            }
>   
>   
>   
>   1.4       +10 -9     
> xml-axis/java/src/org/apache/axis/utils/compiler/Javac.java
>   
>   Index: Javac.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/utils/compiler/Jav
> ac.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- Javac.java	8 Feb 2002 03:09:26 -0000	1.3
>   +++ Javac.java	19 Feb 2002 17:38:22 -0000	1.4
>   @@ -55,7 +55,8 @@
>    
>    package org.apache.axis.utils.compiler;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.io.BufferedReader;
>    import java.io.ByteArrayInputStream;
>   @@ -72,14 +73,14 @@
>     *
>     * @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
>     * @author <a href="mailto:stefano@apache.org">Stefano 
> Mazzocchi</a>
>   - * @version $Revision: 1.3 $ $Date: 2002/02/08 03:09:26 $
>   + * @version $Revision: 1.4 $ $Date: 2002/02/19 17:38:22 $
>     * @since 2.0
>     */
>    
>    public class Javac extends AbstractCompiler {
>    
>   -    static Category category =
>   -            Category.getInstance(Javac.class.getName());
>   +  static Log log =
>   +            LogFactory.getLog(Javac.class.getName());
>        
>      public final static String CLASSIC_CLASS = 
> "sun.tools.javac.Main";
>      public final static String MODERN_CLASS = 
> "com.sun.tools.javac.Main";
>   @@ -94,16 +95,16 @@
>            cl.loadClass(MODERN_CLASS);
>            modern = true;
>        } catch (ClassNotFoundException e) {
>   -        category.debug("Javac connector could not find 
> modern compiler -- falling back to classic.");
>   +        log.debug("Javac connector could not find modern 
> compiler -- falling back to classic.");
>            try {
>                cl.loadClass(CLASSIC_CLASS);
>                modern = false;
>            } catch (Exception ex) {
>   -            category.error("No compiler found in your 
> classpath. Make sure you added 'tools.jar'", ex);
>   +            log.error("No compiler found in your 
> classpath. Make sure you added 'tools.jar'", ex);
>                throw new RuntimeException("No compiler found 
> in your classpath. Make sure you added 'tools.jar'");
>            }
>        }
>   -    category.debug("Javac compiler class: " + 
> (modern?MODERN_CLASS:CLASSIC_CLASS));
>   +    log.debug("Javac compiler class: " + 
> (modern?MODERN_CLASS:CLASSIC_CLASS));
>      }
>    
>      /**
>   @@ -166,7 +167,7 @@
>                }
>                return errors;
>            }
>   -        category.debug(line);
>   +        log.debug(line);
>            buffer.append(line);
>            buffer.append('\n');
>          } while (!line.endsWith("^"));
>   @@ -224,7 +225,7 @@
>          // each error has 3 lines
>          for (int i = 0; i < 3 ; i++) {
>            if ((line = input.readLine()) == null) return errors;
>   -        category.debug(line);
>   +        log.debug(line);
>            buffer.append(line);
>            buffer.append('\n');
>          }
>   
>   
>   
>   1.3       +9 -8      
> xml-axis/java/src/org/apache/axis/utils/compiler/Jikes.java
>   
>   Index: Jikes.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/utils/compiler/Jik
> es.java,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- Jikes.java	11 Dec 2001 13:16:38 -0000	1.2
>   +++ Jikes.java	19 Feb 2002 17:38:22 -0000	1.3
>   @@ -55,7 +55,8 @@
>    
>    package org.apache.axis.utils.compiler;
>    
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    import java.io.BufferedInputStream;
>    import java.io.BufferedReader;
>   @@ -72,14 +73,14 @@
>     * NOTE: inspired by the Apache Jasper implementation.
>     * @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
>     * @author <a href="mailto:stefano@apache.org">Stefano 
> Mazzocchi</a>
>   - * @version $Revision: 1.2 $ $Date: 2001/12/11 13:16:38 $
>   + * @version $Revision: 1.3 $ $Date: 2002/02/19 17:38:22 $
>     * @since 2.0
>     */
>    
>    public class Jikes extends AbstractCompiler {
>    
>   -    static Category category =
>   -            Category.getInstance(Jikes.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(Jikes.class.getName());
>        
>        static final int OUTPUT_BUFFER_SIZE = 1024;
>        static final int BUFFER_SIZE = 512;
>   @@ -190,7 +191,7 @@
>                this.errors = new 
> ByteArrayInputStream(tmpErr.toByteArray());
>    
>            } catch (InterruptedException somethingHappened) {
>   -            
> category.debug("Jikes.compile():SomethingHappened", 
> somethingHappened);
>   +            log.debug("Jikes.compile():SomethingHappened", 
> somethingHappened);
>                return false;
>            }
>    
>   @@ -221,7 +222,7 @@
>                // first line is not space-starting
>                if (line == null) line = input.readLine();
>                if (line == null) return errors;
>   -            category.debug(line);
>   +            log.debug(line);
>                buffer.append(line);
>    
>                // all other space-starting lines are one error
>   @@ -233,7 +234,7 @@
>                    // Continuation of previous error starts with ' '
>                    if (line.length() > 0 && line.charAt(0) != ' ')
>                        break;
>   -                category.debug(line);
>   +                log.debug(line);
>                    buffer.append('\n');
>                    buffer.append(line);
>                }
>   @@ -272,7 +273,7 @@
>                // FIXME: VG: This is not needed anymore?
>                message.append("Please ensure that you have 
> your JDK's rt.jar listed in your classpath. Jikes needs it to 
> operate.");
>                type="error";
>   -            category.error(message.toString(), e);
>   +            log.error(message.toString(), e);
>            }
>    
>            if ("".equals(message)) {
>   
>   
>   
>   1.3       +1 -0      xml-axis/java/test/build_ant.xml
>   
>   Index: build_ant.xml
>   ===================================================================
>   RCS file: /home/cvs/xml-axis/java/test/build_ant.xml,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- build_ant.xml	7 Sep 2001 15:04:30 -0000	1.2
>   +++ build_ant.xml	19 Feb 2002 17:38:22 -0000	1.3
>   @@ -27,6 +27,7 @@
>        <pathelement location="${build.dir}" />
>        <pathelement location="${build.dest}" />
>        <pathelement path="${java.class.path}" />
>   +    <pathelement location="${commons-logging.jar}"/>
>        <pathelement location="${log4j-core.jar}"/>
>      </path>
>    
>   
>   
>   
>   1.20      +7 -6      xml-axis/java/test/encoding/TestSer.java
>   
>   Index: TestSer.java
>   ===================================================================
>   RCS file: /home/cvs/xml-axis/java/test/encoding/TestSer.java,v
>   retrieving revision 1.19
>   retrieving revision 1.20
>   diff -u -r1.19 -r1.20
>   --- TestSer.java	1 Feb 2002 22:08:26 -0000	1.19
>   +++ TestSer.java	19 Feb 2002 17:38:22 -0000	1.20
>   @@ -13,7 +13,8 @@
>    import org.apache.axis.message.RPCParam;
>    import org.apache.axis.message.SOAPEnvelope;
>    import org.apache.axis.server.AxisServer;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import org.xml.sax.InputSource;
>    
>    import javax.xml.rpc.namespace.QName;
>   @@ -24,8 +25,8 @@
>    /** Little serialization test with a struct.
>     */
>    public class TestSer extends TestCase {
>   -    static Category category =
>   -            Category.getInstance(TestSer.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TestSer.class.getName());
>    
>        public static final String myNS = "urn:myNS";
>        
>   @@ -78,9 +79,9 @@
>            
>            String msgString = stringWriter.toString();
>            
>   -        category.debug("---");
>   -        category.debug(msgString);
>   -        category.debug("---");
>   +        log.debug("---");
>   +        log.debug(msgString);
>   +        log.debug("---");
>            
>            StringReader reader = new StringReader(msgString);
>            
>   
>   
>   
>   1.10      +8 -7      
> xml-axis/java/test/functional/TestBidBuySample.java
>   
>   Index: TestBidBuySample.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/functional/TestBidBuySample.java,v
>   retrieving revision 1.9
>   retrieving revision 1.10
>   diff -u -r1.9 -r1.10
>   --- TestBidBuySample.java	26 Nov 2001 01:09:52 -0000	1.9
>   +++ TestBidBuySample.java	19 Feb 2002 17:38:22 -0000	1.10
>   @@ -58,14 +58,15 @@
>    import junit.framework.TestCase;
>    import org.apache.axis.AxisFault;
>    import org.apache.axis.client.AdminClient;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import samples.bidbuy.TestClient;
>    
>    /** Test the stock sample code.
>     */
>    public class TestBidBuySample extends TestCase {
>   -    static Category category =
>   -            Category.getInstance(TestBidBuySample.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TestBidBuySample.class.getName());
>    
>        public TestBidBuySample(String name) {
>            super(name);
>   @@ -83,12 +84,12 @@
>        
>        public void testBidBuyService () throws Exception {
>            try {
>   -            category.info("Testing bidbuy sample.");
>   -            category.info("Testing deployment...");
>   +            log.info("Testing bidbuy sample.");
>   +            log.info("Testing deployment...");
>                doTestDeploy();
>   -            category.info("Testing service...");
>   +            log.info("Testing service...");
>                doTest();
>   -            category.info("Test complete.");
>   +            log.info("Test complete.");
>            }
>            catch( Exception e ) {
>                if ( e instanceof AxisFault ) ((AxisFault)e).dump();
>   
>   
>   
>   1.11      +6 -5      
> xml-axis/java/test/functional/TestEchoSample.java
>   
>   Index: TestEchoSample.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/functional/TestEchoSample.java,v
>   retrieving revision 1.10
>   retrieving revision 1.11
>   diff -u -r1.10 -r1.11
>   --- TestEchoSample.java	7 Feb 2002 23:23:12 -0000	1.10
>   +++ TestEchoSample.java	19 Feb 2002 17:38:22 -0000	1.11
>   @@ -57,14 +57,15 @@
>    
>    import junit.framework.TestCase;
>    import org.apache.axis.client.AdminClient;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import samples.echo.TestClient;
>    
>    /** Test the stock sample code.
>     */
>    public class TestEchoSample extends TestCase {
>   -    static Category category =
>   -            Category.getInstance(TestEchoSample.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TestEchoSample.class.getName());
>    
>        public TestEchoSample(String name) {
>            super(name);
>   @@ -76,7 +77,7 @@
>        }
>    
>        public void testEchoService () throws Exception {
>   -        category.info("Testing echo interop sample.");
>   +        log.info("Testing echo interop sample.");
>    
>            // deploy the echo service
>            String[] args = {"-l",
>   @@ -95,7 +96,7 @@
>            client.setURL("local:");
>            client.execute();
>    
>   -        category.info("Test complete.");
>   +        log.info("Test complete.");
>        }
>    }
>    
>   
>   
>   
>   1.2       +9 -8      
> xml-axis/java/test/functional/TestElementSample.java
>   
>   Index: TestElementSample.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/functional/TestElementSample.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- TestElementSample.java	12 Dec 2001 14:02:28 -0000	1.1
>   +++ TestElementSample.java	19 Feb 2002 17:38:22 -0000	1.2
>   @@ -58,14 +58,15 @@
>    import junit.framework.TestCase;
>    import org.apache.axis.AxisFault;
>    import org.apache.axis.client.AdminClient;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import samples.encoding.testElement;
>    
>    /** Test the ElementService sample code.
>     */
>    public class TestElementSample extends TestCase {
>   -    static Category category =
>   -            
> Category.getInstance(TestElementSample.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TestElementSample.class.getName());
>    
>        public TestElementSample(String name) {
>            super(name);
>   @@ -97,14 +98,14 @@
>    
>        public void testElementService () throws Exception {
>            try {
>   -            category.info("Testing element sample.");
>   -            category.info("Testing deployment...");
>   +            log.info("Testing element sample.");
>   +            log.info("Testing deployment...");
>                doTestDeploy();
>   -            category.info("Testing service...");
>   +            log.info("Testing service...");
>                doTestElement();
>   -            category.info("Testing undeployment...");
>   +            log.info("Testing undeployment...");
>                doTestUndeploy();
>   -            category.info("Test complete.");
>   +            log.info("Test complete.");
>            }
>            catch( Exception e ) {
>                if ( e instanceof AxisFault ) ((AxisFault)e).dump();
>   
>   
>   
>   1.2       +8 -7      
> xml-axis/java/test/functional/TestMessageSample.java
>   
>   Index: TestMessageSample.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/functional/TestMessageSample.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- TestMessageSample.java	17 Dec 2001 00:57:41 -0000	1.1
>   +++ TestMessageSample.java	19 Feb 2002 17:38:22 -0000	1.2
>   @@ -58,14 +58,15 @@
>    import junit.framework.TestCase;
>    import org.apache.axis.AxisFault;
>    import org.apache.axis.client.AdminClient;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import samples.message.testMessage;
>    
>    /** Test the message sample code.
>     */
>    public class TestMessageSample extends TestCase {
>   -    static Category category =
>   -            
> Category.getInstance(TestMessageSample.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TestMessageSample.class.getName());
>    
>        public TestMessageSample(String name) {
>            super(name);
>   @@ -95,13 +96,13 @@
>    
>        public void testMessageService () throws Exception {
>            try {
>   -            category.info("Testing message sample.");
>   -            category.info("Testing deployment...");
>   +            log.info("Testing message sample.");
>   +            log.info("Testing deployment...");
>                doTestDeploy();
>   -            category.info("Testing service...");
>   +            log.info("Testing service...");
>                doTestMessage();
>                doTestUndeploy();
>   -            category.info("Test complete.");
>   +            log.info("Test complete.");
>            }
>            catch( Exception e ) {
>                if ( e instanceof AxisFault ) ((AxisFault)e).dump();
>   
>   
>   
>   1.9       +7 -6      
> xml-axis/java/test/functional/TestMiscSample.java
>   
>   Index: TestMiscSample.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/functional/TestMiscSample.java,v
>   retrieving revision 1.8
>   retrieving revision 1.9
>   diff -u -r1.8 -r1.9
>   --- TestMiscSample.java	11 Dec 2001 21:08:58 -0000	1.8
>   +++ TestMiscSample.java	19 Feb 2002 17:38:22 -0000	1.9
>   @@ -60,7 +60,8 @@
>    import org.apache.axis.utils.Options;
>    import org.apache.axis.deployment.wsdd.WSDDConstants;
>    import org.apache.axis.client.AdminClient;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import samples.misc.TestClient;
>    
>    import java.io.ByteArrayInputStream;
>   @@ -68,8 +69,8 @@
>    /** Test the stock sample code.
>     */
>    public class TestMiscSample extends TestCase {
>   -    static Category category =
>   -            Category.getInstance(TestMiscSample.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TestMiscSample.class.getName());
>    
>        static final String deployDoc =
>                "<deployment 
> xmlns=\"http://xml.apache.org/axis/wsdd/\" " +
>   @@ -110,12 +111,12 @@
>        
>        public void testService () throws Exception {
>            try {
>   -            category.info("Testing misc sample.");
>   +            log.info("Testing misc sample.");
>                doDeploy();
>   -            category.info("Testing service...");
>   +            log.info("Testing service...");
>                doTest();
>                doUndeploy();
>   -            category.info("Test complete.");
>   +            log.info("Test complete.");
>            }
>            catch( Exception e ) {
>                if ( e instanceof AxisFault ) ((AxisFault)e).dump();
>   
>   
>   
>   1.9       +9 -8      
> xml-axis/java/test/functional/TestProxySample.java
>   
>   Index: TestProxySample.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/functional/TestProxySample.java,v
>   retrieving revision 1.8
>   retrieving revision 1.9
>   diff -u -r1.8 -r1.9
>   --- TestProxySample.java	11 Dec 2001 21:08:58 -0000	1.8
>   +++ TestProxySample.java	19 Feb 2002 17:38:22 -0000	1.9
>   @@ -58,14 +58,15 @@
>    import junit.framework.TestCase;
>    import org.apache.axis.AxisFault;
>    import org.apache.axis.client.AdminClient;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import samples.misc.TestClient;
>    
>    /** Test the proxy sample code.
>     */
>    public class TestProxySample extends TestCase {
>   -    static Category category =
>   -            Category.getInstance(TestProxySample.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TestProxySample.class.getName());
>    
>        public TestProxySample(String name) {
>            super(name);
>   @@ -83,23 +84,23 @@
>        
>        public void testService () throws Exception {
>            try {
>   -            category.info("Testing proxy sample.");
>   +            log.info("Testing proxy sample.");
>                
>   -            category.info("Testing deployment...");
>   +            log.info("Testing deployment...");
>                
>                // deploy the proxy service
>                String[] args = { "samples/proxy/deploy.wsdd" };
>                AdminClient.main(args);
>                
>   -            category.info("Testing server-side client 
> deployment...");
>   +            log.info("Testing server-side client deployment...");
>                
>                // deploy the proxy service
>                String[] args2 = { "samples/proxy/client_deploy.xml" };
>                AdminClient.main(args2);
>                
>   -            category.info("Testing service...");
>   +            log.info("Testing service...");
>                doTest();
>   -            category.info("Test complete.");
>   +            log.info("Test complete.");
>            }
>            catch( Exception e ) {
>                if ( e instanceof AxisFault ) ((AxisFault)e).dump();
>   
>   
>   
>   1.16      +11 -10    
> xml-axis/java/test/functional/TestStockSample.java
>   
>   Index: TestStockSample.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/functional/TestStockSample.java,v
>   retrieving revision 1.15
>   retrieving revision 1.16
>   diff -u -r1.15 -r1.16
>   --- TestStockSample.java	3 Dec 2001 03:47:20 -0000	1.15
>   +++ TestStockSample.java	19 Feb 2002 17:38:22 -0000	1.16
>   @@ -58,14 +58,15 @@
>    import junit.framework.TestCase;
>    import org.apache.axis.AxisFault;
>    import org.apache.axis.client.AdminClient;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import samples.stock.GetQuote;
>    
>    /** Test the stock sample code.
>     */
>    public class TestStockSample extends TestCase {
>   -    static Category category =
>   -            Category.getInstance(TestStockSample.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TestStockSample.class.getName());
>    
>        public TestStockSample(String name) {
>            super(name);
>   @@ -117,18 +118,18 @@
>    
>        public void testStockService () throws Exception {
>            try {
>   -            category.info("Testing stock sample.");
>   -            category.info("Testing JWS...");
>   +            log.info("Testing stock sample.");
>   +            log.info("Testing JWS...");
>                doTestStockJWS();
>   -            category.info("Testing deployment...");
>   +            log.info("Testing deployment...");
>                doTestDeploy();
>   -            category.info("Testing service...");
>   +            log.info("Testing service...");
>                doTestStock();
>   -            category.info("Testing service with 
> SOAPAction: \"\"...");
>   +            log.info("Testing service with SOAPAction: \"\"...");
>                doTestStockNoAction();
>   -            category.info("Testing undeployment...");
>   +            log.info("Testing undeployment...");
>                doTestUndeploy();
>   -            category.info("Test complete.");
>   +            log.info("Test complete.");
>            }
>            catch( Exception e ) {
>                if ( e instanceof AxisFault ) ((AxisFault)e).dump();
>   
>   
>   
>   1.23      +13 -12    
> xml-axis/java/test/functional/TestTCPTransportSample.java
>   
>   Index: TestTCPTransportSample.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/functional/TestTCPTransportSample.java,v
>   retrieving revision 1.22
>   retrieving revision 1.23
>   diff -u -r1.22 -r1.23
>   --- TestTCPTransportSample.java	6 Feb 2002 15:27:43 
> -0000	1.22
>   +++ TestTCPTransportSample.java	19 Feb 2002 17:38:22 
> -0000	1.23
>   @@ -65,7 +65,8 @@
>    import org.apache.axis.EngineConfiguration;
>    import 
> org.apache.axis.configuration.DefaultEngineConfigurationFactory;
>    import org.apache.axis.configuration.SimpleProvider;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import samples.transport.tcp.AdminClient;
>    import samples.transport.tcp.GetQuote;
>    import samples.transport.tcp.TCPSender;
>   @@ -78,8 +79,8 @@
>    /** Test the stock sample code.
>     */
>    public class TestTCPTransportSample extends TestCase {
>   -    static Category category =
>   -            
> Category.getInstance(TestTCPTransportSample.class.getName());
>   +    static Log log =
>   +            
> LogFactory.getLog(TestTCPTransportSample.class.getName());
>    
>        public TestTCPTransportSample(String name) {
>            super(name);
>   @@ -97,7 +98,7 @@
>    
>        public void doTestStock() throws Exception {
>            try {
>   -            category.info("Testing TCP stock service...");
>   +            log.info("Testing TCP stock service...");
>                GetQuote tester = new GetQuote();
>                tester.getQuote(new String [] { 
> "-ltcp://localhost:8088", "XXX" });
>                String   symbol = "XXX"; // args[0] ;
>   @@ -139,26 +140,26 @@
>    
>        public void testTCPTransportSample () throws Exception {
>            try {
>   -            category.info("Testing TCP transport.");
>   +            log.info("Testing TCP transport.");
>    
>   -            category.info("Testing deployment...");
>   +            log.info("Testing deployment...");
>                doTestDeploy();
>   -            category.info("OK!");
>   +            log.info("OK!");
>    
>   -            category.info("Testing service...");
>   +            log.info("Testing service...");
>                doTestStock();
>   -            category.info("OK!");
>   +            log.info("OK!");
>    
>                // Commented out for now, because 
> namespaced-based dispatch for the
>                // TCPListener doesn't work yet.  Possible solutions:
>                // 1. Deploy the AdminService at the WSDD 
> namespace's name
>                // 2. Build another dispatch mechanism into 
> the TCP transport
>                //
>   -//            category.info("Testing undeployment...");
>   +//            log.info("Testing undeployment...");
>    //            doTestUndeploy();
>   -//            category.info("OK!");
>   +//            log.info("OK!");
>    
>   -            category.info("Test complete.");
>   +            log.info("Test complete.");
>            }
>            catch( Exception e ) {
>                if ( e instanceof AxisFault ) ((AxisFault)e).dump();
>   
>   
>   
>   1.19      +11 -10    
> xml-axis/java/test/functional/TestTransportSample.java
>   
>   Index: TestTransportSample.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/functional/TestTransportSample.java,v
>   retrieving revision 1.18
>   retrieving revision 1.19
>   diff -u -r1.18 -r1.19
>   --- TestTransportSample.java	28 Jan 2002 18:23:03 
> -0000	1.18
>   +++ TestTransportSample.java	19 Feb 2002 17:38:22 
> -0000	1.19
>   @@ -58,14 +58,15 @@
>    import junit.framework.TestCase;
>    import org.apache.axis.AxisFault;
>    import org.apache.axis.client.AdminClient;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    import samples.transport.FileTest;
>    
>    /** Test the stock sample code.
>     */
>    public class TestTransportSample extends TestCase {
>   -    static Category category =
>   -            
> Category.getInstance(TestTransportSample.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(TestTransportSample.class.getName());
>    
>        public TestTransportSample(String name) {
>            super(name);
>   @@ -89,9 +90,9 @@
>                if (fault == null) throw e;
>                if (fault.indexOf("java.net.UnknownHost")<0) {
>                    int start = fault.indexOf(": ");
>   -                category.info(fault.substring(start+2));
>   +                log.info(fault.substring(start+2));
>                } else if (fault.equals("timeout")) {
>   -                category.info("timeout");
>   +                log.info("timeout");
>                } else {
>                    throw e;
>                }
>   @@ -105,14 +106,14 @@
>        
>        public void testService () throws Exception {
>            try {
>   -            category.info("Testing transport sample.");
>   -            category.info("Testing deployment...");
>   +            log.info("Testing transport sample.");
>   +            log.info("Testing deployment...");
>                doTestDeploy();
>   -            category.info("Testing service with symbol IBM...");
>   +            log.info("Testing service with symbol IBM...");
>                doTestIBM();
>   -            category.info("Testing service with symbol XXX...");
>   +            log.info("Testing service with symbol XXX...");
>                doTestXXX();
>   -            category.info("Test complete.");
>   +            log.info("Test complete.");
>            }
>            catch( Exception e ) {
>                if ( e instanceof AxisFault ) ((AxisFault)e).dump();
>   
>   
>   
>   1.5       +1 -0      xml-axis/java/test/utils/PackageTests.java
>   
>   Index: PackageTests.java
>   ===================================================================
>   RCS file: /home/cvs/xml-axis/java/test/utils/PackageTests.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- PackageTests.java	12 Feb 2002 21:04:01 -0000	1.4
>   +++ PackageTests.java	19 Feb 2002 17:38:23 -0000	1.5
>   @@ -23,6 +23,7 @@
>            suite.addTest(TestJavaUtils.suite());
>            suite.addTest(TestXMLUtils.suite());
>            suite.addTest(TestMessages.suite());
>   +        suite.addTest(TestSrcContent.suite());
>    
>            return suite;
>        }
>   
>   
>   
>   1.5       +4 -3      xml-axis/java/test/utils/TestMessages.java
>   
>   Index: TestMessages.java
>   ===================================================================
>   RCS file: /home/cvs/xml-axis/java/test/utils/TestMessages.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- TestMessages.java	18 Dec 2001 21:28:21 -0000	1.4
>   +++ TestMessages.java	19 Feb 2002 17:38:23 -0000	1.5
>   @@ -17,9 +17,10 @@
>    import org.apache.axis.utils.JavaUtils;
>    
>    /**
>   -* This TestCase verifies the contents of 
> resources.properties for well-formedness and tests calls
>   -* to JavaUtils.getMessage.
>   -*/
>   + * This TestCase verifies:
>   + *   - the contents of resources.properties for 
> well-formedness, and
>   + *   - tests calls to JavaUtils.getMessage.
>   + */
>    public class TestMessages extends TestCase {
>        public TestMessages(String name) {
>            super(name);
>   
>   
>   
>   1.1                  xml-axis/java/test/utils/TestSrcContent.java
>   
>   Index: TestSrcContent.java
>   ===================================================================
>   package test.utils;
>   
>   import java.io.File;
>   import java.io.FileInputStream;
>   
>   import java.text.MessageFormat;
>   
>   import java.util.Enumeration;
>   import java.util.StringTokenizer;
>   import java.util.Vector;
>   
>   import junit.framework.AssertionFailedError;
>   import junit.framework.Test;
>   import junit.framework.TestCase;
>   import junit.framework.TestSuite;
>   
>   import org.apache.axis.utils.JavaUtils;
>   
>   /**
>    * This TestCase verifies that content of the source files adheres
>    * to certain coding practices by looking for "illegal" strings:
>    *
>    * - Verify that Log4J logger is not being used directly
>    *   ("org.apache.log4j" is not in source files).
>    *
>    * - !! Someday: look for System.out.println .... !!
>    *
>    *
>    * To add new strings to "avoid", search for and append to the
>    * private attribute 'avoidStrings'.
>    *
>    * Based on code in TestMessages.java.
>    */
>   public class TestSrcContent extends TestCase {
>       public TestSrcContent(String name) {
>           super(name);
>       } // ctor
>   
>       public static Test suite() {
>           return new TestSuite(TestSrcContent.class);
>       }
>   
>       /**
>        * If this test is run from xml-axis/java, then walk 
> through the source
>        * tree (xml-axis/java/src), calling checkFile for each file.
>        */
>       public void testSourceFiles() {
>           String baseDir = System.getProperty("user.dir");
>           File   srcDir = new File(baseDir, "src");
>   
>           if (srcDir.exists() && !walkTree(srcDir)) {
>               throw new AssertionFailedError("Unexpected 
> source file content");
>           }
>       } // testSourceFiles
>   
>       /**
>        * Walk the source tree
>        */
>       private boolean walkTree(File srcDir) {
>           boolean cleanWalk = true;
>   
>           File[] files = srcDir.listFiles();
>           for (int i = 0; i < files.length; ++i) {
>   
>               // beware 'shortcuts' in logic operations...
>               if (files[i].isDirectory()) {
>                   cleanWalk = walkTree(files[i]) && cleanWalk;
>               }
>               else if (files[i].getName().endsWith(".java")) {
>                   cleanWalk = checkFile(files[i]) && cleanWalk;
>               }
>           }
>   
>           return cleanWalk;
>       } // walkTree
>   
>       /**
>        * Check for the following in the input file:
>        *     string "org.apache.log4j.Category" in file.
>        */
>       private static final String avoidStrings[] =
>           {
>               "org.apache.log4j"
>           };
>   
>       private boolean checkFile(File file) {
>           boolean cleanFile = true;
>   
>           try {
>               FileInputStream fis = new FileInputStream(file);
>               byte[] bytes = new byte[fis.available()];
>               fis.read(bytes);
>               String string = new String(bytes);
>   
>               for (int i = 0; i < avoidStrings.length; i++) {
>                   if (string.indexOf(avoidStrings[i]) >= 0) {
>                       System.out.println(file.getPath() + ": 
> Unexpected '" + avoidStrings[i]);
>                       cleanFile = false;
>                   }
>               }
>           }
>           catch (Throwable t) {
>               System.out.println(file.getPath() + ": " + 
> t.getMessage());
>               cleanFile = false;
>           }
>   
>           return cleanFile;
>       } // checkFile
>   }
>   
>   
>   
>   1.4       +2 -2      
> xml-axis/java/test/wsdl/inout/DetailedInoutTestCase.java
>   
>   Index: DetailedInoutTestCase.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/wsdl/inout/DetailedInoutTestCase.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- DetailedInoutTestCase.java	5 Feb 2002 16:22:40 
> -0000	1.3
>   +++ DetailedInoutTestCase.java	19 Feb 2002 17:38:23 
> -0000	1.4
>   @@ -588,8 +588,8 @@
>            try
>            {
>                Options opts = new Options(args);
>   -//            Category category = 
> Category.getInstance(org.apache.axis.transport.http.HTTPSender
> .class.getName());
>   -//            category.setPriority (Priority.DEBUG);
>   +//            Log log = 
> LogFactory.getLog(org.apache.axis.transport.http.HTTPSender.cl
> ass.getName());
>   +//            log.setPriority (Priority.DEBUG);
>    
>                TestRunner.main(new String[] 
> {DetailedInoutTestCase.class.getName()});
>            }
>   
>   
>   
>   1.2       +6 -5      
> xml-axis/java/test/wsdl/multiref/MultiRefTestCase.java
>   
>   Index: MultiRefTestCase.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/wsdl/multiref/MultiRefTestCase.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- MultiRefTestCase.java	4 Jan 2002 19:09:41 -0000	1.1
>   +++ MultiRefTestCase.java	19 Feb 2002 17:38:23 -0000	1.2
>   @@ -57,13 +57,14 @@
>    
>    import junit.framework.TestCase;
>    import org.apache.axis.AxisFault;
>   -import org.apache.log4j.Category;
>   +import org.apache.commons.logging.Log;
>   +import org.apache.commons.logging.LogFactory;
>    
>    /** Test the multiref sample code.
>     */
>    public class MultiRefTestCase extends TestCase {
>   -    static Category category =
>   -            Category.getInstance(MultiRefTestCase.class.getName());
>   +    static Log log =
>   +            LogFactory.getLog(MultiRefTestCase.class.getName());
>    
>        public MultiRefTestCase(String name) {
>            super(name);
>   @@ -76,9 +77,9 @@
>    
>        public void testMultiRefService () throws Exception {
>            try {
>   -            category.info("Testing multiref sample.");
>   +            log.info("Testing multiref sample.");
>                doTest();
>   -            category.info("Test complete.");
>   +            log.info("Test complete.");
>            }
>            catch( Exception e ) {
>                if ( e instanceof AxisFault ) ((AxisFault)e).dump();
>   
>   
>   
> 

Mime
View raw message