How to enable logging for the Apache Axis SOAP client

Summary

When troubleshooting SOAP communication and messaging problems, it may be helpful to turn on Log4J (Logging for Java) logging for the Apache Axis SOAP client.

For example, when you are configuring authentication for a SOAP connector, Log4J may provide valuable information.

Update: Use the instructions in the Suggested Approach for V5.1 to V5.3.
For V5.4, a simpler approach is available:

1. Add the following to the prlogging.xml file:

<category name="com.pega.apache.axis">
      <priority value="debug"/>
</category>

2. Stop and restart the system.



 

Suggested Approach

To turn on Log4J logging, you need to edit two logging configuration files:

  • commons-logging.properties
  • log4j.properties

These files reside in …\apache-tomcat-5.x.xx\webapps\prweb\WEB-INF\libpraxis-1.2.1.jar.

Follow the steps below to edit these configuration files and turn on Log4J logging:

  1. Create a backup copy of praxis-*.jar.

  2. Expand the original praxis-*.jar to a temporary working directory.

  3. In the temporary working directory, locate commons-logging.properties and log4j.properties.

  4. Open commons-logging.properties in a text editor and uncomment the last line in the file to enable Log4Jlogging:

# Uncomment the next line to disable all logging.
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog
# Uncomment the next line to enable the simple log based logging
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
# Uncomment the next line to enable log4j based logging
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogge

  1. Open the log4j.propeties file in a text editor and set the desired logging level for the CONSOLE appender. Valid logging levels are:

    TRACE
    DEBUG
    INFO
    WARN
    ERROR
    FATAL

    Typically only INFO and DEBUG are used for troubleshooting purposes. The following example shows debug logging turned on at the root level and each of the appender levels. However, only the CONSOLE appender (the second line of the file) is enabled.
  2. To enable the LOGFILE appender, uncomment the third line of the file:

# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=DEBUG, CONSOLE
#log4j.rootCategory=DEBUG, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= %d (%c) %-5p - %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=DEBUG
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern= %d [%t] (%c) %-5p - %m%n

This example also shows that ConversionPattern settings were modified. This setting provides datetime information and slightly reformats the logging output. (These changes are not necessary, but may be desirable.).

  1. After you update and save the commons-logging.properties and log4j.properties files, use a Java jar command to repackage the praxis-1.2.1.jar file. If this file is in a temporary directory, use a command like the following:

      jar –uvf praxis-1.2.1.jar .\*

  1. Repackage praxis-1.2.1.jar with the Process Commander distribution EAR or WAR file.
  2. Redeploy the application to the server.

IMPORTANT: Although Process Commander, like Apache AXIS, uses Log4J facilities for logging, the Log4J distribution that is distributed with Process Commander is customized and repacked. It is not a standard distribution.

For this reason, to support AXIS logging you must download and install the standard Log4J distribution from the Apache Software Foundation, and add it as an external library to your application server configuration. To download the current stable version of Apache Log4J, visit   WWWhttp://logging.apache.org/log4j/.

For information on how to add external libraries to a V5.x system, see About the Process Commander Class Paths .

Suggest Edit

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.