这个博客描述了如何配置这样一个场景:XI发送方适配器为多个接口使用消息,并将它们路由到集成流中的不同分支。此配置选项使用XI发送方适配器设置的标头。
使用XI发送方适配器的博客配置场景描述了如何在使用XI协议从发送方后端接收消息的EO场景中使用XI发送方适配器。通常,XI发送方可以为多个接口以及多个发送方业务系统和参与方接收所有类型的XI消息。通常需要对不同接口或业务系统的消息进行不同的处理。这可以通过使用XI sender adapter为接收到的所有这些属性设置的头来轻松实现。
在本博客中,我描述了如何扩展博客配置场景中描述的场景,使用XI sender adapter,并根据接口选择将接收到的消息路由到不同的分支。链接blog中配置的直接集成流如下:
我们将根据接口将消息路由到不同的接收方系统进行扩展。
配置接收XI消息的集成流
使用XI发送方打开blog配置场景中配置的集成流适配器并更改为编辑模式。为了让集成流知道XI sender设置的头,我们首先需要允许相应的头。
为了允许您要用于路由配置的头,您首先需要知道XI sender适配器设置了哪些头。这在下面的"帮助"一章中进行了说明:集成框架提供的头和交换属性。以下是供您参考的简短列表:
SapInterfaceName接口空间接管方SapReceiverService公司萨普森德党SapSenderService
要在集成流中允许它们,请打开集成流的运行时配置选项卡,并在Allowed Header(s)字段中输入要在集成流中使用的头。其他标头未传递到集成流,因此无法使用。
对于我的方案,我只允许标头SapInterfaceName和SapInterfaceNamespace,免费vps服务器,因为我要基于接口配置路由。单个头必须用"|"分隔。
请注意,您也可以在此字段中设置*以允许从发送方系统接收或由适配器设置的所有头,但这不是建议的配置选项。出于安全原因,您应该只允许真正需要的头。
现在我可以使用头来配置到不同接收器的路由。
要配置到不同接收器的路由,我在开始步骤后添加一个路由器步骤,大数据培训哪好,并使用另一个接收器添加第二个结束事件。为了结束所有其他接口的消息,我另外添加了一个升级结束事件,并将路由器连接到两个新的结束事件:
路由到第一个接收器
我为接口flightbookingordconfirmation和名称空间配置到第一个接收器的路由HTTP//SAP/COM/XI/XI/DEMOO/航空公司。为此,我基于以下两个标头定义了一个非XML表达式:${header.sap接口名称}='航班预订订单确认'${header.sap接口空间} = ‘HTTP//SAP/COM/XI/XI/DEMO/航空公司"
这种配置,通过接口FlightBookingOrderConfirmation\u Out接收的所有消息都路由到Receiver1.
路由到第二个接收器
我为接口XiPatternInterface2\u Out和命名空间配置到第二个接收器的路由模式。为此,我基于以下两个标头定义了一个非XML表达式:${header.sap接口名称}='xipatterne2\u Out'和${header.sap接口空间} = ‘HTTP//SAP/COM/XI/XI/St/模式"
这种配置,使用接口XiPatternInterface2\u Out接收到的所有消息都路由到Receiver2.
路由到升级结束事件
要结束所有其他接口的消息,我将路由到升级结束事件定义为默认路由:
使用此配置,集成流不处理通过FlightBookingOrderConfirmation\u Out或XiPatternInterface2\u Out以外的接口接收的所有消息。
配置新的接收器。我只需要使用一个SFTP适配器并将消息存储在不同的目录中。
现在我可以部署集成流了。之后,我在管理集成内容监视器中检查集成流是否成功启动。
按照博客配置场景中使用XI发送方适配器的描述,配置发送方系统以将XI消息发送到云集成
,您需要配置发送方系统向云集成租户发送XI消息。
请确保配置本地集成引擎SLD,以及使用XI发送方适配器的博客配置场景中描述的RFC目的地。
为两个不同的接口定义使用XI发送方适配器的博客配置场景中描述的发送方/接收方定义,以便能够向XI发送方适配器发送不同的接口。我的场景使用以下两个接口:
接口FlightBookingOrderConfirmation\u from namespaceHTTP//SAP/COM/XI/XI/DEMO/航空公司按要求接口XiPatternInterface2\u从命名空间输出HTTP//SAP/COM/XI/XI/St/模式
使用事务SXMB_ADM->集成引擎配置->特定配置,定义两个新参数,设置如下,如blog配置场景中所述,使用XI Sender适配器为两个不同的接口:
第一参数:
类别:运行时参数:IS\u URL子参数:为接口FlightBookingOrderConfirmation\u Out选择上一步中定义的发送方/接收方ID当前值:dest://
第二个参数:
类别:运行时参数:IS\u URL子参数:选择上一步中为第二个接口XiPatternInterface2\ Out定义的发送方/接收方ID当前值:dest://
这样,系统就可以向云集成租户发送flightbookingordconfirmation和XiPatternInterface2接口的XI代理调用
测试场景
最简单的测试场景的方法是使用事务SPROXY触发发送请求XI不同接口的消息。
在菜单中选择代理->测试。在测试服务使用者对话框中,保持设置不变,然后选择执行: