SAP 发布简易REST 一:login验证
说明:这里没有使用ODATA,只是用最基础的HTTP和JSON来处理。
这篇为第一篇,所以这里来说说验证的一些东西。
创建SE24实施类,做http接口:ZCRM_REST
激活后,添加接口类:IF_HTTP_EXTENSION
添加实现代码:
METHOD if_http_extension~handle_request.
TYPES:BEGIN OF ty_login,
username TYPE string,
password TYPE string,
END OF ty_login,
BEGIN OF ty_retu,
success TYPE string,
access_token TYPE string,
message TYPE string,
END OF ty_retu.
DATA: lo_json_ser TYPE REF TO zcl_trex_json_serializer,
lo_json_des TYPE REF TO zcl_trex_json_deserializer.
DATA: lt_fields TYPE tihttpnvp,
lv_data TYPE string,
lv_retu TYPE string,
gw_login TYPE ty_login,
gw_retu TYPE ty_retu,
lv_guid TYPE crmt_object_guid. FIELD-SYMBOLS: <fs_field> LIKE LINE OF lt_fields. *""GET HTTP MESSAGE BODY
lv_data = server->request->if_http_entity~get_cdata( ). zprocessjson=>deserialize(
EXPORTING
json = lv_data
CHANGING
data = gw_login
). "CHECK AUTH ADN SET RETURN MESSGAE
IF gw_login-username = 'andy' AND gw_login-password = '123456'.
gw_retu-success = 'true'.
CALL FUNCTION 'CRM_GUID_CREATE'
IMPORTING
ev_guid = lv_guid. gw_retu-access_token = lv_guid.
ELSE.
gw_retu-success = 'E'.
gw_retu-message = 'ERROR'.
ENDIF. lv_retu = /ui2/cl_json=>serialize(
data = gw_retu
pretty_name = 'L'
compress = abap_true ). "SET RETURN DATA
server->response->set_cdata(
EXPORTING
data = lv_retu " Character data
). ENDMETHOD.
sicf在sap目录下创建服务API



保存,激活,测试服务。

哎,尽管能取到token,但是再后续调用的过程中,header传递的token取不到。。。操。。。这就不好玩了呀。那这样REST接口只能用用户名和密码验证了。。。突然。。。索然无味
SAP 发布简易REST 一:login验证的更多相关文章
- ArcGIS发布动态空间,并验证
发布 发布方法见视频. 验证 发布动态空间后,页面底部有 点进去后,使用如下语法验证. {"id": 0,"source": {"type" ...
- Taurus.MVC 2.3 开源发布:增强属性Require验证功能,自带WebAPI文档生成功能
背景: 上周,把 Taurus.MVC 在 Linux (CentOS7) 上部署任务完成后. 也不知怎么的,忽然就想给框架集成一下WebAPI文档功能,所以就动手了. 以为一天能搞完,结果,好几天过 ...
- Git + Jenkins 自动化 NGINX 发布简易实现
概述 之前基于 GitLab + Jenkins 实现了简单的 NGINX 的自动化发布. 具体包含如下的组件: GitLab 包括 GItLab 的 WebHook: Jenkins 及其插件: G ...
- Python结合SAP GUI Script操作sap的简易教程
众所周知,如果要用Python做一些桌面WIN32应用的自动化工作,就需要用到著名的pywin32尤其是其中的win32com.client模块,pywin32的安装不能直接通过pip install ...
- SAP发布REST/HTTP接口
1.SE24新建类:ZCL_REST_QUERY 激活,然后添加interface:IF_HTTP_EXTENSION并激活. 2.实现IF_HTTP_EXTENSION~HANDLE_REQUEST ...
- 2019年6月SAP发布的未来ABAP平台的发展方向
未来ABAP平台将始终是这些产品的技术平台: S/4HANA On-Premises和Cloud将基于一个统一的ABAP codeline: SAP云平台上的ABAP编程环境: 什么是SAP Clou ...
- CentOS7+Python3.6利用web.py库进行微信公众平台服务器简易配置,token验证
1.安装配置Python CentOS7 自带 Python2.7, 我用的是Python3.6.5,需要CentOS7安装配置Python3并和Python2共存的,请看以下教程: CentOS7安 ...
- SAP发布wbservice,如果有权限管控的话,需要给这个webservice加权限
1. PFCG床架角色 2.在角色菜单上,添加其他,选中Authorization Default Values for Services 如下图 3.选中发布的webservice 后保存,如下图: ...
- WPF导出发布安装包,无法验证发行者解决办法
右击工程项目点发布->完成 此时在工程目录下生成了安装文件setup.exe 同时又在工程下生成了临时证书WpfApp1_TemporaryKey.pfx 如果此时强行安装会弹出如下警告 接下来 ...
- SAP ABAP 验证与替代
1.校验与替代的作用 校验(Validation):在凭证保存前根据设置条件判断此凭证是否有效,其中可以按抬头.行项目或完全凭证来判断,然后再根据Validation设置的消息类型决定凭证是否允许保存 ...
随机推荐
- 【Guava工具类】Strings&Ints
String相关工具 Strings Guava 提供了一系列用于字符串处理的工具: 对字符串为null或空的处理 nullToEmpty(@Nullable String string):如果非空, ...
- [每日算法 - 阿里机试] leetcode19. 删除链表的倒数第 N 个结点 「 详细图释一看就懂!」
入口 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer.https://le ...
- SQLite 下载与安装
安装 SQLite 官网 就2个文件,下载解压到一起即可 这里不是安装包的形式,下载后是下面这2个文件: 解压到同一目录下即可,如图: "安装"完成后,记得添加系统环境变量,以便命 ...
- 阿里巴巴暑期实习 Java 面经,灵犀互娱一面
哈希表熟悉吗,可以如何实现? 开散列版本什么时候需要扩容 高并发服务器内的主从reactor模型是如何实现的? 进程 线程 协程 的区别? 如何保证线程安全 ? 了解读写锁吗? 单例模式有了解吗? 可 ...
- 应用引入LLM实践
LLM最近在各行各业遍地开花,产生了很好的效果,也落地了很多好的功能应用. 无论是从实际应用角度,还是从营销角度,我们都需要接入大模型能力. 拿国内比较火的Deepseek来说,具有良好的推理能力,可 ...
- 配置springmvc的springmvc.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- Quill自定义工具栏
<div id="toolbar"> <button class="ql-bold"></button> <butto ...
- 一文带你看透什么是ResNet
目录 什么是ResNet 提出背景 梯度爆炸/梯度消失: 退化现象: 原理解析 网络结构 参考资料 什么是ResNet 首先我们来看什么是ResNet,其全称为Residual Network(残差网 ...
- Windows 身份验证协议
本文中的图文内容均取自<域渗透攻防指南>,本人仅对感兴趣的内容做了汇总及附注. 导航 0 前言 1 NTLM 协议 1.1 控制台 1.2 工作组环境 1.3 域环境 1.4 NTLM 协 ...
- CF1740C题解
众所周知,这道题的难度是 1400,所以是简单题. 分析 首先,坚信这是一道简单题,所以不要想复杂了. 首先我们需要对 aaa 数组排序,这点是肯定的,为啥应该不用我解释. 下面,我们假设 p1, ...