云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

谷歌云_如何配置web服务器_免费领

小七 141 0

简介:

借助SAP Note#2040884,现在我们可以在SAP PI IS/AAE中将多个邮件附件作为单独的XI邮件进行处理。在本文中,我将分享如何保留每个附件的文件名,并将该文件名动态设置为目标文件名。

场景:

我们将采用简单的邮件到文件场景,其中发件人邮件适配器将选择一封包含多个附件的邮件。在这种情况下,大数据能做什么,我们只希望处理附件,而不希望处理主负载(邮件正文和邮件头)。考虑到邮件附件将被处理到同一个目标目录中,为简化场景,游戏返利平台,

配置、设置和实现:

针对这一特殊需求,我们设置了发送方邮件适配器通道的适配器模块,如下所示:,根据上面提到的SAP注释-

这将按如下方式处理传入消息–

如果邮件消息包含5个XML附件,则将创建5个XI消息,并且主负载不会创建任何XI消息。

在设置此消息并使用接收方文件适配器配置端到端场景之后,如果我们运行场景它将从目标服务器上的每个附件创建5个文件。

现在我们需要保留附件中的名称并将其分配到目标服务器上创建的相应文件。

如果我们监视邮件被提取并发送到PI后创建的邮件ID,邮件附件名称在任何属性或日志中都不可用。

但是,如果我们从消息监视中打开整个SOAP消息,我们可以看到附件文件名作为内容类型存在-

我们将从消息中读取此内容类型并从中提取文件名。检索到文件名后,我们可以在映射中使用动态配置将其分配给目标文件名。

映射代码:

根据场景类型,可以使用两种不同的映射技术来满足此需求。

如果场景涉及从源到目标的转换,然后我们可以使用图形映射中的自定义项来实现这一点。下面的自定义项可以分配到目标结构的根节点。

请仔细查看填充的内容类型,大数据都学什么,因为自定义项可能需要一些修改。

自定义项代码:

如果场景是传递,不涉及映射,那么可以使用简单的java映射来获取附件名并设置文件名与UDF的方法相同。将输入流作为输出流传递。

测试:

测试场景,我们收到了一封带有如下附件的电子邮件–

当检查PI发送者邮件适配器时,它将创建3个邮件ID并跳过主要负载–

每个邮件ID将在"邮件内容"选项卡下的SOAP邮件中具有各自的邮件附件名称–

如果我们检查邮件的动态配置此时,我们将看到目标文件名设置为源邮件附件名–

作为最后一步,如果我们检查目标FTP服务器,将创建与邮件附件同名的文件名。

从接收方通道登录–

备注:

如果我们有不同的要求,我们也可以实现相同的要求附件结构。在这种情况下,我们需要创建多个映射,并使用源结构的XPath来确定映射。

如果我们还想处理主负载,秒单客返利机器人,那么我们可以设置Mail.ignoremain有效负载参数为false。再创建另一个映射,选择基于XPath的映射

如果目标目录不同,我们可以在映射中添加动态配置代码,在运行时也可以基于XPath设置目标目录

限制:

这个新的SAP特性只考虑XML附件,任何其他附件(如.txt,淘客服,.XLS)等)将被忽略,并且不会创建任何消息ID。

资源:

StreamTransformationConstants–https://help.sap.com/doc/2f39047ed6b141cb83658041d2d4e029/7.5.16/en-US/PI/index.html

将邮件附件处理为PI消息(需要SMP登录)–https://launchpad.support.sap.com/#/notes/2040884

目标动态目录服务器-https://launchpad.support.sap.com/#/notes/2441689

新增功能:档案动态目录配置,文件适配器错误档案目录-

https://launchpad.support.sap.com/#/notes/2502789