背景说明
SAP 通过 PO 中间件进行接口调用,调用外部接口。
外部接口可以用任意方式生成,常见的REST类型接口即可,关于如何使用python生成接口,其他章节另述。
本教程的前置条件,PO中已配置Business Systems,并与SAP环境连通。
1. 测试接口
这里以常见的post接口做示例,如有其他类型接口,需要每个接口类型都做测试,本示例使用Postman进行测试。
请求地址:
路径Path:/post_example_json
接口请求:
{ "required_param": "value1", "optional_param": "value2"}
接口返回:
{ "message": "Received POST request with JSON data.", "optional_param": "value2", "required_param": "value1"}
请求示例:
该接口使用post类型,并使用application/json形式来接收。
2. 配置环境准备
打开PO中的Process Integration Tools并下载对应的配置工具。
访问地址::/dir
打开地址后将ESB和IB下载即可,运行时需要确保已安装JAVA运行环境。
3. 配置ESB(Enterprise Services Builder)3.1 Software Component Version
用来存放对应的命名空间。这里示例是ZSC_PO_DEMO, 1.0 of demo.com
一般使用已经建立的工作区域即可,也可以新建,按照对应项目来做区分。
3.2 Namespace
不同的命名空间,可以根据使用场景不同进行区分。这里示例使用test命名空间。
3.3 Data Type
数据类型,简称DT,用来定义请求数据或者接收数据的结构。这里直接用示例说明,以示例接口当中的数据做演示。
这里为了方便演示,在Namespace中新建了一个文件夹,所有新建内容均保存在文件夹中,方便演示。
1. 新建DT
Name:数据结构名称,通常以REQ和RESP结尾,用来区分请求和接收的数据类型。
Namespace:选择数据结构存放的命名空间根据接口请求和接收的数据结构进行配置
2. 根据接口配置DT
根据接口的请求数据和返回数据,需要配置两个DT,具体配置如下:
Type:字段的类型,根据对应情况选择即可。
Occurrence:1为必填,0..1为可选。
Category:默认选择Element类型。
REQ:
RESP:
3.4 Message Type
消息类型,用于封装DT后传输给SI。
1. 新建MT
MT跟DT,也需要建立请求和接收的,共两个。
Name和Namespace同DT中的说明。
2.MT配置
新建MT后,在Data Type Used中选择刚才新建的DT即可,其他信息会自动补全。
3.5 Service Interface
服务接口,用来通信,同样和DT和MT一样,需要建立两个用来发送请求和接收回复。
分为两种类型,出Outbound和入Inbound。
1. 新建SI
Name 和 Namespace同DT中的说明。
2. SI配置
REQ:
Category:接口流通方向,本示例为SAP通过PO调用第三方接口,所以请求流通方向为出Outbound,相反接收回复方向为Inbound。
Mode:接口模式选择同步。
Request对应刚建立的MT_REQ,Response对应MT_RESP,直接拖拽至对应位置即可。
RESP:
3.6 Message Mapping
消息映射,用于对Message进行转换,本示例双方数据结构一致,不用进行特殊转换。
1. 新建MM
同样需要新建2个,用来映射请求和响应。
2. MM配置
RESP和REQ的配置一致,只需将对应MT进行映射即可。映射关系复杂时,可以在下方面板手动调整映射关系。
REQ:
RESP:
3.7 Operation Mapping
操作映射,用来统一之前创建的数据流向,包含SI,MM和MT。
1. 创建OM
OM仅有一个,会将请求和相应串联起来。
2. OM配置
流向部分为Source是SI的REQ,Target事故SI的RESP,对照拖入即可。
Request部分中间为消息映射MM,对应拖入MM的REQ。
Response部分同理。
至此ESB的配置完成,我们会得到9个对象,接下来需要配置IB部分。
4. 配置IB(Integration Builder)4.1 Business System
业务系统,简称BS,用于管理PO至SAP的链接,一般是Basis进行配置,之后会开新章节进行配置说明。
示例使用已配置的300环境进行演示。BS中存放的是CC,用于管理发送或接受通道。配置这里不做说明。
4.2Communication Channel(BS下)
连接通道,简称CC,BS下的CC一般用于由系统方发起或者系统方响应,当前的系统方为SAP。
1. 新建CC
Communication Component:连接组件选择上述的BS中的开发环境即可,当前示例发送方为SAP的300环境。
Communication Channel:填入当前连接通道的名称。
2. 配置CC
Adapter Type:选择SOAP类型,用于与SAP进行通信。
这里类型还需要选择sender,代表连接SAP的当前通道为发送方。
Message Protocol:选择XI 3.0类型。
其他选项保持默认即可。
4.3Business Component
业务组件,简称BC,可以理解为用于第三方系统的管理,当前示例全部放在BC_DEMO下,实际可以根据对方系统来进行管理和区分。
BC的新建在次略过。
1. BC配置
对于不同的第三方接口Receiver和Sender中放入的SI接口不一样。
Receiver/Sender:当前示例第三方接口的业务组件,为接收第三方响应的一方,需要将对应的SI_RESP放入,Sender内则不需要分配。
Assigned User:可以对传入该系统的信息做校验,只有对应用户可以进行访问。
4.4 Communication Channel(BC下)
同理,对于第三方接口,我们也需要建立一个连接通道。
1. 新建CC
选择Communication Component时需要注意选择刚建立的第三方连接组件。
2. 配置CC
General
Adapter Type:这里选择REST类型,用于与第三方接口进行通讯,当前示例为REST类型。
类型选择Receiver,这里表示与第三方接口的连接通道,处于接收方,接收第三方响应的数据。
Message Protocol:消息控制也选择REST类型。
RESR URL
URL Pattern:填写第三方接口的URL地址,如果有路径需要填写完整。
REST Operation
Static Value:根据接口类型设置,当前示例为POST类型。
Data FormatRequest Format
Data format:数据格式化,当前示例选择JSON类型。
其他选项根据截图勾选即可,含义同名称,不赘述。
Response Format
Data Format:同样使用JSON类型。需要转换为XML。
根据截图进行勾选即可,需要转换为XML。
Element Name:使用之前在ESB建立的MT类型消息,由于当前示例为第三方响应返回的信息,此处填写MT_RESP。
Element Namespace:填写上一步MT对象所在的命名空间。
HTTP Headers
当前面板可以填写HTTP请求传输过程中的头部信息,当前示例无填写。
4.5Integrated Configuration
集成配置,用于配置最终的通道流向,指定出入的流程和接口。
1. IC建立
Communication Componet:选择请求发起方,即SAP的300环境
Interface:选择接口,即SI_REQ,为请求接口。
2. 配置IC
Inbound Processing
Communication Channel:链接通道选择在BS下的发送通道,这里示例为上述建立,如无印象可以回看。一般相同类型的发送通道建立一个即可,例如SAP的发送通道SAP_SENDER,一般根据发送系统来进行划分。
Receiver
Receiver中的Communication Component选择接收响应方的组件,本示例为之前建立的BC_DEMO。这里一般放入响应请求的第三方接口系统。
Receiver Interfaces
当选择Receiver后当前界面会显示需要填入接口,这里选择对应的SI_SREP即可。这里为接收响应的接口通道,方向为入,即inbound。
Outbound Processing
Communication Channel:连接通道选择上述建立的CC_RECEIVER,用来接收响应信息的通道即可。
版权声明:本文为博主「李哲羽930」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://www.cnblogs.com/Lzy-i66/p/17862635.html