跟踪 Web Service
可以跟踪 Web Service 运行时组件,包括非受管客户机、受管客户机以及服务器应用程序。在运行时组件中,可以跟踪过程入口和出口以及处理操作。还可以跟踪用户定义的异常以及使用 Java™ 消息服务 (JMS) 或 HTTP 来请求 Web Service 的 SOAP 消息。
开始之前
关于此任务
下面的任务描述您可以如何为 Web Service 启用跟踪:
过程
- 为 Web Service 非受管客户机启用跟踪。
通过将 %install_root\properties\TraceSettings.properties 文件复制到客户机应用程序 Java 归档 (JAR) 文件所在的目录来创建跟踪属性文件。
通过将 app_server_root/properties/TraceSettings.properties 文件复制到客户机应用程序 Java 归档 (JAR) 文件所在的目录来创建跟踪属性文件。
编辑属性文件,并更改 traceFileName 值以输出跟踪数据。 例如,traceFileName=c:\\temp\\myAppClient.trc。
编辑属性文件,并更改 traceFileName 值以输出跟踪数据。 例如,traceFileName=/myDir/myAppClient.trc。
- 编辑属性文件以移除 com.ibm.ejs.ras.*=all=enabled 并添加 com.ibm.ws.webservices.engine.*=all=enabled。
- 将 -DtraceSettingsFile=<trace_properties_file> 选项添加到用于运行客户机的 java 命令行,其中 trace_properties_file 表示在子步骤 a 到 c 中创建的属性文件的名称。 例如 java -DtraceSettingsFile=TraceSettings.properties myApp.myAppMainClass。
- 通过带下列选项调用 launchClient 命令行工具,为 Web Service 管理的客户机启用跟踪:
-CCtrace=com.ibm.ws.webservices.engine.*=all=enabled
-CCtracefile=traceFileName
例如:%install_root%\bin\launchClient MyAppClient.ear
-CCtrace=com.ibm.ws.webservices.engine.*=all=enabled -CCtracefile=myAppClient.trc
要了解有关此工具的更多信息,请参阅 launchClient 工具信息。app_server_root/bin/launchClient MyAppClient.ear
-CCtrace=com.ibm.ws.webservices.engine.*=all=enabled -CCtracefile=myAppClient.trc
- 为 Web Services for Java 平台企业修订版 ((Java EE) 服务器应用程序启用跟踪。
- 启动 WebSphere® Application Server。
- 打开管理控制台。
- 单击服务器 > 应用程序服务器 > server。
- 单击更改日志详细信息级别。
- 在文本框中添加或删除跟踪字符串。对于本任务,请删除跟踪字符串 *=info 并添加跟踪字符串 com.ibm.ws.webservices.engine.*=all=enabled。 可以下列两种方式之一在文本框中指定跟踪字符串:
- 将跟踪字符串直接输入到文本框中。必须使用冒号 (:) 来隔开各个跟踪字符串且不带空格。例如:
com.ibm.ws.webservices.trace.MessageTrace=finest:com.ibm.ws.webservices. engine.Message=finest
- 从列示的部分中选择预定义的跟踪字符串。预定义的部分以 *[All Components] 开头。预定义的跟踪字符串 Web Service 组件列示在 com.ibm..ws.* 部分下面。
- 单击加号 (+) 以展开 com.ibm.ws.* 部分。
- 单击预定义的跟踪字符串。例如,如果需要为 SOAP 消息跟踪添加预定义的跟踪字符串,那么可以单击 com.ibm.ws.webservices.trace.MessageTrace。
- 从下拉列表中单击跟踪选项。例如,可以选择下列选项:关闭、致命、严重、警告、审计、信息、配置、详细信息、精细、较精细、最精细和全部。建议使用选项“最精细”。当单击该选项时,它会被添加至跟踪字符串的末尾。例如:
com.ibm.ws.webservices.trace.MessageTrace=finest
- 将跟踪字符串直接输入到文本框中。必须使用冒号 (:) 来隔开各个跟踪字符串且不带空格。例如:
- 依次单击保存和应用。
- 为 SOAP 消息和/或用户定义的异常启用跟踪。 使用下面的跟踪规范跟踪 SOAP 消息:
- com.ibm.ws.webservices.trace.MessageTrace=all
本规范跟踪 SOAP 消息的内容,这包括二进制附件数据。
当 SOAP 消息的上下文类型不是文本和 XML 时,消息可能包含附件。在这种情况下,在跟踪文件中以十六进制转储格式显示消息。下面的示例举例说明了非文本 SOAP 消息的十六进制转储格式的一行:0000: 0D 0A 2D 2D 2D 2D 2D 2D - 3D 5F 50 61 72 74 5F 36 ..------=_Part_6
- 在每一跟踪文件行中,会显示消息的 16 个字节。
- 头四个数字是十六进制数字,它的值是该行上的 SOAP 消息的第一个字节中的字节偏移量。
- 其后的 16 个两位十六进制数字是消息中的每个连续字节的内容。
- 该行的最后 16 个字符显示这些字节的 ASCII 表示法以及用句点表示的不可记录字符。
- *=off:com.ibm.ws.webservices.*=all
可以通过此设置来跟踪所有 Web Service 信息,包括 SOAP 消息和用户定义的异常。
可以通过指定 com.ibm.ws.webservices.trace.UserExceptionTrace=all 跟踪字符串来启用对用户定义的异常的记录。缺省情况下,不记录用户定义的异常。 用户定义的异常是在 Web 服务描述语言 (WSDL) 文件中为操作定义的异常。
用户定义的异常经常表示无误情况。例如,对于 makeWithdrawl 方法的服务端点实现,可能发生用户定义的 OverdrawnException 异常。此异常表示需要的情况而不是表示服务端点实现中有错误。因为这些类型的异常可能会在正常处理期间发生,因此缺省情况下不对其进行记录。记录用户定义的异常时,将信息发送到 trace.log 文件而不是 SystemOut.log 文件。
注: 本主题引用了一个或多个应用程序服务器日志文件。作为另一种建议采用的方法,您可以在分布式系统和 IBM® i 系统上配置服务器以使用高性能可扩展日志记录 (HPEL) 记录和跟踪基础结构,而不使用 SystemOut.log、SystemErr.log、trace.log 和 activity.log 文件。您还可以将 HPEL 与本机 z/OS® 日志记录设施结合使用。如果要使用 HPEL,那么可从服务器概要文件 bin 目录使用 LogViewer 命令行工具来访问所有日志和跟踪信息。有关使用 HPEL 的更多信息,请参阅有关使用 HPEL 对应用程序进行故障诊断的信息。还可以使用以下跟踪字符串为用户定义的异常启用跟踪以及其他跟踪点:- com.ibm.ws.webservices.*=all
开启所有 Web Service 运行时跟踪日志。
- com.ibm.ws.webservices.trace.*=all
打开 MessageTrace 和 UserExceptionTrace。
避免故障: 请注意,一旦开启此跟踪,整个 SOAP 消息有效内容都将写入到跟踪文件中。如果 SOAP 消息有效内容中包含任何机密信息(如用户标识或密码),那么也会以纯文本格式输出这些信息。请正确规划,以保护您信息的安全。gotcha
注: 对于 JAX-WS Web Service,有两种方式(正常级别和最小级别)在跟踪文件中输出出站 HTTP SOAP 消息和入站 HTTP SOAP 消息。- 正常级别,设置如下
- com.ibm.ws.websvcs.trace.*=all
- 最小级别,设置如下
- com.ibm.ws.websvcs.trace.MessageTrace=all:com.ibm.ws.websvcs.trace.LogFilterInputStream=all
- com.ibm.ws.webservices.trace.MessageTrace=all
结果
下一步做什么


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_tracewbscomp
文件名:twbs_tracewbscomp.html