• SAP调用RestfulApi接口接收数据


    因为准备要做一个关于调用外部接口的需求,所以自己先练习一下。

    程序说明:我已经在.net开发的系统里提供一个api接口,现在在sap访问这个接口,来接收数据。

    这里涉及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方法发送数据到外部接口的例子。  

    作者:明光烁亮
    出处:http://www.cnblogs.com/hezhongxun/
    微信号:HEme922 欢迎加好友一起交流SAP!
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    自动化测试用例设计实例
    day07 python2与python3 编码
    day06-2 数据结构
    遇到一个关于C#调用Microsoft.Office.Interop.Word实例化的一个问题
    关于C#调用matlab生成的dll的一些经验(亲测)
    javascript 检测浏览类型和版本
    图片自适应完美兼容IE8
    Java VS .NET:Java与.NET的特点对比
    【C#点滴记录】ASP.NET 使用C# 导出Word 和Excel
    关于现在IT行业从业者一些建议
  • 原文地址:https://www.cnblogs.com/hezhongxun/p/10736964.html
Copyright © 2020-2023  润新知