将 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 来自
RFCDES
和 RFCTYPE = IF_DEST_ROOT~CO_TYPE_HTTP_EXT
的目的地名称
- 使用
RFC_READ_HTTP_DESTINATION
解析每个目的地的设置
- 将这些值与给定的 URL 进行比较 - 您将不得不从任一侧剥离一些部分,因此无论如何都必须是自定义代码。
在 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 来自
RFCDES
和RFCTYPE = IF_DEST_ROOT~CO_TYPE_HTTP_EXT
的目的地名称
- 使用
RFC_READ_HTTP_DESTINATION
解析每个目的地的设置
- 将这些值与给定的 URL 进行比较 - 您将不得不从任一侧剥离一些部分,因此无论如何都必须是自定义代码。