汉得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监控消息,调用成功。
标签:定义,rfc2rest,Adapter,REST,RFC,汉得,Message,接收,Type From: https://www.cnblogs.com/ZJY-1314/p/18157214