SAP 适配器的诊断跟踪和消息日志记录
诊断跟踪有助于有效地诊断使用适配器时可能遇到的问题。 适配器客户端可以在三个级别激活诊断跟踪:
在适配器客户端和适配器之间
在适配器内
适配器与业务线 (LOB) 应用程序之间
本部分提供有关在这些级别激活跟踪的信息。
适配器客户端和适配器之间的跟踪
适配器客户端可以启用 WCF 跟踪来跟踪适配器客户端和适配器之间的问题。 WCF 跟踪用于使用 WCF 服务模型跟踪来自适配器客户端的输入 XML,可用于诊断序列化问题。 WCF 跟踪不用于 WCF 通道模型,也不用于从适配器到适配器客户端的输出消息。 可以通过将摘录添加到相应的配置文件来激活 BizTalk 应用程序和 WCF 服务模型应用程序的 WCF 跟踪。 此外,还可以在设计时和运行时启用跟踪。
在设计时跟踪。 对于设计时体验,可以使用“添加适配器服务引用插件”、“使用适配器服务加载项”或“添加适配器元数据向导”。 所有这些工具都可以从 Visual Studio 中使用。 因此,若要启用设计时体验跟踪,必须将摘录添加到安装驱动器>:\Program Files\Microsoft Visual Studio version\Common7\IDE 中的< devenv.exe.config 文件。><
运行时跟踪。 对于运行时跟踪,必须根据所使用的应用程序添加摘录。
对于BizTalk Server应用程序,必须将摘录添加到 BizTalk 配置文件中,通常 BTSNTSvc.exe.config。对于BizTalk Server,此文件通常在安装驱动器>:\Program Files\Microsoft BizTalk Server 下<提供。
对于 WCF 服务模型 .NET 应用程序,必须将摘录添加到项目的 app.config 文件中。
若要启用 WCF 跟踪,请在 标记中添加
<configuration>
以下摘录。
<system.diagnostics>
<sources>
<source name ="System.ServiceModel" switchValue="Verbose">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name ="System.ServiceModel.MessageLogging"
switchValue="Verbose, ActivityTracing">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name ="System.Runtime.Serialization" switchValue="Verbose">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml" type="System.Diagnostics.XmlWriterTraceListener"
traceOutputOptions="LogicalOperationStack"
initializeData="C:\log\WCFTrace.svclog" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
<system.serviceModel>
<diagnostics>
<messageLogging
logEntireMessage="true"
logMalformedMessages="false"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="false"/>
</diagnostics>
</system.serviceModel>
这会将 WCF 跟踪保存到 C:\log\WCFTrace.svclog。 有关 WCF 跟踪的详细信息,请参阅 跟踪。
重要
确保通过启用跟踪来缓解暴露敏感业务数据的潜在安全威胁。 有关建议,请参阅 保护 SAP 适配器的最佳做法。
适配器中的跟踪
适配器将不同类别的有用信息记录到跟踪文件中,例如错误、警告和信息消息。 这些信息有助于了解适配器中的进程流和诊断适配器的问题。 可以通过将摘录添加到相应的配置文件来激活 BizTalk 应用程序和 WCF 服务模型应用程序的 WCF LOB 适配器 SDK 和适配器跟踪。 此外,还可以在设计时和运行时启用跟踪。
在设计时跟踪。 对于设计时体验,可以使用“添加适配器服务引用插件”、“使用适配器服务加载项”或“添加适配器元数据向导”。 所有这些工具都可以从 Visual Studio 中使用。 因此,若要启用设计时体验跟踪,必须将摘录添加到安装驱动器>:\Program Files\Microsoft Visual Studio version\Common7\IDE 中的< devenv.exe.config 文件。><
运行时跟踪。 对于运行时跟踪,必须根据所使用的应用程序添加摘录。
对于BizTalk Server应用程序,必须将摘录添加到 BizTalk 配置文件中,通常 BTSNTSvc.exe.config。对于BizTalk Server,此文件通常在安装驱动器>:\Program Files\Microsoft BizTalk Server 下<提供。
对于 WCF 服务模型 .NET 应用程序,必须将摘录添加到项目的 app.config 文件中。
若要启用 WCF LOB 适配器 SDK 和适配器跟踪,请在 标记中添加
<configuration>
以下摘录。
<system.diagnostics>
<sources>
<source name="Microsoft.ServiceModel.Channels" switchValue="Error">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="Microsoft.Adapters.SAP" switchValue="Information">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml" type="System.Diagnostics.XmlWriterTraceListener"
traceOutputOptions="LogicalOperationStack"
initializeData="C:\log\AdapterTrace.svclog" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
这会将 WCF 跟踪保存到 C:\log\AdapterTrace.svclog。
适配器与 LOB 应用程序之间的跟踪
若要诊断怀疑与 LOB 应用程序相关的问题,必须启用适配器与 LOB 应用程序之间的通信跟踪。 适配器还依赖于 LOB 跟踪 (客户端/服务器端) 来访问此信息。 SAP 适配器通过在连接 URI 中指定“RfcSdkTrace”参数,使适配器客户端能够在 SAP 系统中启用跟踪。 必须指定此参数,使 RFC SDK 能够跟踪 SAP 系统中的信息流。 有关连接 URI 的详细信息,请参阅 创建 SAP 系统连接 URI。
此外,还可以创建RFC_TRACE环境变量,用于设置 RFC SDK 的跟踪级别。 RFC_TRACE是由 SAP 定义的环境变量,由 RFC SDK 使用。 如果未定义此变量或将此变量设置为 0,则 RFC SDK 跟踪级别为最低。 如果变量设置为 1 或 2,则跟踪级别更详细。
注意
无论是否设置了RFC_TRACE环境变量,仅当连接 URI 中的“RfcSdkTrace”参数设置为 true 时, 才 启用 RFC SDK 跟踪。 此环境变量的值仅控制 RFC SDK 跟踪的级别。 如果 RfcSdkTrace 设置为 true,则会将适配器和 SAP 系统之间的消息跟踪复制到计算机上的“system32”文件夹中。 若要将 RFC SDK 跟踪保存到其他位置,可以设置 RFC_TRACE_DIR 环境变量。 有关这些环境变量的详细信息,请参阅 SAP 文档。
查看跟踪
可以使用 Windows Communication Foundation (WCF) Service 跟踪查看器工具查看跟踪。 有关该工具的详细信息,请参阅 使用服务跟踪查看器查看相关跟踪和问题。
配置 BizTalk 应用程序的跟踪
BizTalk Server管理控制台允许你为项目配置各种跟踪选项,例如发送端口和接收端口。 跟踪配置设置使你能够跟踪入站和出站事件数据、消息属性、消息正文和业务流程。 有关为 BizTalk 应用程序配置跟踪的详细信息,请参阅 管理项目。
还可以使用运行状况和活动跟踪 (HAT) 查看历史数据或跟踪的数据。 有关详细信息,请参阅 查看历史和跟踪的数据。