简介
您正在实施的"eDocument:Electronic Invoicing for Italy"解决方案只有一个SCPI(HCI)租户。您已经阅读了如何创建eDocument包的测试副本,但它不适合您的场景,大数据趋势,因为您在SdI注册时指示测试结束生产的相同端点。
在这种情况下,爱淘客,您不能使用相同的iFlow从SdI发送和接收消息:一旦您在iFlow中将参数模式切换为PROD,停止向SdI测试发送消息。当你收到来自SdI的通知和发票时,它们都会被存储到数据存储中,以财政代码区分,不管SdI调用什么。
本博客旨在展示如何轻松构建一个自定义中间件,物联网工程课程,将标准SCPI eDocument解决方案与相应的调用者(SAP后端或SdI)连接起来。
前提条件
根据SAP note 2583309实现的意大利eDocument解决方案。部署了最新版本的eDocument for Italy(我们使用1.0.3)。主动实验性SdI系统
解决方案-概述
如果您在SdI注册了相同的端点进行测试和生产,您如何知道调用您的SCPI应用程序的是SdI test还是SdI PROD?如果您同时使用测试和生产环境运行您的场景,您可能会遇到这样的情况。
要克服的主要问题是允许SCPI了解谁在呼叫。为此,我们需要做点什么。
这个解决方案背后的想法是:
原始的eDcoument Italy包,其端点以"PROD"后缀(即/PROD/ItalReceiveInvoice)区分复制的eDocument Italy包,其端点以"TEST"后缀区分(即/TEST/ItalyReceiveInvoice)一个定制构建的工件,收集了在SdI注册并由SAP调用的所有端点,无论调用方是谁,它都能够理解调用方并相应地重定向消息
解决方案–详细信息
步骤1–向所有eDocument添加后缀"/PROD"
添加后缀"/PROD":意大利地址的电子发票(甚至到流程直接连接)。
意大利接收发票示例重新配置。
部署。
步骤2–创建测试副本包并添加后缀"TEST"
复制eDocument:Electronic Invoicing for Italy solution from Discovery in your SCPI,添加"TEST"后缀,然后将后缀"/TEST"添加到其中的所有地址。
意大利接收发票(TEST)重新配置的示例。
部署它。
步骤3–创建eDocument:ROUTER包
此包将包含:
意大利端点–值映射
每个eDocument iFlow(TEST and PROD)都可以在一个地址访问:在中收集地址下面的值映射列表。根据字符串"TEST"或"PROD"区分的相应iFlow名称访问该列表。我们总共有14个端点(7个用于测试,7个用于生产)。
值映射通过下一步显示的groovy脚本访问。
请注意,我使用的是默认端点,而不是那些基于自定义域的端点。您可以选择使用什么。
意大利路由器-集成流程
路由器执行以下步骤:
路由器iFlow收集SdI和SAP调用的所有地址。
地址可配置。
4个附加参数为:
SAPCaller\ U TEST和SAPCaller\ U PROD:调用SAP后端系统名称(3个字符)SdIUserPROD和SdIUserTEST:根据SAP note 2583309第12章创建的用户
在允许的标题中添加SAPChenticatedUserName。
接收发票(路由器)示例。SdI调用SCPI。
处理SdI消息的工作方式如下。
使用Groovy脚本访问值映射。
要连接到SCPI本身,可以使用用户凭据(在安全材料下创建一个凭据)或客户端证书。
当SAP调用SCPI时,唯一的区别是SCPI如何识别调用方。相应地构建一个groovy脚本(例如,您可以从负载中获取它,购返利,否则从SOAP头中,您可以选择适合您的场景的选项)。
其余的工作原理完全相同。
测试解决方案
让我们从SAP TEST发送并开发票,从SAP PROD发送另一个到SCPI。我们希望将这两个通知接收到不同的数据存储中,云服务器买,并在正确的系统中检索它们。
从SAP TST发送
发送发票日志详细信息并接收通知日志详细信息
数据存储
从SAP PRD发送
发送发票日志详细信息并接收通知日志详细信息
数据存储
检索通知从SAP TST
检索后的数据存储:TEST removed
从SAP PRD检索通知
检索后的数据存储:PROD removed
优点和缺点
这里是关于此解决方案的一些考虑。
统计
这里是关于近千条消息的一些数字(无论是SendInvoice还是ReceiveNotification)通过自定义路由器工件(仅路由器,而不是路由器+)。