SAP调用Restful Api接口接收数据
因为准备要做一个关于调用外部接口的需求,所以自己先练习一下。
程序说明:我已经在.net开发的系统里提供一个api接口,现在在sap访问这个接口,来接收数据。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。这里涉及Restful Api知识,以后再分享。
这是一个api地址:http://10.X.X.X:8081/api/test/gettest
首先根据这个url创建一个http客户端
call method cl_http_client=>create_by_url exporting url = url importing client = http_client exceptions argument_not_found = 1 plugin_not_active = 2 internal_error = 3 others = 4.
选择一个HTTP GET METHOD
http_client->request->set_method( if_http_request=>co_request_method_get ).
发送和接收数据
"发送 call method http_client->send exceptions http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3 http_invalid_timeout = 4 others = 5. "接收 call method http_client->receive exceptions http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3.
最后就可以获取接收的数据了
"获取接口返回的数据 result = http_client->response->get_cdata( ). write: result.
输出结果是这样的
跟外部系统返回的数据是一致的。
附上完整代码
data: len type i,"发送报文长度 len_string type string, url type string, "接口地址 http_client type ref to if_http_client,"http客户端 post_string type string, result type string. data: it_header type tihttpnvp. start-of-selection. url = 'http://10.X.X.X:8081/api/test/gettest'. "创建http客户端 call method cl_http_client=>create_by_url exporting url = url importing client = http_client exceptions argument_not_found = 1 plugin_not_active = 2 internal_error = 3 others = 4. "设置http method 为Get http_client->request->set_method( if_http_request=>co_request_method_get ). "发送 call method http_client->send exceptions http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3 http_invalid_timeout = 4 others = 5. "接收 call method http_client->receive exceptions http_communication_failure = 1 http_invalid_state = 2 http_processing_failed = 3. "获取接口返回的数据 result = http_client->response->get_cdata( ). write: result.
以后会继续分享用POST方法发送数据到外部接口的例子。

更多精彩