说明:这里没有使用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验证的更多相关文章

  1. ArcGIS发布动态空间,并验证

    发布 发布方法见视频. 验证 发布动态空间后,页面底部有 点进去后,使用如下语法验证. {"id": 0,"source": {"type" ...

  2. Taurus.MVC 2.3 开源发布:增强属性Require验证功能,自带WebAPI文档生成功能

    背景: 上周,把 Taurus.MVC 在 Linux (CentOS7) 上部署任务完成后. 也不知怎么的,忽然就想给框架集成一下WebAPI文档功能,所以就动手了. 以为一天能搞完,结果,好几天过 ...

  3. Git + Jenkins 自动化 NGINX 发布简易实现

    概述 之前基于 GitLab + Jenkins 实现了简单的 NGINX 的自动化发布. 具体包含如下的组件: GitLab 包括 GItLab 的 WebHook: Jenkins 及其插件: G ...

  4. Python结合SAP GUI Script操作sap的简易教程

    众所周知,如果要用Python做一些桌面WIN32应用的自动化工作,就需要用到著名的pywin32尤其是其中的win32com.client模块,pywin32的安装不能直接通过pip install ...

  5. SAP发布REST/HTTP接口

    1.SE24新建类:ZCL_REST_QUERY 激活,然后添加interface:IF_HTTP_EXTENSION并激活. 2.实现IF_HTTP_EXTENSION~HANDLE_REQUEST ...

  6. 2019年6月SAP发布的未来ABAP平台的发展方向

    未来ABAP平台将始终是这些产品的技术平台: S/4HANA On-Premises和Cloud将基于一个统一的ABAP codeline: SAP云平台上的ABAP编程环境: 什么是SAP Clou ...

  7. CentOS7+Python3.6利用web.py库进行微信公众平台服务器简易配置,token验证

    1.安装配置Python CentOS7 自带 Python2.7, 我用的是Python3.6.5,需要CentOS7安装配置Python3并和Python2共存的,请看以下教程: CentOS7安 ...

  8. SAP发布wbservice,如果有权限管控的话,需要给这个webservice加权限

    1. PFCG床架角色 2.在角色菜单上,添加其他,选中Authorization Default Values for Services 如下图 3.选中发布的webservice 后保存,如下图: ...

  9. WPF导出发布安装包,无法验证发行者解决办法

    右击工程项目点发布->完成 此时在工程目录下生成了安装文件setup.exe 同时又在工程下生成了临时证书WpfApp1_TemporaryKey.pfx 如果此时强行安装会弹出如下警告 接下来 ...

  10. SAP ABAP 验证与替代

    1.校验与替代的作用 校验(Validation):在凭证保存前根据设置条件判断此凭证是否有效,其中可以按抬头.行项目或完全凭证来判断,然后再根据Validation设置的消息类型决定凭证是否允许保存 ...

随机推荐

  1. NumPy学习10

    今天学习了3节: 18, NumPy副本和视图 19, NumPy字节交换 20, NumPy Matrix矩阵库 numpy_test10.py : import numpy as np ''' 1 ...

  2. VMware ESXi系统

    esxi全称"VMware ESXi",是可直接安装在物理服务器上的强大的裸机管理系统,是一款虚拟软件,不需安装其他操作系统,是VMware服务器虚拟化的基础.通过直接访问并控制底 ...

  3. [Winform]在Form里显示模态对话框ModalDialog

    问题 如何在WinForm的一个Form里面弹出一个模态Dialog? 背景 程序的框架是Winform,只有一个窗口MainForm.MainForm里面是一个TabControl,每个TabPag ...

  4. Zotero 附件云同步(非 WebDAV 方法)

    1.说明 适用范围更广,但是操作步骤较复杂. 使用 zotero 仅同步题录信息,使用其他云同步程序同步文献的附件,此处以坚果云为例进行演示. 准备: zotero 和 坚果云 注册账号 zotero ...

  5. 智能驾驶致死、AI聊天自杀,安全成最大的奢侈

    提供AI咨询+AI项目陪跑服务,有需要回复1 前几天<高层论坛:实现汽车产业高质量发展>才刚召开,因为汽车行业卷得不行,现在大家都想在智能驾驶上发力,其中有句话令我影响深刻: 对智能驾驶来 ...

  6. 详细介绍FutureTask类

    一.详细介绍FutureTask类 FutureTask 未来将要执行的任务对象,继承 Runnable.Future 接口,用于包装 Callable 对象,实现任务的提交 public stati ...

  7. 看过源码吗?说下 Spring 由哪些重要的模块组成?

    是的,Spring源码可以深入分析,Spring框架是一个庞大的生态系统,包含多个模块,每个模块都为不同的功能提供支持.以下是Spring的主要模块及其职责: 1. Core Container(核心 ...

  8. 2025dsfz集训Day12: 斜率优化DP

    Day12:斜率优化DP 一次函数与斜率 斜率:表示一个直线倾斜程度.定义为和正方向水平轴的夹角的正切值. 经过两个点 \((x1, y1)\) 和 \((x2, y2)\) 的直线的斜率为 \(\f ...

  9. 在Python后端项目FastApi中使用MongoDB进行数据处理

    我在前面随笔<在SqlSugar的开发框架中增加对低代码EAV模型(实体-属性-值)的WebAPI实现支持>中介绍了对于EAV数据存储的时候,我们把变化字段的数据记录存储在MongoDB数 ...

  10. C#基础——不可变集合

    参照:https://mp.weixin.qq.com/s/NFBc2bNeHpdadh89T44Lpg 在 .NET Core 中就存在着这三大 IReadOnlyList,IReadOnlyDic ...