如何在PI映射中读取JSON有效负载#PI REST适配器#

2020-08-21 09:42发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我在这种情况下:

PI正在REST发送方CC中接收HTTP请求。

我需要将源文件放在正确的目标字段中,同时将整个json有效负载字符串放入目标字段" json_string"中。

我尝试了很多方法,但是都失败了,有人能给我一个线索吗?

(13.8 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我在这种情况下:

PI正在REST发送方CC中接收HTTP请求。

我需要将源文件放在正确的目标字段中,同时将整个json有效负载字符串放入目标字段" json_string"中。

我尝试了很多方法,但是都失败了,有人能给我一个线索吗?

(13.8 kB)
付费偷看设置
发送
14条回答
小灯塔
1楼-- · 2020-08-21 10:17

嗨,

您可以将消息类型名称映射到目标字段json_payload,然后在映射编辑器中右键单击消息类型名称节点,然后选择return as xml选项,然后将整个输入作为字符串存储到json_payload中。

致谢

Pavan

hengyuye
2楼-- · 2020-08-21 10:19

您好,Rajesh,非常感谢您的回答。

似乎我没有明确要求。

我正试图再次解释它,并期待您的建议。

我想在映射中做的是:

1。 提取在发送方CC中收到的源JSON有效负载。 需要与接收时完全相同,甚至每个空格。

2。 然后将其放入目标字段" json_payload",

3。 然后将其发送给接收方CC。

骆驼绵羊
3楼-- · 2020-08-21 10:00

嗨小东,

因此,理想情况下,PI默认将所有请求都转换为仅可扩展标记语言。

在消息映射中,您可以选择根节点并设置" Return as Xml",并传递给UDF以生成Json {..},然后将UDF结果映射到目标字段" json_payload",

感谢与问候-Rajesh PS

lukcy2020
4楼-- · 2020-08-21 10:22

嗨,Pavan!

作为XML结构吗?

问候,Evgeniy。

歪着头看世界
5楼-- · 2020-08-21 09:59

晓东,

在乌托邦,API合同应相互商定。 总是更好的WS-Provider请求没有任何空格的有效Json(RFC 4627)。

即使空格,逗号等也会创建不同的校验和ID。

感谢与问候-Rajesh PS

小c菟菟
6楼-- · 2020-08-21 10:06

嗨Rajesh,

我已经按照您的方式进行了尝试,它很棒,并且在大多数情况下都可以使用。

但是,在其他情况下,它失败了。 主要原因是:我们需要与发送方CC中接收时完全相同的JSON payloa,包括json标签顺序和偶数空格。
仅以下3种情况:

在我们的要求中,我们将在目标文件" json_payload"中获得3个不同的值,而现在,在3种情况下,我们实际上获得了相同的" json_payload"。

整个想法是获取与发送方CC所接收的json字符串完全相同的json字符串。

一周热门 更多>