`
王三
  • 浏览: 170545 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ABAP 中对HTTP的支持

    博客分类:
  • ABAP
阅读更多

  SAP Web Application Server -> Internet Communication  Framework.
 http://help.sap.com/saphelp_nw70/helpdata/EN/36/020d3a0154b909e10000000a114084/
 frameset.htm

 

 CLIENT端发出请求到HTTP Server端流程.
 1. 创建CL_HTTP_CLIENT 实例
 1>  CL_HTTP_CLIENT=>CREATE 
 必需参数: HOST (host name),SERVICE (port), PROXY_HOST (host name of the proxy host), PROXY_SERVICE (port of the proxy host) and SCHEME
 (specifies whether HTTP or HTTPS should be used; has the default value
 “SCHEMETYPE_HTTP”).you can use the parameter SSL_ID to specify appropriate SSL
 certificates.
  2> CL_HTTP_CLIENT=>CREATE_BY_DESTINATION 必须在事务SM59中设置HTTP
 destination, 具体参考Connection Establishment Using Destination (SM59).
 http://help.sap.com/saphelp_nw70/helpdata/EN/da/11df3a9b10355ae10000000a11405a/content.htm
 另外也可能会需要设置proxy for client,事务:SICF.
 3>CL_HTTP_CLIENT=>CREATE_BY_URL.
 2.生成的客户端请求的属性REQUEST被请求数据所填充.
 3.调用方法SEND发出request,
 4.任务处理器与ICM(Internet Communication Manager)发出请求到目标HTTP server.
 5.如果目标HTTP Server需要授权的话,可能会弹出 SAP logon   or the HTTP standard,(5,6,7,8.) 它是在方法RECIVE中执行的,也可禁止登录对话框,设置IF_HTTP_CLIENT~PROPERTYTYPE_
 LOGON_POPUP的值为CO_DISABLED. 另外还可以设置是否允许REDIRECT,及已在系统设置的PROXY.

  可以调用方法 SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } authenticate 来设置用户名密码。
 6.HTTP Server生成RESPONSE并发送回来.当我们执行方法RECEIVE时,返回数据填充在CLIENT实例的RESPONSE属性中.
 7.返回数据被处理或显示.也可以把返回数据传送到HTML contorl中.
 8.数据被显示后,调用方法CLOSE连接被关闭.为了避免资源浪费,注意应当关闭连接. 注意一旦被关闭,不能再访问Request和Response对象.

  
 重要的相关接口
 1. IF_HTTP_CLIENT  CL_HTTP_CLIENT是其实现. 有两个属性IF_HTTP_REQUEST and
 IF_HTTP_RESPONSE 对应于the HTTP request and HTTP response 数据.
 采用方法LISTEN可以并行处理多个请求.

 2. IF_HTTP_RESPONSE 与IF_HTTP_REQUEST
 两者都用在SERVER与CLIENT端,它们都是IF_HTTP_ENTITY的增强,用来访问数据,提供了一些功能用来访问HTTP header,与HTTP body,
 1>IF_HTTP_ENTITY提供了一些方法对 Header Fields(GET_HEADER_FIELD() / GET_HEADER_FIELDS(),  SET_HEADER_FIELD() and SET_HEADER_FIELDS()
 ),IF_HTTP_HEADER_FIELDS中有经常用到的header fields,  Form Fields, Cookies, HTTP Body Data, HTTP Multipart Data
 2>在IF_HTTP_RESPONSE中提供了一些如
 GET_STATUS           获取目前设置的HTTP 状态码.
 REDIRECT             转发到另外的URL,ICM端的缓存
 COPY                 复制RESPONSE对象
 GET_RAW_MESSAGE      获取完整的 HTTP message SERVER_CACHE_BROWSER_DEPENDENT 在服务端缓存设置浏览器特定的HTML的返回。
 3>在IF_HTTP_REQUEST中提供了一些方法设置授权方法的方法,
  GET_AUTHORIZATION    Provides information from the authorization header field
  SET_AUTHORIZATION    Sets the authorization header field for the request
  GET_FORM_DATA        将所有的数据放入到一个复杂的数据结构中.
  COPY                 复制请求对象
 
  3. IF_HTTP_UTILITY
 提供了一些DECODE_BASE64方法来解密, ENCODE_BASE64加密 ESCAPE_HTML  ESCAPE_URL UNESCAPE_URL
 对转义字符进行处理. STRING_TO_FIELDS FIELDS_TO_STRING 查询字符串与一系列字段间转换 SET_QUERY设置查询语句。

分享到:
评论

相关推荐

    30天学会ABAP很好的教程

    6.类似Java,ABAP开发的程序能运行于任何操作系统(Java有Java虚拟机,ABAP也有ABAP processor),多种数据库(比如在ABAP字典中实现了透明表对各种底层数据库表的映射,这样在ABAP层看到的透明表就和具体数据库无关),各种...

    ABAP4中文培训资料

    在 ABAP/4 用户指南的 第一部分, 对 ABAP/4 的基本特性 进行了详细 描述。这些 特性包括: • ABAP/4 包括 - 带有各 种类型和结 构的声明数 据的声明元 素 - 数据制 作的操作元 素 - 控制程 序流的控制 元素 - ...

    EditPlus ABAP 语法文件

    用Editplus查看ABAP文件的好帮手,可以实现语法高亮,网上下的,我又修改了一下。

    ABAP开发环境的安装

    C),菜单Environment→examples→ABAP examples中可有ABAP的实例,是学习研究的好东西; D),学习ABAP/4编程推荐《SAP ABAP/4 开发宝典中文版》约1.32M。 SAP NetWeaver 2004s SAP NetWeaver 7.0 ABAP/4 新...

    带 ABAP 高亮的 Notepad2

    这个 Notepad2 支持 ABAP 高亮。支持 TXT ABP ABAP 为后缀名的 ABAP 代码高亮。

    abap入门傻瓜书3

    abap入门傻瓜书3 ABAP(Advanced Business ...,是第四代支持结构化程序设计的语言。 本书把相当复杂的SAP技术以非常简单 的方式表达,非常直接地描述SAP技术,并采用大量的图片资料,使读者能清晰地 了解SAP技术。

    abap基础语法,SAP入门好助手

    abap基础语法,SAP入门好帮助……ABAP(Advanced business application program),是一种高级企业应用编程语言,它支持封装性和继承性,封装性是面向对象的基础,而继承性是建立在封装性基础上的重要特性。...

    sub3+ ABAP高亮包

    用于SUB插件支持ABAP 语言,使得SUB3+可以直接编辑ABAP

    abap-openapi-client:ABAP中的ABAP OpenAPI客户端生成器

    ABAP中的ABAP 客户端生成器 通过命令行运行的可能性(NodeJS) 有可能针对不同的ABAP版本(例如Steampunk)生成 每个OpenAPI定义一个独立的全局类+接口 可以在ABAP堆栈上运行生成 最终支持OpenAPI v2, 仅JSON...

    ABAP JSON 字段名映射 name_mappings 大写 小写 驼峰.txt

    ABAP JSON 字段名映射 name_mappings支持字段名大写,小写,驼峰等。 完整代码,可以直接运行。

    SAP ABAP用户指南

    ABAP/4 简介 SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。...ABAP/4 是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。

    ABAP面试大全

    在 ABAP 程序中使用哪条语句进行授权检查? 14 3.2 与权限对象有关的事务代码有哪些? 14 4. DIALOG 15 4.1 DIALOG 中的几个事件 15 4.2 何在TABLE CONTROL中实现选中一行或多行的效果 15 4.3 DIALOG 开发的常用几个...

    ABAP/4 自学经历

    SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。经过不断的改进和修改以满足... ABAP/4是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。

    ABAP/4培训资料

    SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。经过不断的改进和修改以满足... ABAP/4是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。

    ABAP/4用户指南

    SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。经过不断的改进和修改以满足... ABAP/4是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。

    金色传说:SAP-ABAP-IW21/IW22通知单保存增强:ZPMR003程序代码

    1、解压后,支持直接导入ABAP 2、支持文本编辑器打开 3、如有不解之处,可以查阅文章:《金色传说:SAP-ABAP-IW21/IW22通知单保存增强:保存通知单时根据特殊条件创建新的事故通知单》或搜索公众号:SAPABAP金色传说

    ABAP报表辅助开发工具

    简单的报表辅助开发工具,很容易上手,就不写说明了:)这是第一个版本,支持的功能还很少,新手可以用这个学学做报表的基础语句!软件是在.net framework 2.0下做的,如果在1.1下运行可能会有问题.

    ABAP-Swagger:使用Swaggeropenapi规范公开ABAP REST服务

    使用公共方法在ABAP中开发课程2:实现接口ZIF_SWAG_HANDLER,并注册公共方法(示例 ) 3:现在可以通过rest访问这些方法() 4:可以通过REST服务的基本目录中的swagger.html访问安装和要求通过安装需要本地JSON支持...

    abap-platform-refscen-flight:SFlight又回来了! 这是ABAP RESTful编程模型的飞行参考方案

    ABAP RESTful应用程序编程模型的ABAP飞行参考方案ABAP RESTful应用程序编程模型定义了用于在SAP BTP ABAP环境和Application Server ABAP上对SAP HANA优化的Fiori应用程序进行有效的端到端开发的体系结构。 它支持...

Global site tag (gtag.js) - Google Analytics