You can trace the Web services runtime components, including
an unmanaged client, a managed client and a server application. The
procedure entry and exit, as well as the processing actions are traceable
in the runtime components. You can also trace user-defined exceptions
and SOAP messages that use Java™ Message
Service (JMS) or HTTP to request Web services.
Before you begin
The com.ibm.ws.webservices.engine.*=all=enabled specification
traces the Web services run time only. See step 4 for settings that
you can use to trace user-defined exceptions and SOAP messages or
review the tracing SOAP messages with tcpmon documentation to learn
about tracing SOAP messages with the tcpmon process.
About this task
The following tasks describe how you can enable trace
for Web services:
Procedure
- Enable trace for a Web services unmanaged client.
Create a trace properties file by
copying the %install_root\properties\TraceSettings.properties file
to the same directory as your client application Java archive
(JAR) file.
Create a trace properties file by
copying the app_server_root/properties/TraceSettings.properties file
to the same directory as your client application Java archive
(JAR) file.
Edit the properties file and change
the traceFileName value to output the trace data. For
example, traceFileName=c:\\temp\\myAppClient.trc.
Edit the properties file and change
the traceFileName value to output the trace data. For
example, traceFileName=/myDir/myAppClient.trc.
- Edit the properties file to remove com.ibm.ejs.ras.*=all=enabled and
add com.ibm.ws.webservices.engine.*=all=enabled.
- Add the -DtraceSettingsFile=<trace_properties_file>
option to the java command line that is used to run the client,
where trace_properties_file represents the name of the properties
file that you created in the substeps a through c. For
example, java -DtraceSettingsFile=TraceSettings.properties myApp.myAppMainClass.
- Enable trace for a Web services-managed client by invoking
the launchClient command-line tool with the following options:
-CCtrace=com.ibm.ws.webservices.engine.*=all=enabled
-CCtracefile=traceFileName
For example:
%install_root%\bin\launchClient MyAppClient.ear
-CCtrace=com.ibm.ws.webservices.engine.*=all=enabled -CCtracefile=myAppClient.trc
app_server_root/bin/launchClient MyAppClient.ear
-CCtrace=com.ibm.ws.webservices.engine.*=all=enabled -CCtracefile=myAppClient.trc
To learn more about this tool, see the launchClient tool information.
- Enable trace for a Web Services for Java Platform,
Enterprise Edition (Java EE)
server application.
- Start WebSphere® Application Server.
- Open the administrative console.
- Click Servers > Application Servers > server.
- Click Change Log Detail Levels.
- Add or delete the trace string in the text box. For
this task, delete the trace string *=info and add the trace
string com.ibm.ws.webservices.engine.*=all=enabled. You
can specify the trace string in the text box in one of two ways:
- Click Save and Apply.
To learn more
about enabling trace, see the tracing and logging configuration information.
- Enable trace for SOAP messages, user-defined exceptions,
or both. The following trace specifications are used to
trace SOAP messages:
- com.ibm.ws.webservices.trace.MessageTrace=all
This
specification traces the contents of a SOAP message, including the
binary attachment data.
When the context-type of the SOAP message
is not text and xml, the message probably contains attachments. In
this case, the message is displayed in the trace file in the hex dump
format. The following example illustrates a line in the hex dump format
for non-text SOAP messages:
0000: 0D 0A 2D 2D 2D 2D 2D 2D - 3D 5F 50 61 72 74 5F 36 ..------=_Part_6
- In each trace file line, 16 bytes of the message are displayed
- The first four digits are a hex number whose value is the byte
offset into the SOAP message of the first byte on the line.
- The next 16 two-digit hex numbers are the contents of each of
the consecutive bytes in the message.
- The ASCII representation of the bytes is displayed in the last
16 characters of the line, with unprintable characters that are represented
by a period.
- *=off:com.ibm.ws.webservices.*=all
You can trace all
Web services information, including the SOAP messages and the user-defined
exceptions, with this setting.
You can enable logging of user-defined exceptions by specifying
the com.ibm.ws.webservices.trace.UserExceptionTrace=all trace
string. The user-defined exceptions are not logged by default. A user-defined
exception is an exception that is defined in the Web Services Description
Language (WSDL) file for an operation.
A user-defined exception
often indicates an error-free condition. For example, the user-defined
OverdrawnException exception, can occur for the service endpoint implementation
of the makeWithdrawl method. This exception indicates an expected
condition and does not indicate an error in the service endpoint implementation.
Because these types of exceptions can occur during normal processing,
they are not logged by default. When a user-defined exception is logged,
the information is sent to the trace.log file and not to
the SystemOut.log file.
You can also use the following
trace strings to enable tracing for user-defined exceptions, as well
as other trace points:
Results
You have enabled trace for the unmanaged clients, managed
clients, and the server applications. Depending on the trace string
specification, the trace can include run-time components, user-defined
exceptions and SOAP messages.
What to do next
Analyze the message data.