REPORT ZMJ_GETAPI.

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,

      GV_JSON_IN TYPE STRING VALUE '{"IT_INPUT":[{"CUSTOMER":"12345678","PERNR":"00190935"}]}'.

START-OF-SELECTION.

  URL = 'http://10.*.*.*:8001/api_sapnew/ZIF_DATA'.

  "'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_CLIENT->REQUEST->SET_CONTENT_TYPE( CONTENT_TYPE = 'application/json; charset=utf-8' ).

  "设置http method 为Get

  HTTP_CLIENT->REQUEST->SET_METHOD( IF_HTTP_REQUEST=>CO_REQUEST_METHOD_POST ).

  "IF_HTTP_ENTITY~CO_REQUEST_METHOD_GET

  "设置待传输内容长度

  LEN = STRLEN( GV_JSON_IN ).

  "设置调用方法

  CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD

    EXPORTING

      NAME  = '~request_method'

      VALUE = 'POST'.

  "设置传入字符串

  CALL METHOD HTTP_CLIENT->REQUEST->SET_CDATA

    EXPORTING

      DATA   = GV_JSON_IN

      OFFSET = 0

      LENGTH = LEN.

  "发送

  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( ).

  "将字符串中的回车符替换,否则abap将会识别为#

  REPLACE ALL OCCURRENCES OF REGEX '\n' IN RESULT WITH SPACE.

  "获取接口返回的数据

*  RESULT = HTTP_CLIENT->RESPONSE->GET_CDATA( ).

  WRITE: RESULT.

sap 调用Http 服务的更多相关文章

  1. SOA 架构中的ESB是更好的应用于异构系统集成整合还是用于统一服务调用/基础服务实施

    一.讨论主题与观点 写一篇文章.发现一次自觉得有意思的SOA架构方面的讨论,源于昨天AgileEAS.NET SOA 平台群(113723486)里几个群友的一次关于ESB的一次讨论. 大家的讨论观点 ...

  2. 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】

    不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...

  3. ajax内调用WCF服务

    WCF可以当作WebService一样被调用,在html内通过ajax调用WCF服务的方法如下: 1.新建一个WCF服务的网站项目: 2.在项目内增加一个新项:启用了ajax的WCF服务: 3.在对应 ...

  4. 完全使用接口方式调用WCF 服务

    客户端调用WCF服务可以通过添加服务引用的方式添加,这种方式使用起来比较简单,适合小项目使用.服务端与服务端的耦合较深,而且添加服务引用的方式生成一大堆臃肿的文件.本例探讨一种使用接口的方式使用WCF ...

  5. 关于 C# 调用 JavaWebservice服务,版本不一致的问题

    1. A SOAP 1.2 message is not valid when sent to a SOAP 1.1 only endpoint.   问题原因: 客户端和服务端的SOAP协议版本不一 ...

  6. 实现在GET请求下调用WCF服务时传递对象(复合类型)参数

    WCF实现RESETFUL架构很容易,说白了,就是使WCF能够响应HTTP请求并返回所需的资源,如果有人不知道如何实现WCF支持HTTP请求的,可参见我之前的文章<实现jquery.ajax及原 ...

  7. 实现jquery.ajax及原生的XMLHttpRequest跨域调用WCF服务的方法

    关于ajax跨域调用WCF服务的方法很多,经过我反复的代码测试,认为如下方法是最为简便的,当然也不能说别人的方法是错误的,下面就来上代码,WCF服务定义还是延用上次的,如: namespace Wcf ...

  8. 实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法

    废话不多说,直接讲解实现步骤 一.首先我们需定义支持WEB HTTP方法调用的WCF服务契约及实现服务契约类(重点关注各attribute),代码如下: //IAddService.cs namesp ...

  9. .NET Core 调用WCF 服务

    .NET Core 和ASP.NET Core 已经可以调用WCF 服务. 环境要求: VS2015 Update 2 +VS2015 Tooling + .NET Core SDK 下载地址: ht ...

随机推荐

  1. json在前后台传递的形式

    json对象和json字符串的区别纠结了好久一阵子,经过查阅大量博客资料总结得,字符串形式它就是带单引号或者双引号的,对象就是没有被引号包括,可以直接进行调用属性.前后端间数据传递json形式应该是字 ...

  2. 从电路到UI系列之一——常见显示控制接口的认识

    引入 我之前有两方面的使用屏幕的案例.在做的模块上需要用到屏幕来显示的时候,全是SPI屏幕,并口屏幕和IIC屏幕.在研究了驱动(或者是绘图函数更加合适)之后,我发现其实他们就是直接写显存,这个显存在面 ...

  3. 整理display:none;和visibility:hidden;和overflow:hidden;的区别

    1.display:none;  这个属性隐藏元素,不占网页任何空间,彻底隐藏,消失 2.visibility:hidden;  占据空间,但是无法点击.隐藏了这个层,看不到,却能摸得着 3.over ...

  4. 接口测试框架实战(一) | Requests 与接口请求构造

    1080×388 33.4 KB Requests 是一个优雅而简单的 Python HTTP 库,其实 Python 内置了用于访问网络的资源模块,比如urllib,但是它远不如 Requests ...

  5. 攻防世界-MISC:Aesop_secret

    这是攻防世界高手进阶区的的第九题,题目如下: 点击下载附件一,得到一个压缩包,解压后得到一张GIF动图,找个网站给他分解一下,得到如下图片 不知道是什么意思,所以就跑去看WP了,用010editor打 ...

  6. XCTF练习题---WEB---weak_auth

    XCTF练习题---WEB---weak_auth flag:cyberpeace{a9aa5a05f5957a19643640028dbb6946} 解题步骤: 1.观察题目,打开场景 2.观察场景 ...

  7. vue 收集表单数据 (有错误的请各位大佬指点)

     收集表单数据:        若: <input type="text"/>, 则v-model收集 的是value值,用户输入的就是value值.        若 ...

  8. .NET混合开发解决方案6 检测是否已安装合适的WebView2运行时

    系列目录     [已更新最新开发文章,点击查看详细] 长青版WebView2运行时将作为Windows 11操作系统的一部分包含在内.但是在Windows 11之前(Win10.Win8.1.Win ...

  9. JavaScript 数据结构与算法3(链表)

    学习数据结构的 git 代码地址: https://gitee.com/zhangning187/js-data-structure-study 1.链表 本章学习如何实现和使用链表这种动态的数据结构 ...

  10. 《Java编程思想》读书笔记(二)

    三年之前就买了<Java编程思想>这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第一章到第十章的内容,这一次记录的是第 ...