在 SAP 中创建目标以向 HTTPS 安全 API 发出请求

举报
雨绸缪 发表于 2023/10/30 16:15:29 2023/10/30
【摘要】 当您只是插入 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( ),步骤如下:

  1. 创建目标连接
  2. 添加 SSL 证书
  3. 测试连接

创建目标连接

转到交易 SM59,点击创建,创建目标弹出窗口:

  • 目标:定义目标的名称(可以是您想要的任何名称)

  • 连接类型:G — 与外部服务器的 HTTP 连接

  • 点击继续

RFC 目标屏幕 — “技术设置”选项卡:

  • 说明 1:添加目标的简短说明
  • 主机:这是 API 的域。例: switchedon.bowdark.com
  • 端口:默认使用 443 ,除非有人另有指定
  • 路径前缀:这是可选的。但是,如果 API 的特定路径没有更改,您可以在此处输入

RFC 目标屏幕 — 登录&安全选项卡:

  • SSL: Active SSL:活动
  • SSL证书:匿名SSL客户端(匿名)

此时,如果单击“连接测试”按钮,测试应该会失败,因为我们尚未向系统提供有关 SSL 证书的详细信息。

image.png

添加 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。