ABAP调用启信宝API"/>
ABAP调用启信宝API
方法参数定义如下
源代码如下
method qxb_http_get.data:lv_url type string."===============初始化==============================================="获取http实例cl_http_client=>create_by_destination(exportingdestination = spaceimportingclient = data(lo_client))."设置请求方法为Get(也可通过post实现)lo_client->request->set_method( if_http_request=>co_request_method_get )."设置get方法query stringlv_url = method."=====================查询条件======================================="从SO10文本对象获取维护好的密钥,也可以直接写死data(lv_appkey) = zcl_common_fm=>read_so10(iv_name = conv tdobname( space ))."appkey访问密钥lo_client->append_field_url(exportingname = conv string( 'appkey')value = lv_appkeychangingurl = lv_url)."特定查询条件loop at filter_tab into data(ls_filter).lo_client->append_field_url(exportingname = ls_filter-namevalue = ls_filter-valuechangingurl = lv_url).endloop.cl_http_utility=>set_request_uri(exportingrequest = lo_client->requesturi = lv_url " URI String (in the Form of /path?query-string))."设置请求抬头信息lo_client->request->set_version( if_http_request=>co_protocol_version_1_1 )."=================发送请求并接受响应============================lo_client->send( ).lo_client->receive( ).lo_client->response->get_status(importingcode = data(lv_response_code)reason = data(lv_response_reson)).code = conv char3( lv_response_code ).if lv_response_code ne 200.RAISE api_error.return.endif.data(lv_response_data) = lo_client->response->get_data( ).lo_client->close( )."================处理返回结果============================data(lv_json_string) = cl_abap_codepage=>convert_from( lv_response_data ).result = lv_json_string.endmethod.
更多推荐
ABAP调用启信宝API
发布评论