抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

上一篇笔记介绍了大标签中的内容。这一片笔记主要介绍下开发IFlow界面的内容。并且可以同步开发好自己的第一个IFlow部件。之后可以使用Postman等接口调试工具进行测试。最后再简单介绍一个用于调试和复现异常的IFlow方法。

SAP CPI 开发界面介绍与第一个IFlow

一、介绍

上一篇笔记介绍了大标签中的内容。这一片笔记主要介绍下开发IFlow界面的内容。并且可以同步开发好自己的第一个IFlow部件。之后可以使用Postman等接口调试工具进行测试。最后再简单介绍一个用于调试和复现异常的IFlow方法。

二、创建IFlow

1.创建IFlow

在上一篇笔记中创建的Package中的部件页面创建一个IFlow部件。进入Package中,点击编辑按钮。

1.打开Package

在部件的页签中点击添加 —> Integration Flow

2.添加IFlow

2.填写IFlow信息

3.填写描述信息

3.IFlow开发界面

新建好的IFlow界面如下图所示。包含最基础的内容。

4.IFlow编辑界面

4.界面介绍

(1)上半部分介绍

界面中的左上角黑色粗体是IFlow的名称。名称后面灰色的字体是部署状态,这个是很重要的一个信息。只有成功部署的IFlow部件才可以使用。

右上角的四个按钮分别是编辑、配置、部署和删除。

编辑、部署和删除如同字面意思,不需要过多的介绍。

主要说下配置按钮。通常仅在完成 IFlow 开发后使用。此过程称为 配置外部化参数。比如在开发环境中服务器会有不同的内容,在测试环境中服务器也会有不同的内容。所以需要配置一些外部化的参数进行调整。后面会单独对这个内容进行介绍。

5.IFlow编辑界面_上半部分说明

(2)工具栏说明

工具栏中提供开发IFlow部件所需要使用到的所有标准工具。后面会通过实例对工具栏中的内容进行一一介绍。

6.IFlow编辑界面_中部分说明

(3)开发窗口

再往下的大片范围是IFlow的开发界面,这个位置可以理解成是IFlow的处理逻辑。其中右边的 +- 按钮用来控制放大和缩小。后面当IFlow变得异常复杂时,就需要使用到这两个按钮进行查看。

7.IFlow编辑界面_开发界面

(4)Properties部分

这个部分位于屏幕的最下面。可以理解成用于查看和编辑标准工具以及IFlow自身属性的地方。IFlow的开发主要是通过拖拽标准工具来实现的,但是这些工具还有很多的属性需要填充,就需要使用到这个部分。

8.IFlow编辑界面_属性界面

5.基础内容介绍

在新建好的IFlow中有五个对象,分别是SenderReceiverIntegration ProcessStartEnd

Sender代表发送方,需要将该发送方与Start对象进行连接。主要是用于配置接口进入/调用时的方式。在IFlow中代表配置适配器。

Receiver代表接收者,和Sender类似,不过是用来配置传出或调用其他接口对象时的适配器配置。

Integration Process可以理解为IFlow的主程序,只能有一个,并且IFlow的所有接口逻辑都在其中按照流程执行。

Start IFlow的开始节点。End代表IFlow的结束节点。当IFlow执行完全流程后最后一个节点的位置。

9.IFlow编辑界面_基础内容

三、开发IFlow

1.添加调用的适配器

选中Sender,然后点击箭头的按钮,将拖拽出来的箭头指向Start对象。

10.IFlow开发_发送方适配器

完成之后等待几秒,会弹出选择适配器的弹框。本次我们选择HTTPS,作为适配器类型。

11.IFlow开发_选择发送方适配器

2.配置调用的适配器

双击刚刚新增的适配器连线,唤出下方的属性界面。在Connection页签的Address属性中维护该IFlow部件URL的后缀部分。

12.IFlow开发_配置发送方适配器

取消勾选CSRF Protected,勾选该选项之后只能使用Get请求方式进行调用。

3.添加内容修正符

添加一些接口逻辑,用于测试调用是否成功。

点击Start对象,然后点击右侧的**+**号按钮。

13.IFlow开发_添加新对象

选择内容修正符。内容修正符可以通过更改消息处理中涉及的内容(即消息标头、消息交换属性或消息正文)来修改传入消息或有效负载。

例如,接收方系统要求将 header 属性与请求有效负载一起发送,但发送方系统未发送此类属性。然后,在这种情况下,我们可以在内容修饰符中提及标题名称,该修饰符将被发送给接收者。

