将 URL 字符串映射到 ABAP 中的 RFC 目标的标准方法?

Standard way to map a URL string to RFC Destination in ABAP?

在 SAP (AS ABAP 7.4) 中,我配置了一组 RFC 目标(事务 SM59),包括使用客户端证书在服务中进行身份验证的 SSL 配置。

例如,这些 RFC 目标之一转到:myserver:443 并且 myserver 需要 SSL 客户端证书身份验证。

在我的 ABAP class 中,我得到了一个任意的 URL,例如 https://myserver:443/my/ressouce.xml

我正在使用 CL_HTTP_CLIENT 来获取资源,但据我所知,没有任何方法可以初始化 HTTP 客户端使用正确的 SSL 客户端证书,除了使用 CL_HTTP_CLIENT.CREATE_BY_DESTINATION

传递适当的 RFC 目标

要实现这一点,可以手动 read/parse SAPs RFCDST table 并将给定的 URL 映射到正确的 RFC 目标。

我的问题是在 SAP 中是否有比这种手动方法更好的方法(例如标准 SAP 函数)?

唯一可行的方法似乎是:

  • "Manually" select 来自 RFCDESRFCTYPE = IF_DEST_ROOT~CO_TYPE_HTTP_EXT
  • 的目的地名称
  • 使用RFC_READ_HTTP_DESTINATION
  • 解析每个目的地的设置
  • 将这些值与给定的 URL 进行比较 - 您将不得不从任一侧剥离一些部分,因此无论如何都必须是自定义代码。