首页 > 其他分享 >SAP发布HTTP接口

SAP发布HTTP接口

时间:2022-12-21 09:34:43浏览次数:56  
标签:HTTP marc ty 接口 server lv json SAP TYPE

1、创建类

 引用标准接口

改写集成的接口方法

 此处仅实现POST方法,将传入的JSON报文转为函数传入参数,调用获取物料接口,并将返回的物料信息,转换为JSON报文返回

  METHOD if_http_extension~handle_request.

    DATA:lv_method   TYPE string,
         lv_req_json TYPE string,
         lv_res_json TYPE string.
    lv_method = server->request->get_header_field( '~request_method' ).
*    lv_path = server->request->get_header_field( '~request_uri' ).

    IF lv_method <> 'POST'.
      server->response->set_header_field( name = 'Content-Type'  value = 'text/html' ).
      server->response->set_cdata( '请使用POST方法' ).
      server->response->set_status( code   = 200
                                    reason = '' ).
      RETURN.
    ENDIF.

    TYPES:BEGIN OF ty_input,
            i_matnr TYPE marc-matnr,
          END OF  ty_input.

    DATA:ls_input TYPE ty_input,
         lt_marc  TYPE TABLE OF ymms_marc.
    TYPES:BEGIN OF ty_output,
            t_marc LIKE lt_marc,
          END OF ty_output.

    DATA:ls_output TYPE ty_output.

    lv_req_json = server->request->get_cdata( ).
    /ui2/cl_json=>deserialize( EXPORTING json = lv_req_json
                                      pretty_name = /ui2/cl_json=>pretty_mode-camel_case
                            CHANGING data = ls_input ).

    CALL FUNCTION 'YLCCTEST01_GETMATNR'
      EXPORTING
        i_matnr = ls_input-i_matnr
      TABLES
        t_marc  = lt_marc.

    ls_output-t_marc = lt_marc.

    lv_res_json = /ui2/cl_json=>serialize( data = ls_output )."pretty_name = /ui2/cl_json=>pretty_mode-low_case ).

    server->response->set_status( code   = 200 reason = 'successfully' ).        "
    server->response->set_header_field( name = 'Content-Type'  value = 'application/json' ).
    server->response->set_cdata( lv_res_json  ).
  ENDMETHOD.

2、创建WEB服务

事务代码SICF,创建新节点

 处理器清单中填上类名称

 3、激活并测试服务

 

 

 

 

 

 

 

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
  TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back     此页面的语言为英语   翻译为中文(简体)        
  • 中文(简体)
  • 中文(繁体)
  • 丹麦语
  • 乌克兰语
  • 乌尔都语
  • 亚美尼亚语
  • 俄语
  • 保加利亚语
  • 克罗地亚语
  • 冰岛语
  • 加泰罗尼亚语
  • 匈牙利语
  • 卡纳达语
  • 印地语
  • 印尼语
  • 古吉拉特语
  • 哈萨克语
  • 土耳其语
  • 威尔士语
  • 孟加拉语
  • 尼泊尔语
  • 布尔语(南非荷兰语)
  • 希伯来语
  • 希腊语
  • 库尔德语
  • 德语
  • 意大利语
  • 拉脱维亚语
  • 挪威语
  • 捷克语
  • 斯洛伐克语
  • 斯洛文尼亚语
  • 旁遮普语
  • 日语
  • 普什图语
  • 毛利语
  • 法语
  • 波兰语
  • 波斯语
  • 泰卢固语
  • 泰米尔语
  • 泰语
  • 海地克里奥尔语
  • 爱沙尼亚语
  • 瑞典语
  • 立陶宛语
  • 缅甸语
  • 罗马尼亚语
  • 老挝语
  • 芬兰语
  • 英语
  • 荷兰语
  • 萨摩亚语
  • 葡萄牙语
  • 西班牙语
  • 越南语
  • 阿塞拜疆语
  • 阿姆哈拉语
  • 阿尔巴尼亚语
  • 阿拉伯语
  • 韩语
  • 马尔加什语
  • 马拉地语
  • 马拉雅拉姆语
  • 马来语
  • 马耳他语
  • 高棉语
 

标签:HTTP,marc,ty,接口,server,lv,json,SAP,TYPE
From: https://www.cnblogs.com/BinGeneral/p/16995520.html

相关文章

  • 基于.NetCore开发博客项目 StarBlog - (24) 统一接口数据返回格式
    前言开发接口,是给客户端(Web前端、App)用的,前面说的RESTFul,是接口的规范,有了统一的接口风格,客户端开发人员在访问后端功能的时候能更快找到需要的接口,能写出可维护性更高的......
  • 在nodejs中体验http/2
    前言2015年,HTTP/2发布,直到2021年公司的项目才开始在实践中应用;自己对http2诸多特点的理解只存在于字面上,于是尝试在nodejs中实践一下,加深自己的理解。多路复用同域名下......
  • RS232接口电路
    1. DB9串口引脚定义        2. RS232简介    (1)逻辑0:+3~+15V        逻辑1: -3~-15V    (2)传输速率<1M,传输距离......
  • HttpClient Timeout waiting for connection from pool 问题解决方案
    错误:org.apache.http.conn.ConnectionPoolTimeoutException:Timeoutwaitingforconnectionfrompool前言:第一次看到这个错误,上网找了下,有文章说是连接池不够了。。。......
  • Flask - Flask中的HTTP方法和URL组成部分
    一、前言参考:http://www.imooc.com/wiki/flasklesson/flaskhttp.html上篇我们创建了第一个Flask程序,并且在浏览器中成功看到了Flask程序给我们返回的HelloWorld。......
  • RS485接口电路
    1. RS485简介 (1)差分传输,半双工通信(2)传输速率最高可达10M,传输距离最远能到1000米。(RS232传输速率<1M,通信距离<15米)(3)发送端A、B之间的电压差:H:+2~+6V,L:-2~-6V(4)接收端A......
  • java中的接口
    本文主要讲述java的接口,以其相关细节。老韩接口的介绍:老韩接口的细节:老韩继承类vs接口实现老韩接口的多态性 1)接口的多态性示意图,如下图所......
  • ajax的statusText在http1.1和http2中的不同
    问题在服务端支持协议从http1.1升级到http2的时候,项目中正常的请求流程出现了错误,经排查是ajax封装代码使用xmlHttpRequest的statusText属性判断是否正常返回,进而导致错误......
  • linux LO接口
    1、什么是LO接口?在LINUX系统中,除了网络接口eth0,还可以有别的接口,比如lo(本地环路接口)。环回地址lo是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址)。本......
  • 接口流量突增,如何做好性能调优?
    大家好,我是树哥!对于提供接口服务的应用来说,很多都是用SpringBoot默认的Servlet容器Tomcat。在一开始上线的时候,由于大多数流量较小,我们也并不会为Tomcat做专门的参数......