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

汉得PI&PO教材系列

 

 

 

Adapter使用-实例8:RFC2Rest

 

 

 

 

 

 

 

 

 


仅限汉得内部使用

 

作者:黄照家

版本: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、功能说明... 5

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 22

5.2 定义接收方Communication Channel 24

5.3 定义Integrated Configuration. 27

6、创建TCP/IP远程连接... 30

6、传输监控... 32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1、文档说明

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

2、文档历史

版本

修订时间

修订人

备注

0.1

2017年02月25日

黄照家

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3、功能说明

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

 

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

2. REST作为接收方Adapter时,需要识别对方系统发布的确实是REST接口,如果对方系统仅仅发布的是接收JSON消息并返回JSON消息的SOAP(webservice)接口,则不应使用REST适配器作为接收方Adapter。

 

发送方RFC请求消息XML报文格式示例如下:

 

 

发送方请求的RFC XML报文,经映射转换后变为接收方需要的XML的字段(此XML报文将经REST转换为JSON报文输出给接收方),接收方需要的XML字段报文如下:

 

 

接收方为REST,接收方需要的字段XML报文,经REST转换后接收到的的JSON报文格式示例如下:

 

 

 

接收方REST,响应的JSON报文格式示例如下(此JSON报文经REST转换后将转换为发出方需要接收的相应报文字段,为XML格式,以便与发出方RFC返回消息做映射转换(Massage Mapping)):

 

 

接收方返回的REST报文为JSON格式,经REST转换后,转换为发出方应接收的报文字段,此报文为XML格式,基于此报文格式,即可与发出方RFC返回结构做映射转换(Massage Mapping),输出给发送方RFC:

 

 

接收方返回的JSON报文,经REST转换为XML后与发出方RFC返回消息做映射转换(Massage Mapping),转换后发出方RFC接收的相应报文示例如下:

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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_002_Req),关联接收方接收格式的Data Type

 

 

 

 

 

 

 

 

定义接收方返回格式的Message Type(MT_000_JSONREST_002_Res),关联接收方返回格式的Data Type

 

 

 

 

 

 

 

 

 

4.3 定义Service Interface(服务方-接收方)

定义接收方Service Interface,属性是Inbound,选择同步方式,关联接收方Message Type,即MT_000_JSONREST_002_Req以及MT_000_JSONREST_002_Res

 

 

 

 

 

 

 

4.4 导入RFC(ERP发送方)

在安装ERP系统的软件组件(SC_BP5 of www.hand-china.com)下导入RFC(ZF_IF000_REST_SENDER),此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_002_Req,接收Message Type为RFC ZF_IF000_REST_SENDER,维护对应关系

 

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

 

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

为ZF_IF000_REST_SENDER,接收Message Type为MT_000_JSONREST_002_Req,维护对应关系

 

 

 

 

 

 

 

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

为MT_000_JSONREST_002_Res,接收Message Type为ZF_IF000_REST_SENDER.response,维护对应关系

 

 

 

 

 

 

 

4.6 定义Operation Mapping

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

 

 

 

 

 

 

选择发送方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_BP5_300_HZJ),选择RFC适配器。

 

 

 

 

记录此处填入的程序标识(Program ID),CC激活后会向ERP 发送方系统注册网关服务,后续将以此程序标识创建用于RFC执行的TCP/IP连接

 

 

 

 

 

 

 

 

5.2 定义接收方Communication Channel

 

指定数据接收方业务系统(BS_TRD_DEV),选择REST适配器。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.3 定义Integrated Configuration

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

 

 

 

 

 

 

 

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

 

 

维护接收方Operation Mapping以及Service Interface

 

 

维护接收方Communication Channel

 

 

 

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

 

 

 

6、创建TCP/IP远程连接

SMGW---转到---已登录客户端查看步骤5.1中注册的网关服务是否成功。

 

 

SM59根据注册成功的网关服务创建TCP/IP远程连接。

 

 

 

 

连接测试

 

 

 

 

6、传输监控

 

在ERP系统远程调用RFC,发送数据

 

 

 

成功接收返回结果

 

 

 

PI监控消息,调用成功。

 

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