汉得PI&PO教材-Adapter使用-实例7 rest2rfc V1.0

汉得PI&PO教材系列

 

 

 

Adapter使用-实例7:Rest2RFC

 

 

 

 

 

 

 

 

 


仅限汉得内部使用

 

作者:黄照家

版本:1.0

日期:2017-02-25


图标

 

图标

含义

 

警告

 

示例

 

注释

 

建议

 

语法

 

外部处理

 

可选业务处理或决定

 

 

排版惯例

 

字体风格

描述

Example text

出现在屏幕上的单字或字符。包括字段名、屏幕标题、按钮以及菜单名、路径和选项。

到其它文档的交叉引用。

Example text

正文文本中强调的字或词组,图形和表格的标题。

EXAMPLE TEXT

系统中元素的名称。包括报表名、程序名、事务代码、表名和正文文本中嵌入的编程语言关键字,如 SELECT 和 INCLUDE。

Example text

屏幕输出。包括文件和目录的名称及其路径、消息、源代码、变量和参数的名称以及安装工具、更新工具和数据库工具的名称。

EXAMPLE TEXT

键盘上的按键。例如,功能键(如F2)或ENTER键。

Example text

用户输入原文。完全如文档所示输入这些单字或字符至系统中。

<Example text>

可变用户输入。尖括号表示应使用适当的输入替换括号中的单字和字符。

 

目录

1、文档说明... 4

2、文档历史... 4

3、功能说明... 4

4、操作步骤-定义IR对象... 8

4.1 定义Data Type(消费方-发出方). 9

4.2 定义Message Type(消费方-发出方) 12

4.3 定义Service Interface(消费方-发出方) 15

4.4 导入RFC(ERP接收方). 16

4.5 定义Message Mapping. 17

4.6 定义Operation Mapping. 20

5、 操作步骤-定义ID对象... 22

5.1 定义发送方Communication Channel 23

5.2 定义接收方Communication Channel 26

5.3 定义Integrated Configuration. 27

6、传输监控... 30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1、文档说明

本文档目的在于提供一个REST2RFC场景的接口案例,用于说明REST适配器如何使用,以及使用REST适配器的注意事项以及最佳使用实践。

2、文档历史

版本

修订时间

修订人

备注

0.1

2017年02月25日

黄照家

根据培训案例整理出该文档

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3、功能说明

本案例中发送方系统为第三方系统BS_TRD_DEV,接收方系统为ERP系统BS_BP5_300_HZJ,即发送方和接收方为不同系统。实际使用,则根据实际系统来配置不同的业务系统作为数据发送方和接收方。

 

注意:REST适配器无论Request还是Response方向,其报文格式都是JSON格式的消息报文,但是他和仅仅传输JSON格式报文的接口有本质区别,例如一个SOAP适配器的webservice接口,可以将传入传出参数组织为JSON格式数据输入输出,但是其调用方式却不能以HTTP或REST方式来调用,而应该使用webservice的方式(SOAP协议)调用,而HTTP或REST的接口却不能使用SOAP的方式调用,而应该采用HTTP特性的GET、POST、PUT、DELETE等方法调用。

 

发送方REST请求消息为JSON报文格式,示例报文如下;

 

 

发送方请求的JSON报文,经REST转换为如下XML格式,此报文格式可以与RFC对应的XML报文做映射关系转换(Message Mapping):

 

 

发送方发出的JSON报文经REST转换后与RFC接收报文做映射转换,接收方RFC接收到的的XML报文格式示例如下:

 

 

接收方RFC,响应报文为XML格式,示例如下:

 

 

接收方返回的RFC报文为XML格式,经映射转换后转换为发出方应接收的XML报文字段,(此报文经REST转换后即可输出为发送方所需接收的JSON格式报文):

 

 

发送方所需接收的XML字段报文,经REST转换后,转换为JSON格式,通过REST适配器返回给发送方,发送方接收到的响应报文格式示例如下:

 

 

本案例发送的为简单的测试数据。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4、操作步骤-定义IR对象

异步方式发送,所需IR对象如下图:

 

 

 

 

 

 

4.1 定义Data Type(消费方-发出方)

