在 SAP 中创建目标以向 HTTPS 安全 API 发出请求
【摘要】 当您只是插入 API 端点的 https URL 并触发时,您可能会收到与 相关的 HTTP_COMMUNICATION_FAILURE 异常。但是,没有太多解释来理解为什么与 API 的通信失败。. . .cl_http_client=>create_by_url( EXPORTING url = lv_url IMPORTING client = http_clie...
当您只是插入 API 端点的 https URL 并触发时,您可能会收到与 相关的 HTTP_COMMUNICATION_FAILURE
异常。但是,没有太多解释来理解为什么与 API 的通信失败。
. . .
cl_http_client=>create_by_url(
EXPORTING
url = lv_url
IMPORTING
client = http_client
).
. . .
http_client->receive(
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3
others = 4
).
. . .
我们将设置一个目标连接,以便我们可以用 cl_http_client=>create_by_destination( )
来替换 cl_http_client=>create_by_url( )
,步骤如下:
- 创建目标连接
- 添加 SSL 证书
- 测试连接
创建目标连接
转到交易 SM59
,点击创建,创建目标弹出窗口:
目标:定义目标的名称(可以是您想要的任何名称)
连接类型:G — 与外部服务器的 HTTP 连接
点击继续
RFC 目标屏幕 — “技术设置”选项卡:
- 说明 1:添加目标的简短说明
- 主机:这是 API 的域。例: switchedon.bowdark.com
- 端口:默认使用
443
,除非有人另有指定 - 路径前缀:这是可选的。但是,如果 API 的特定路径没有更改,您可以在此处输入
RFC 目标屏幕 — 登录&安全选项卡:
- SSL: Active SSL:活动
- SSL证书:匿名SSL客户端(匿名)
此时,如果单击“连接测试”按钮,测试应该会失败,因为我们尚未向系统提供有关 SSL 证书的详细信息。
添加 SSL 证书
我们需要将SSL证书下载到我们的本地计算机,并将它们添加到系统中 STRUST
事务 。
下载证书:
- 打开您的网络浏览器
- 导航到您正在使用的 API 的 URL
- 点击网址开头的锁符号
- 点击连接是安全的
- 单击连接有效(将出现一个弹出窗口)
- 单击“详细信息”选项卡
- 选择第一个证书
- 点击导出证书
- 保存在您可以记住的地方
- 对证书层次结构链中的剩余证书重复导出
在 中 STRUST
将证书添加到系统:
- 转到交易代码
STRUST
- 展开文件夹“SSL 客户端 SSL 客户端(匿名)”
- 单击您的系统名称
- 在“证书”部分,点击左下角的“导入证书”按钮
- 单击添加到证书列表
- 对剩余证书重复此操作
测试连接
- 返回交易
SM59
- 打开之前创建的目标
- 点击“连接测试”按钮
您应该会看到测试成功的结果。您现在应该能够在 ABAP 代码中使用目标。
. . .
cl_http_client=>create_by_destination(
EXPORTING
destination = 'EXAMPLE_DESTINATION_NAME'
IMPORTING
client = http_client
).
. . .
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)