14.IFlow开发_添加内容修正符

可以添加的类型有propertiespayloadproperty 供内部 IFlow 使用,它不会发送到接收器系统。

4.编辑内容修正符

(1)Message Header

15.IFlow开发_内容修正符_Header

(2)Message Body

这个位置就可以用来处理报文了。修改Type为Expression,在Body中写下下面的内容。

1
2
3
${in.body}
--------------------
This line is added in content modifier

其中${in.body}代表传入IFlow的报文,而下面的内容则是文本内容。

5.保存并部署

进行完上面的操作后,点击保存和部署按钮。等待一段时间。期间可能会提示部署失败。这个时候请隔一段时间后重新进行部署。

16.IFlow开发_点击部署按钮

部署成功后可以在部署状态字样后面查看到部署的时间信息。

17.IFlow开发_部署状态

6.获取端点

在开发界面中的任意空白处双击(例如下图红框圈中的位置),唤出IFlow的属性界面。打开部署状态页签,然后点击 导航至“管理集成内容”

18.IFlow开发_打开IFlow属性

在新打开的界面中找到刚刚部署的IFlow对象,然后复制他端点中的URL。这个内容有时候进入的太快可能会不显示,建议等待一段时间刷新当前界面重试即可拿到端点。

19.IFlow开发_获取端点

四、设置连接密钥

1.实例和租用

新建好IFlow部件并不能直接使用,因为连接该IFlow还需要一个连接的密钥。创建该密钥的位置在BTP子账户的实例和租用界面。

打开实例跳转到服务键值处,然后点击创建按钮。

20.创建密钥_创建密钥的位置

2.创建服务键值

在弹出的框中填入服务键值名称,然后点击创建按钮。

21.创建密钥_创建密钥

等待一段时间,等待键值创建成功。创建过程中可能会因为网络问题导致创建失败,这个时候只需要删除失败的键值然后重新新建即可。

22.创建密钥_创建密钥中 23.创建密钥_创建密钥成功

3.获取密钥信息

等待服务键值创建成功之后,点击查看按钮。

24.创建密钥_查看密钥按钮

拿到JSON中clientid与clientsecret中的内容。这两个内容就是密钥的用户名和密码。

25.创建密钥_查看密钥

五、测试IFlow

1.填写URL

本次使用Postman对IFlow进行测试。打开Postman,新建一个请求。将我们刚刚创建的端点放入URL输入框。

Authorization页签中选择 Basic Auth 。然后在Username中填入clientid的值,Password中填入clientsecret的内容。

26.测试IFlow_填写URL与密码信息

2.填写Body

27.测试IFlow_填写Body

3.测试结果

28.测试IFlow_测试结果

可以在返回的报文末尾看到通过内容修正符添加的内容。

4.CPI监控消息处理

打开CPI的监控页签,在其中查看监控器消息处理。可以看到刚刚调用的情况。

29.测试IFlow_消息监控器 30.测试IFlow_消息监控器

接口中的Header信息可以在这里看到。后续可以通过编写脚本来做报文和日志的记录。

31.测试IFlow_消息监控器日志记录

六、调试IFlow

1.设置监控模式

这里先简单介绍一种用于追踪接口执行异常的方法。打开IFlow的 管理集成内容

32.追踪模式_打开监控界面

找到要调试的IFlow,然后修改日志级别为追踪

33.追踪模式_设置日志级别

设置成功之后会有一个有效期,有效期一般为十分钟。等有效期结束之后就会将日志级别再自动切换回信息的级别。

34.追踪模式_设置日志级别成功

2.调用IFlow

再次使用Postman调用IFlow,然后回到 监控器消息处理 中查看IFlow被调用的情况。可以看到这个时候的日志级别是设置的追踪。点击追踪字样。

35.追踪模式_查看日志情况

点击之后会在左边看到当前IFlow的各种对象。在每个箭头上面还有一个信封的小图标。每个信封代表一个消息的报文内容。

36.追踪模式_查看日志

选中不同的对象,然后点击最上面的消息内容或其他按钮,可以切换查看报文在经过不同对象后的变化。

37.追踪模式_查看日志_文本修正符

再切换成End对象查看报文的情况,可以发现经过文本修正符之后报文就变为了最终返回给我们的样式。

38.追踪模式_查看日志_End

七、参考资料

SAP Cloud Platform Integration (CPI) Part 4 – SAP CPI WebIDE Tour

评论