在安装的消费方软件组件 (SC_TRD of www.hand-china.com) 分别创建Request

和Response方向的Data Type。

 

定义发送方发出格式的Data Type

 

 

 

 

 

 

定义发出方接收格式的Data Type

 

 

 

 

 

 

 

4.2 定义Message Type(消费方-发出方)

 

在安装的消费方软件组件 (SC_TRD of www.hand-china.com) 分别创建Request和Response方向的Message Type。

 

定义发送方发出格式的Message Type(MT_000_JSONREST_001_Req),关联发送方发出格式的Data Type

 

 

 

 

 

 

定义发出方接收格式的Message Type(MT_000_JSONREST_001_Req),关联发出方接收格式的Data Type

 

 

 

 

 

 

4.3 定义Service Interface(消费方-发出方)

定义发送方Service Interface,属性是Outbound,选择同步方式,关联发送方Message Type,即MT_000_JSONREST_001_Req以及MT_000_JSONREST_001_Res

 

 

 

 

 

 

 

 

4.4 导入RFC(ERP接收方)

在安装ERP系统的软件组件(SC_BP5 of www.hand-china.com)下导入RFC(ZF_IF000_REST_RECEIVER),此RFC具有Data Type & MESSAGE Type & Service Interface的属性;

 

 

 

 

4.5 定义Message Mapping

在安装的接收方ERP系统的软件组件(SC_BP5 of www.hand-china.com)下创建Request Message Mapping,发送Message Type为MT_000_JSONREST_001_Req,接收Message Type为RFC ZF_IF000_REST_RECEIVER,维护对应关系

 

同步方式下有两个MM,选择发送方Message Type,接收方Message Type,匹配字段对应关系。

 

创建Request方向的 Message Mapping,发送Message Type

为MT_000_JSONREST_001_Req,接收Message Type为ZF_IF000_REST_RECEIVER,维护对应关系

 

 

 

 

 

 

 

创建Response 方向的Message Mapping,发送Message Type

为ZF_IF000_REST_RECEIVER.response,接收Message Type为MT_000_JSONREST_001_Res,维护对应关系

 

 

 

 

 

 

 

4.6 定义Operation Mapping

在安装的接收方ERP系统的软件组件(SC_BP5 of www.hand-china.com)下创建Operation Mapping,源Service Interface为SI_000_JSONREST_001,目标Service Interface为ZF_IF000_REST_RECEIVER。

 

 

 

 

 

 

选择发送方Service Interface,接收方Service Interface,选择Request Message Mapping

 

 

 

选择Response Message Mapping

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5、 操作步骤-定义ID对象

所需ID对象如下图,可以先定义Configuration Scenario(可以理解为接口场景对象的容器,用于组织ID对象用,通常将构成一个接口的所有对象放到一个Configuration Scenario,同一个对象可以放到多个Configuration Scenario,便于组织构成接口的完整对象),本例未定义。

 

 

 

5.1 定义发送方Communication Channel

定义发送方Communication Channel,选择发送方Business System(BS_TRD_DEV),选择REST适配器。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.2 定义接收方Communication Channel

 

指定数据接收方业务系统(BS_BP5_300_HZJ),选择RFC适配器,输入登录ERP系统服务器及客户端信息(多个外围系统调用该接口,此CC可共用)。

 

 

 

 

 

 

 

 

5.3 定义Integrated Configuration

输入发送方业务系统(BS_TRD_DEV),输入发送方Service Interface,发送方Communication Channel

 

 

 

 

 

 

维护接收方业务系统(BS_BP5_HZJ)

 

 

维护接收方Operation Mapping以及Service Interface

 

 

维护接收方Communication Channel

 

 

保存,激活,查看传输日志。

 

调用地址 http://<IP>:<Port>/RESTAdapter/<EndPoint>/

例如本例的调用地址为:http://vs018:50200/RESTAdapter/TestRestService001/

提供此URL地址给第三方调用即可,实现REST2RFC。

 

 

 

 

6、传输监控

SOAPUI测试。

 

 

 

 

 

PI监控消息,调用成功。

 

posted @   ABAP-武汉  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示