从ABAP服务器使用基于REST的API

2020-09-16 16:24发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我需要A...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我需要ABAP方面的外部基于REST的API服务。

我的有效载荷或标头数据的内容将为Base64string。 (文件内容将转换为base64字符串。)

我需要使用cl_http_client => create_by_url,然后使用REST客户端实例,如下所示:

数据:
     l_url TYPE字符串,
     lo_http_client类型参考if_http_client,
     lo_rest_client类型参考cl_rest_http_client,

 l_url ='https://......'。

 呼叫方法cl_http_client => create_by_url
     出口
        网址= l_url
     输入
        客户端= lo_http_client
      例外情况
         arguments_not_found = 1
         plugin_not_active = 2
         internal_error = 3
         其他= 4。

 创建对象lo_rest_client
     出口
         io_http_client = lo_http_client。

 lo_http_client-> request-> set_version(if_http_request => co_protocol_version_1_0)。

//转换为JSON。  JSON数据将只有一个带有base64字符串的字段。
 创建对象lo_json_serializer
     出口
         数据= lwa_json_req(工作区)。
 lo_json_serializer-> serialize()。
 l_body = lo_json_serializer-> get_data()。

 lo_request = lo_rest_client-> if_rest_client〜create_request_entity()。
 lo_request-> set_content_type(iv_media_type = if_rest_media_type => gc_appl_json)。
 lo_request-> set_string_data(l_body)。
 lo_rest_client-> if_rest_resource〜post(lo_request)。
 lo_response = lo_rest_client-> if_rest_client〜get_response_entity()。
 

但是上面的代码不起作用。 谁能让我知道如何实现这一目标。