原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)
一
前言
PO(/PI)是SAP公司的一个中间件产品,用来辅助连接SAP系统与外围系统. (当然外围系统之间也可以使用PO).
一般情况下,通过PO的消息监控器可以找到消息是否成功, 以及消息失败的具体错误信息,但是某些错误信息可能不足以分析错误的具体原因.
因此SAP发布了一个组件 XPI_INSPECTOR 用于跟踪PO的处理过程,并记录详细日志信息,以便分析PO消息处理过程中的报错信息.
**本文主要介绍怎么使用XPI_INSPECTOR跟踪PO的消息的详细报错信息**
本文截图使用的例子是跟踪PO 调用外部系统的https服务时的证书报错.
二
常规PO报错
PO消息执行失败时, 可以通过消息监控器发现失败的消息及错误日志.大部分情况下,通过错误日志描述可以分析出报错的原因,进而解决问题.
三
PO访问外部https系统
> 详见链接 无峰,公众号:ABAP 技巧与实战 [ PO系列之 使用证书调用https地址
> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247486649&idx=1&sn=12d7a70a0844cc6414b09518f7f1b2b2&chksm=cf5dd18ff82a589991f4e06e645fc99e20de50f17ec17fec3d433028dfe6c8f86e25bc89e3f0&token=601926607&lang=zh_CN#rd)
四
使用XPI_INSPECTOR
一些特殊的消息错误,消息监控器中的报错不足以分析出报错的具体原因时,可以考虑使用XPI_INSPECTOR获取更详细的跟踪记录,以便分析报错的原因
NOTES: 1514898 - XPI Inspector for troubleshooting SAP Process Orchestration /
Integration
中给出了XPI 的安装及使用方式
五
XPI_INSPECTOR 安装
从NOTES: 1514898 附件下载安装包, 按照以下三种方式完成安装.
• Deploy View Plug-in from SAP NWDS.
• Telnet command: deploy <xpi_inspector_ear.ear file path> version_rule=all
• SUM tool
具体的安装过程, 因为未执行过. 所以无法详细展开介绍, 只能显示以下NOTES中提到的安装方式.
六
XPI_INSPECTOR使用
NOTES中有一个 pdf文件(how-to-inspect.pdf).里面提到了几种不同的使用方式. 本文示例是监控通道调用https报错的信息.
_**01** _
**浏览器输入地址**
http(s)://域名或IP :端口 /xpi_inspector
http://xxxx.xx.xxx:50000/xpi_inspector
需要用administrator账号登录执行,否则可能会报授权错误
_**02** _
**执行界面**
_**03** _
**允许跟踪的对象**
XPI_INSPECTOR 可以跟踪下图中提到的对象或过程.
本文选择 50 XI CHANNEL.执行前,先选择一个对象或过程
_**04** _
**清空过滤条件**
先清空原有的选择,点击remove all 清空选择
_**05** _
**确定跟踪对象**
输入要跟踪的通道,点击search
勾选,添加
_**06** _
**选择跟踪的内容**
进一步的选择要跟踪的具体内容, 可以多选, 但是尽量减少勾选项,以便能获取更精确的日志信息
_**07** _
**点击开始**
点击开始,进入跟踪过程
_**08** _
**执行接口操作**
可以找到报错的消息,执行消息的重处理并找到消息日志的报错信息
_**09** _
**停止跟踪,查看日志**
在 xpi_inspector中点击stop
查看日志
**_10_ **
**日志内容**
如下图, 系统轮询了 TrustedCAs 中的所有证书,没有找到合适使用的. 所以使用了一个虚拟证书去验证,然后报错.
**_11_ **
**日志内容下载**
可以通过下图的链接 ,下载日志文件到本地. 以便后续查看. 日志文件是 .zip 文件 . 使用时需要解压后查看里面的html文件.
七
总结
XPI INSPECTOR 是SAP提供的一个跟踪PO执行过程并记录详细日志的一个工具. 执行过程有点类似与ECC/S4中的事务代码ST05
• 先启动跟踪
• 执行报错的内容
• 停止跟踪
• 显示跟踪结果
通过这个工具可以了解一些PO的底层处理逻辑.
1\. 从执行的视图获取private key ,如果通道指定了证书认证信息(如图一).
2\. 如果通道没有指定证书认证信息. (如图二) 则使用轮询查找 TrustedCAs中的证书执行https认证.
图一
图二
** THE **
** END **
**约定**
如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.
( **如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程.
越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.** )
**公众号 : syjf1976_abap**
**ABAP开发技巧**
**微信号 : 392077**
syjf1976
sharry_xlp
Yannick_Duan
申请进入公众号讨论群提问或者参与话题讨论