当前位置: 首页 > news >正文

SAP PI PO 接口常见问题处理:在监控器中找不到一个或多个 XI 消息的日志记录

SAP PI PO 接口常见问题处理:在监控器中找不到一个或多个 XI 消息的日志记录

已经处理 XI 消息,但在 XI 监控器中找不到它,或者在映射服务之后没有为该 XI 消息写入日志版本。如果运行时持久保存 XI 消息,则 XI 监控器(事务 SXI_MONITOR 或 SXMB_MONI)会显示它们。

原因和条件

正在使用 SAP NetWeaver Process Integration 作为中央集成服务器或应用程序系统中的本地集成引擎,且遇到上述问题。在应用程序中,正在使用 XI 消息协议处理同步接口,且想要检查 XI 监控器中的调用。如果客户没有为同步接口显式激活日志记录,那么如果处理成功,同步 XI 消息不会持久保存,这意味着它们无法显示在 XI 监控器中。想要对日志记录/持久化 XI 消息的配置进行配置,并且需要为此提供附加信息。

解决方案

XI 监控器显示运行时已永久保存的 XML 消息。
以下约定用于 XML 消息:
•XI 消息:使用 XI 协议处理的 XML 消息
•WS 消息:使用 Web 服务 (WS) 协议处理的 XML 消息

下面描述同步和异步 XI 消息的持久性。

异步 XI 消息

服务质量为 "EO" 或 "EOIO" 的异步 XI 消息始终由 XI 运行时永久保存;无法取消激活此功能。
•入站消息版本已保存。此版本可由 XI 运行时启动。
•保存消息拆分或错误/重新启动版本后的消息版本。这些版本可以由 XI 运行时启动。
•最终消息版本(状态“已成功处理”或“已手动结束处理”)。这些版本无法由 XI 运行时启动。
◦=> 这些 XI 消息版本在许多描述中称为“生产消息版本”
◦=> 消息处理只能从生产消息版本开始,最终消息版本除外。

XI 消息由各个管道服务中的运行时处理。在每个管道服务之后,可以将结果永久保存为日志版本。标准情况下,会取消激活这些日志版本的持久化,因为这需要占用数据库中的大量内存。可以使用以下参数为异步 XI 消息激活全局日志记录(所有管道服务的日志记录):

事务 SXMB_ADMIN ->“配置”->“配置集成引擎”->“配置”
类别               "RUNTIME"
参数               "LOGGING"
子参数        " "
值                         "1"
如果未设置该参数,则 XI 运行时使用标准 "0"。
如果只想永久保存单个管道服务(例如,对于映射服务)的结果,可以针对每个管道服务进行定义。如果为异步 XI 消息取消激活全局日志记录,可以针对单个管道服务将其激活,如下所示:

事务 SXMB_ADMIN ->“配置”->“配置集成引擎”->“配置”
类别               "RUNTIME"
参数                "LOGGING"
子参数        <PIPELINE-SERVICE> 
值                        "1"◦=> 可以使用输入帮助来确定子参数 <PIPELINE-SERVICE> 的可能值
◦=> 可以为不同管道服务设置多个条目。
◦=> 如果为异步消息激活全局日志记录,则不能使用此参数针对单个管道服务将其取消激活。
◦=> 无法在接口特定基础上配置此参数。

同步 XI 消息

如果处理成功,标准系统中的 XI 运行时不会持久保存服务质量为 "BE" 的同步 XI 消息。同步 XI 消息处理会监督从请求和响应部分开始的每个跳跃。如果发生错误,会永久保存请求部分的最终消息版本,可能还有响应部分,以记录错误。
可以使用以下参数取消激活同步 XI 消息的日志记录:

事务 SXMB_ADMIN ->“配置”->“配置集成引擎”->“配置”
类别               "RUNTIME"
参数               "SYNC_ERROR_LOG"
子参数        " "
值                        "NO"
如果未设置参数,则 XI 运行时使用标准 "FULL"
如果同步 XI 消息的有效负载包含不得存储的安全相关数据,则可以使用以下设置进行配置:

事务 SXMB_ADMIN ->“配置”->“配置集成引擎”->“配置”
类别               "RUNTIME"
参数             "SYNC_ERROR_LOG"
子参数        " "
值                        "HEADERS"
如果未设置参数,则 XI 运行时使用标准 "FULL"。◦=> 无法在接口特定基础上配置此参数。

可以使用以下参数为同步 XI 消息(无论消息状态如何)激活全局日志记录(所有管道服务的日志记录):

事务 SXMB_ADMIN ->“配置”>“配置集成引擎”->“配置”
类别               "RUNTIME"
参数               "LOGGING_SYNC"
子参数        " "
值                        "1"
如果未设置该参数,则 XI 运行时使用标准 "0"。◦=> 同步 XI 消息没有任何生产消息版本;这意味着它们无法再启动。
◦=> 无法在接口特定基础上配置此参数。
◦=> 处理所有管道服务之后,XI 消息会收到最终成功状态或错误状态。
◦=> 较长时间未完全处理之后,显示在监控器中的 XI 消息具有日志状态。

