手机版 欢迎访问魄力云云市场资讯网站

当前位置:主页 > 云存储 >

域名备案_mysql数据库安全_好用

时间:2021-06-11 21:05:10|来源:魄力云|编辑:魄力云|点击:

你好科技搭便车!

欢迎来到企业与SAP CPI集成的第二部分。在第一部分(如果您还没有阅读,请阅读此处)中,我们已经建立了我们的集成场景,将方法分为7个步骤,还讨论了解决方案的前两个步骤。

我们还了解了在集成流程中使用的启动计时器和请求-回复形状。

在这个阶段,我们有一个尚未下订单。我们需要调查产品的库存和再订购水平,以评估它们是否需要再订购。我们不打算一次处理整个产品清单,而是将清单分为单独的产品,然后一次评估一个产品。

这一步可以进一步细分为两部分:

(使用的技术概念:拆分器)

将清单分为单独的产品进行评估,我们使用拆分器。

拆分器是一组形状,用于将复合消息拆分为单独的消息。SAP CPI中提供了各种类型的拆分器,如迭代拆分器、通用拆分器、EDI拆分器等。最常用的是通用拆分器和迭代拆分器,这两种拆分器都用于将通用文档拆分为其组成元素。两者之间的区别在于,通用拆分器在单个消息中包含封闭标记,而迭代拆分器则不包含。为了说明这一区别,让我们举一个例子:

假设产品列表维护为:

我们可以使用通用或迭代拆分器将此列表拆分为单个产品。让我们看一下它们的输出,以便更清楚地理解它们之间的区别。

在使用通用拆分器和产品拆分时,武汉大数据,我们得到的单个产品是:

如您所见,即使在拆分之后,也会出现封闭的标签。

当我们使用迭代拆分器和产品拆分时,我们得到以下结果。请注意,此处缺少封闭的标记。

在更复杂的场景中,标记的嵌套更深入,差异将更明显,您必须根据是否要保留封闭标记来决定需要使用哪个拆分器。

现在我们已经讨论了拆分器的基本知识,让我们来看看查看我们场景中要使用的拆分器的配置。

单击路由->拆分器->常规拆分器。

将拆分器形状放在请求-回复形状和结束消息形状之间:

我们也可以在这里使用迭代拆分器,但我们的场景非常简单,没有太大区别。以下是拆分器配置:

我们希望将列表分解为各个产品,因为列表是XML格式的,所以我们可以使用XPath表达式来实现这一点,这就是为什么我们将expression Type设置为XPath。产品详情附在标签内,所有产品均附在内。因此,我们使用的XPath表达式是:/Products/Product。另外,我们希望一次只处理一个产品的细节,因此我们将Grouping参数设置为1。当我们启用流式传输时,拆分器不会等待加载整个数据集,然后才能开始拆分。一旦数据被分割成更小的部分,这些部分就会按顺序进行处理。如果这些部分之间没有相关性,我们可以启用并行处理。在我们的场景中,我们启用了并行处理,因为每个产品的数据都是独立分析的,以检查是否需要重新排序。我们将并发进程数和超时参数设置为默认值。其中一个部分可能会遇到异常。通过启用"异常时停止",我们可以确保不处理其余零件。

现在我们已配置拆分器,在前面步骤中获得的产品列表将被拆分为单个产品。下一步是评估产品是否需要重新排序。为此,我们将使用groovy脚本

(使用的技术概念:groovy脚本)

脚本是sapcpi提供的最强大的功能之一。当没有一个现有的形状可以配置为按照我们的要求处理数据时,我们可以开发一个实现我们的逻辑的脚本。

在我们的场景中,我们将使用Groovy脚本来评估产品是否需要重新排序。要将Groovy脚本添加到您的集成流中,请单击Message Transformers->script->Groovy script

将形状放在General Splitter和end Message形状之间。

此时,我们已经在集成流中插入了形状,但Groovy脚本形状中没有添加脚本。要添加脚本,请单击形状,然后单击其右侧的"+"符号。

当您单击"+"按钮时,一个新脚本将添加到形状:

如您所见,此脚本包含一个名为"processData"的方法,该方法将传入的消息作为参数,并在处理后返回消息。该方法还分为3个部分:Body、Headers和Properties。集成流中的每个消息都有一个主体、消息头和消息交换属性等。消息正文包含有效负载。在我们的场景中,它包含我们在上一步中使用请求-回复形状获得的产品数据。

消息头通常包含元数据,并且与消息交换属性一起,它可以用于存储不属于正文的数据,但需要处理。例如,在评估产品详细信息后,我们可以在header/Properties中存储一个参数,该参数指示是否需要重新排序。

云主机服务商 Ucloud云计算 移动云数据 云存储服务器 Ucloud云主机 云计算提供商 阿里数据库 服务器租用 云储存服务器 Web云服务器 ucloud云数据库 独享云主机 云服务器服务商 海外云存储 云服务器主机 云计算解决方案 国内云存储 数据库云平台

Copyright © 2002-2020 魄力云 版权所有

备案号:豫ICP备56298345号