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) 查看历史数据或跟踪的数据。 有关详细信息,请参阅 查看历史和跟踪的数据

另请参阅

排查 SAP 适配器问题