当前位置: 首页 > news >正文

关于 SAP ABAP CL_HTTP_CLIENT API 中的 SSL_ID 参数

ABAP HTTP API:CL_HTTP_CLIENT, create_by_url 有一个输入参数 SSL_ID, 类型为 SSFAPPLSSL, 这个参数应该传什么值进去呢?

打开事物码 STRUST, 菜单 Environment -> SSL Client Identifies:

查到一个 ID 为:ANONYM

我们看这张架构图:

上图 CL_HTTP_CLIENT 实例的创建,是通过调用以下方法之一完成的:CL_HTTP_CLIENT=>CREATE、CL_HTTP_CLIENT=>CREATE_BY_DESTINATION 或 CL_HTTP_CLIENT=>CREATE_BY_URL。

这个对象实例在这里被称为客户端控制块(类似于服务器控制块)。 发送请求的 ABAP 应用程序调用该方法。

注意第2、3、5、6、7、11、12和13点的活动也必须由ABAP应用程序触发,即调用相应的方法。 因此,ABAP 应用程序使用类 CL_HTTP_CLIENT 的组件,以便它可以生成请求数据并处理响应数据。

如果要调用方法 CL_HTTP_CLIENT=>CREATE,该方法必须有以下信息:HOST(主机名)、SERVICE(端口)、PROXY_HOST(代理计算机的主机名)、PROXY_SERVICE(代理计算机的端口)和 SCHEME(输入是使用 HTTP 还是 HTTPS;默认值 ‘SCHEMETYPE_HTTP’)。 如果您使用 SSL 协议 (‘SCHEMETYPE_HTTPS’) 进行通信,则可以使用参数 SSL_ID 指定适当的 SSL 证书。 如果要使用这些证书登录 ABAP 应用程序服务器,则可以使用 SAP_USERNAME 和 SAP_CLIENT 指定所需的附加信息。

如果要调用方法 CL_HTTP_CLIENT=>CREATE_BY_DESTINATION,则必须在事务 SM59 中为 HTTP 目标(节点 HTTP 连接到 ABAP 系统或 HTTP 连接到 Ext. Server)创建相应的条目。

系统中有一个用于进行代理设置的中央配置环境。 要访问它,请调用事务 SICF 并选择客户端 -> 代理设置。

生成的客户端控制块通过使用所需的请求数据填充属性请求来填充 (2)。

然后使用方法 SEND (3) 发送请求。 为此,打开连接并将请求转换为 HTTP 数据流(序列化)。

任务处理程序和 Internet 通信管理器用于将请求发送到所需的 HTTP 服务器 (4)。

如果 HTTP 服务器需要身份验证(例如,如果服务器也是 SAP 系统),客户端现在必须登录 (5,6,7,8。如果服务器也是 SAP 系统,客户端通过 SAP登录弹出。否则,客户端通过HTTP标准弹出登录。在方法RECEIVE中执行查询是使用SAP登录弹出还是HTTP标准弹出(参见6)。如果您不想要登录对话框,您可以通过为属性 IF_HTTP_CLIENT~PROPERTYTYPE_LOGON_POPUP 指定值 CO_DISABLED 来禁用它。

相关文章:

  • JavaFX、贷款服务器
  • Powershell历史执行记录
  • elementui中表格组件的高度修改没效果
  • 难受啊,早饭忘记吃了
  • 标签上有什么defer和async属性?<script>
  • 放大器的稳定性分析举例
  • ipsec vxn详解
  • Redis实战:保证数据不丢失,RDBAOF持久化原理解析
  • 总共300万嘞,成都市武侯区关于促进电子商务发展的若干政策出来了
  • Linux·设备文件devfs
  • MySQL in和exists 查询分析
  • 使用easyui-treegrid数据层级展示问题
  • 讲真的!身为一个合格的码农,谁还没碰过索引失效呢
  • 来自鹅厂大神级架构师把Tomcat内核设计解析完了
  • 总蛋白提取丨Abbkine ExKine总蛋白提取试剂盒及文献引用说明
  • bearychat的java client
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • Cumulo 的 ClojureScript 模块已经成型
  • Java深入 - 深入理解Java集合
  • java中具有继承关系的类及其对象初始化顺序
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • PAT A1120
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Python socket服务器端、客户端传送信息
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 聚簇索引和非聚簇索引
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 前端代码风格自动化系列(二)之Commitlint
  • 学习JavaScript数据结构与算法 — 树
  • 一、python与pycharm的安装
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (动态规划)5. 最长回文子串 java解决
  • (多级缓存)多级缓存
  • (九)c52学习之旅-定时器
  • (六)vue-router+UI组件库
  • (论文阅读11/100)Fast R-CNN
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)c++ std::pair 与 std::make
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .naturalWidth 和naturalHeight属性,
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .Net Core和.Net Standard直观理解
  • .NET 中让 Task 支持带超时的异步等待
  • .NetCore项目nginx发布
  • .net打印*三角形
  • @EnableWebMvc介绍和使用详细demo