Diagnosing Third Party Vendor SOAP Faults
Problem
When a Third party application is having difficulty with SOAP Faults (error messages), it can sometimes be helpful to enable detailed logging in the Redesign application. The Redesign SOAP interfaces can provide detailed error logging as well as very detailed "on the wire" level logging if necessary. This article will explain how to enable detailed logging via the application (Monitor page) or via docker-compose configuration.
Most third party applications will also have detail logging and error capturing as part of their client implementation and user interface. However, some vendors have weak client implementations which do not handle, report or record faults appropriately. In the former case, a combination of client and server logging can be beneficial. In the latter case, server side logging may be the only tool available to diagnose the failing client application.
Loggers and levels
The Redesign application contain a large number "loggers" which can be set to cause the applications to log additional information. Loggers are named after the Java package or module that contains them. For example, org.apache.axis
is the logger that controllers a loggers in the Axis SOAP toolset.
Each logger can be set to a "log level" indicating the desired level of logging. These are (in the order of less to more detailed):
OFF
ERROR
WARN
INFO
DEBUG
TRACE
Each level enables the level(s) before it. That is, enabling INFO level logging implies WARN and ERROR logging are enabled.
Enabling excessive fine detailed logging in an production environment on some loggers can create significant load and slow response times. In general, logging should only be changed from the defaults to diagnose specific problems.
SOAP Related Loggers
This table describes the loggers most relevant to the SOAP service.
Logger | Description |
---|---|
org.apache.axis.EXCEPTIONS | At DEBUG level causes all SOAP faults to be logged. Any client response that consists of a SOAP Fault will be logged. This is most commonly used logger to diagnose typical SOAP failures. Because only exceptions are logged this logger has little or no impact on performance. |
org.apache.axis.providers | At DEBUG level, causes all "providers", including the RPC provider to log detailed parsing information and wire messages (SOAP XML bodies). Use this logger when the format of the SOAP request or schema violations are suspected. This level of logging is extremely detailed and noisey. It should generally not be enabled for extended periods. |
| Enables logging for the entire SOAP framework. This logger is rarely needed. You should only enable this logger if instructed by the SSDT. |
Solution
Enabling Temporary Logging
Logging can be enabled temporarily (until the next application restart):
Log in as an ADMINISTRATOR username
Navigate to
Monitor → Logging
Use the grid to filter for the desired logger
Double-click the logger and use the drop down to set the desired logging level
The revised logging level will take effect immediately.
Enable logging in Docker configuration
Logging enabled via configuration will enable on each application startup. It can be disabled while the application is running using the Monitor page described above. Remove the logging from the configuration after it is no longer need since excessive unnecessary logging affect performance.
Related articles