`
王三
  • 浏览: 173711 次
  • 性别: 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设置查询语句。

分享到:
评论

相关推荐

    ABAP中文幫助文檔

    - **编写程序代码**:在ABAP/4编辑器中编写代码。 - **测试程序**:运行程序来验证其功能。 - **显示或更改程序**:查看和修改程序的源代码。 - **将事务代码分配给程序**:将程序与特定的事务代码关联起来。 -...

    abap 中文

    此外,ABAP支持条件语句(IF-THEN-ELSE,CASE)、循环结构(WHILE, DO-WHILE, FOR)以及异常处理(TRY-CATCH)。 数据库操作在ABAP中尤为重要。你可以使用SELECT语句从数据库表中检索数据,UPDATE语句来更新记录,...

    ABAP中文训练手册

    6. **模块化编程**:ABAP支持子程序、函数模块和类等模块化结构,便于代码重用和维护。 7. **OO编程**:自ABAP 7.0版本起,引入了面向对象的概念,包括类、对象、继承、多态等特性,增强了ABAP的灵活性和扩展性。 ...

    sap abap经典中文帮助

    - SQL语句:ABAP支持标准SQL,如SELECT, INSERT, UPDATE, DELETE等,用于操作数据库。 - Open SQL和Procedures:Open SQL用于用户接口,Procedures用于更复杂的数据库操作。 6. **内部表和表类型** - 内部表:...

    SAP ABAP中文帮助

    ABAP/4开发工作台集成了创建和维护ABAP/4程序所需的所有工具,支持程序的快速生成、测试和迭代,便于原型设计和最终版本的完善,确保了开发效率和质量。 通过以上详尽的介绍,我们可以看出ABAP/4不仅是一种强大的...

    SAP_ABAP_4.7.rar_SAP abap4_abap_abap chm_abap 4_abap4

    ABAP支持工作流的开发,允许自定义业务流程,实现自动化任务调度和审批。 8. Web服务和接口: ABAP 4.7版本开始支持SOAP和RESTful Web服务,使得SAP系统能与其他系统进行集成和数据交换。 9. 调试和测试: SAP...

    abap中文入门

    1. 类和对象:ABAP支持面向对象编程,类是对象的模板,对象是类的实例。 2. 表格和结构:表格用于存储多行数据,结构是固定字段集的集合,常用于数据传输。 3. 消息处理:ABAP允许自定义错误消息,便于向用户提供...

    ABAP中文简介-1

    此外,ABAP/4提供了丰富的商业数据类型和运算操作,以及对字符串处理的一系列函数,增强了对商业逻辑的支持。 在数据处理方面,ABAP/4引入了内部表的概念,这是一种仅在程序运行时存在的数据结构,有助于处理复杂的...

    ABAP中文完美学习手册

    ABAP支持多种数据类型,包括数字、字符、日期和时间等预定义基本数据类型,以及通过TYPES语句定义的用户定义数据类型。此外,还涉及到如何使用CONSTANTS、STATICS、TABLES等语句声明常量和静态数据对象。 4. 数据...

    ABAP中文HELP

    ABAP支持IF-THEN-ELSE、CASE、WHILE和DO-WHILE循环等结构。例如,一个简单的IF语句可能如下所示: ```abap IF condition. statements. ENDIF. ``` 在ABAP中,逻辑运算符包括AND、OR、NOT以及比较运算符(=、<、>等...

    ABAP TREE ABAP TREE ABAP TREE

    总的来说,ABAP TREE是ABAP编程中处理层次数据的强大工具,它支持动态插入、删除和修改操作,可以灵活地适应各种业务需求。通过熟练掌握ABAP TREE的使用,开发者可以更高效地构建和维护具有层次结构的数据模型,从而...

    abap关键字的查询帮助

    此外,ABAP还支持面向对象编程(OOP),其中包含类(Class)、对象(Object)、继承(Inheritance)、多态(Polymorphism)等概念。关键字如“CLASS-DEFINITION”,“CREATE OBJECT”,“INHERITS FROM”等,都是OOP...

    ABAP4中文培训资料02

    在"ABAP4中文培训资料02"中,我们可以期待深入学习ABAP4的高级概念和技术,这是对初学者或已掌握基础的开发者进一步提升技能的重要资源。 这部分培训资料可能涵盖以下关键知识点: 1. **数据类型和变量**:ABAP4...

    abap-ALV.rar_ABAP系统ALV_abap_abap开发alv

    标题“abap-ALV.rar_ABAP系统ALV_abap_abap开发alv”暗示我们将深入探讨ABAP ALV的使用,特别是在ABAP系统中的应用以及如何进行开发。 描述中提到“ABAP ALV总结,ALV格式,REUSE_ALV_GRID_DISPLAY_LVC函数使用”,...

    ABAP4中文培训资料01

    ABAP支持IF-THEN-ELSE、CASE语句进行条件判断,以及WHILE、DO-WHILE、FOR等循环结构,用于实现复杂的逻辑控制。 五、内联数据库操作 ABAP允许直接在程序中执行SQL查询,称为Open SQL。这使得开发者能够方便地访问...

    abap xlsx2 demo 程序

    在ABAP中,可以使用内建的数据结构如BAPI_BOOKMARK或BAPI_XSLTTRANSFORM进行简单的文本文件操作,但这些并不直接支持.xlsx格式。通常,需要借助第三方库如OpenOffice或Apache POI(Java库)的ABAP版本,这些库提供了...

    abap简单递归算法

    ### ABAP简单递归算法解析 #### 一、引言 ABAP(Advanced Business ...通过上述分析,我们不仅了解了递归算法的工作机制,也熟悉了ABAP中递归函数的实现方法,这对于进一步学习和应用ABAP编程具有重要意义。

    ABAP加密和解密.doc

    在ABAP编程中,加密和解密是两个关键的安全操作,用于保护敏感数据不被未经授权的用户访问。本文将深入探讨ABAP环境下的加密和解密技术,以及如何在实际应用中实施这些技术。 首先,我们需要理解加密的基本原理。...

Global site tag (gtag.js) - Google Analytics