码迷,mamicode.com
首页 > Web开发 > 详细

如何使用事务码SMICM分析ABAP代码发起的HTTP请求的错误ICM_HTTP_SSL_PEER_CERT_UNTRUSTED

时间:2018-11-04 19:20:57      阅读:807      评论:0      收藏:0      [点我收藏+]

标签:evel   sys   res   技术分享   这一   http   一个   display   详细   

当我用CL_HTTP_CLIENT往一个外网的url发请求时,遇到错误:ICM_HTTP_SSL_PEER_CERT_UNTRUSTED

错误是从这段ABAP代码里抛出来的:

CALL METHOD lo_http_client->get_last_error
IMPORTING
code    = lv_sysubrc
message = ev_error_message.
"BREAK-POINT.
WRITE: / ‘error: ‘ , ev_error_message.

技术分享图片

只有这一个错误,或许您觉得很难找到问题根源。
技术分享图片

下面是用事务码SMICM找出问题根源。Goto->Trace Level->Set设置跟踪级别:
技术分享图片

设置成最高的3级:
技术分享图片

然后点Trace File->Reset, 把到目前为止生成的跟踪文件清空,这样再重现HTTP错误之后生成的日志文件尺寸较小,便于分析:
技术分享图片

重新执行引起HTTP错误的ABAP程序,然后回到事务码SMICM, 选择Trace File->Display All:
技术分享图片

然后把显示出来的trace文件保存到本地,就可以开始分析了。
技术分享图片

查看日志文件,很快就在里面发现了问题根源,因为Netweaver服务器上缺少c4c.saphybriscloud.cn对应的SSL证书。

Verification result header:
[Thr 140133716416256] Verification errors
[Thr 140133716416256] The chain of certificates is incomplete or untrusted, missing certificate of
[Thr 140133716416256] CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US
[Thr 140133716416256] Verified certificate:
[Thr 140133716416256] Subject: CN=*.c4c.saphybriscloud.cn, OU=SAP Cloud Managed Services, O=SAP, L=Walldorf, SP=Baden-Wuerttemberg, C=DE
[Thr 140133716416256] Issuer: CN=DigiCert SHA2 Secure Server CA, O=DigiCert Inc, C=US

在浏览器里打开c4c.saphybriscloud.cn,把certificate导出,再用事务码STRUST导入到Netweaver服务器即可解决这个问题。Jerry会另外写一篇文章介绍证书导入的详细步骤。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

技术分享图片

如何使用事务码SMICM分析ABAP代码发起的HTTP请求的错误ICM_HTTP_SSL_PEER_CERT_UNTRUSTED

标签:evel   sys   res   技术分享   这一   http   一个   display   详细   

原文地址:https://www.cnblogs.com/sap-jerry/p/9904527.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!