ABAP http接口直连

该文详细阐述了如何在SAP环境中构造和发送HTTP请求。首先对包含中文的URL进行ASCII转码,然后创建HTTP客户端并设置URL,可选地配置代理。接着,根据接口要求设置请求参数,包括方法类型(POST或GET)、头部信息和表单数据。最后,发送和接收HTTP响应,处理可能的异常情况,并获取响应数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DATA lv_url TYPE string.
DATA lc_http_client TYPE REF TO if_http_client.

*1、安装规则拼接url
lv_url = '深圳'."如果url中有中文需要做需要做ASCII转码
CALL METHOD cl_http_utility=>escape_url
  EXPORTING
    unescaped = lv_url
  RECEIVING
    escaped   = lv_url.
lv_url = 'http://apis.juhe.cn/simpleWeather/query?city='
          && lv_url && '&key=网上申请的key'.

*2、创建客户端请求
CALL METHOD cl_http_client=>create_by_url
  EXPORTING
    url                = lv_url
  *  proxy_host         = 'proxy'"有的系统需要用代理
  *  proxy_service      = '0000'
  IMPORTING
    client             = lc_http_client
  EXCEPTIONS
    argument_not_found = 1
    plugin_not_active  = 2
    internal_error     = 3
    OTHERS             = 4.
IF sy-subrc NE 0.
*失败
ENDIF.

*3、按照对方的接口规则,设置传输参数
*"POST OR GET
*CALL METHOD lc_http_client->request->set_method( 'POST' ).
*"head
*CALL METHOD lc_http_client->request->set_header_field
*  EXPORTING
*    name  = 'Content-Type'
*    value = 'form-data'.
*"body
*CALL METHOD lc_http_client->request->set_form_field
*  EXPORTING
*    name  = 'version'
*    value = '2.0'.

*4、发送和接受
CALL METHOD lc_http_client->send
  EXCEPTIONS
    http_communication_failure = 1
    http_invalid_state         = 2
    http_processing_failed     = 3
    http_invalid_timeout       = 4
    OTHERS                     = 5.
IF sy-subrc NE 0.
*失败
ENDIF.

CALL METHOD lc_http_client->receive
  EXCEPTIONS
    http_communication_failure = 1
    http_invalid_state         = 2
    http_processing_failed     = 3
    OTHERS                     = 4.
IF sy-subrc NE 0.
*失败
ENDIF.
DATA l_result_string TYPE string.
l_result_string = lc_http_client->response->get_cdata( ).

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值