出现这种情况的可能原因包括:
1. 发送方中断连接。这会立即结束正在运行的工作进程,应用程序没有机会写入错误状态。2. 处理导致运行时错误。这会立即结束正在运行的工作进程,应用程序没有机会写入错误状态。3. 工作进程由系统管理员手动终止。4. 应用服务器意外关闭。5. ...◦=> 如果此消息的保留期已过期,则会自动重组带有日志状态的 XI 消息。
◦=> 无法再启动具有错误状态和日志状态的同步 XI 消息。
◦=> 同步 XI 消息的全局日志记录需要大量的数据库空间;建议取消激活此功能。

如果只想在日志版本中记录单个管道服务(例如,对于映射服务)的结果,可以针对每个管道服务进行定义。如果为同步消息取消激活全局日志记录,可以针对单个管道服务将其激活,如下所示:

事务 SXMB_ADMIN ->“配置”->“配置集成引擎”->“配置”
类别               "RUNTIME"
参数             "LOGGING_SYNC"
子参数       <PIPELINE-SERVICE>
值                        "1"
如果未设置该参数,则 XI 运行时使用标准 "0"。◦=> 可以使用输入帮助来确定子参数 <PIPELINE-SERVICE> 的可能值。
◦=> 可以为不同管道服务设置多个条目。
◦=> 如果为同步消息激活全局日志记录,则不能使用此参数针对单个管道服务将其取消激活。
◦=> 无法在接口特定基础上配置此参数。

跨客户端监控

在事务 SXI_MONITOR 或 SXMB_MONI 中,希望使用当前用户在 XI 监控器中显示跨客户端 XI 消息。
用户需要以下权限:
权限对象     "S_XMB_ADM"权限字段         "SXMBADM"要检查的值        "X"
对由 Web 服务 (WS) 运行时处理的 WS 消息的注释

WS 消息由 WS 运行时记录或永久保存;这不能使用 ABAP XI 配置进行配置。

在版本 7.00 到版本 7.40 SP1 中,XI 监控器(事务 SXMB_MONI 和 SXI_MONITOR)显示 XI 消息和 WS 消息。事务 SRT_MONI 仅显示 WS 消息。

在 7.40 SP2 和更高版本中,WS 消息仅显示在事务 SRT_MONI 中:
•XI 消息 => 事务 SXMB_MONI 或 SXI_MONITOR
•WS 消息 => 事务 SRT_MONI

对使用 ABAP IDoc 适配器处理的 IDoc 消息的注释:

中央集成服务器上的 ABAP IDoc 适配器为收件箱中的 IDoc 生成异步 XI 消息,并从发件箱中的异步 XI 消息生成 IDoc。

对于异步 XI 消息,IDoc 控制记录和 XI 消息之间的关系始终保持不变。无法取消激活此功能,因为进一步处理仍需要技术信息。

IDoc 控制记录和 XI 消息之间的关系显示在 IDoc 监控器(事务 IDX5)中。

相关文章:

  • L2TP客户端之Strongswan移植(三)
  • matplotlib入门之抛砖引玉
  • java-php-python-springboot携手助学助学交流平台计算机毕业设计
  • Android wifi sniffer log总结分析
  • 山东大学数字图像处理实验(二)
  • linux多个jdk时,java -version显示的版本有错误
  • 【论文笔记】An Image Patch is a Wave: Phase-Aware Vision MLP
  • 【前端升全栈】 五分钟了解Node.js
  • 部署若依springboot-vue前后端分离项目(Nginx反向代理 2022)
  • Kafka 优化问题
  • 【opencv-c++】windows10系统VisualStudio2022配置opencv_contrib-4.6.0
  • windows安装动力学仿真软件Frost并计算cassie机器人运动学和动力学
  • 使用 SolidJS 和 TypeScript 构建任务跟踪器
  • 【C++】list的模拟实现
  • 【Kotlin基础系列】第4章 类型
  • [译] 怎样写一个基础的编译器
  • emacs初体验
  • HTTP那些事
  • JavaScript设计模式系列一:工厂模式
  • java正则表式的使用
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • nodejs实现webservice问题总结
  • oschina
  • spring cloud gateway 源码解析(4)跨域问题处理
  • win10下安装mysql5.7
  • 基于遗传算法的优化问题求解
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 阿里云ACE认证学习知识点梳理
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 如何正确理解,内页权重高于首页?
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #vue3 实现前端下载excel文件模板功能
  • (7)STL算法之交换赋值
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二)丶RabbitMQ的六大核心
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • *1 计算机基础和操作系统基础及几大协议
  • .mysql secret在哪_MySQL如何使用索引
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 表达式计算:Expression Evaluator
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .NET委托:一个关于C#的睡前故事
  • .NET下ASPX编程的几个小问题
  • .net项目IIS、VS 附加进程调试