March 13, 2013

How to enable Axis (Web Services) logging

This entry is part of the Maximo Integration Framework series.

Maximo uses the Apache Axis library to call external Web Services. Sometimes could be useful enable the logging for this library instead of sniffing connections and protocols to figure out what is going on.
Axis uses Apache commons logging for logging which in turn provides a generic interface to different logging tools (simple log, JDK logging, log4J,...). So the first configuration to set is which logging tool AXIS must use.
Such configuration must be done in the commons-logging.properties file which must be placed somewhere in the application server's CLASSPATH. This file is not delivered by Maximo so if not found the simple log is used by default. Otherwise the properties.jar file could be the right place. In the commons-logging.properties the property org.apache.commons.logging.Log must be set to the class implementation which can be:
  • Simple log: org.apache.commons.logging.impl.SimpleLog
  • JDK logger: org.apache.commons.logging.impl.Jdk14Logger
  • Avalon logger: org.apache.commons.logging.impl.AvalonLogger
  • Log Kit logger: org.apache.commons.logging.impl.LogKitLogger

Assuming we want to configure the simple logger (which logs into the standard error) the following configuration must be put into the commons-logging.properties.
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog

The simple log use in turn its own configuration file simplelog.properties that is located in the axis.jar file under [SMPDIR]\maximo\applications\maximo\lib. If you change this file you have to redeploy the Maximo EAR or just simply copy the modified axis.jar file to [WASDIR]\AppServer\profiles\ctgAppSrv01\installedApps\ctgCell01\MAXIMO.ear\lib and restart the server.

A special thank to my fellow Maximo consultant Marco Lerro for this article.

No comments:

Post a Comment