数组中的SAP PI Rest Sender同步多发事件

2020-09-24 11:13发布

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

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


大家好,

同步方案休息----> PI -----> SAP

问题:响应JSON格式与预期的不同,如果附加了子节点-根标记,则看起来不错,但Rest API服务不允许任何根标记,并且没有根标记的情况下, 格式如下所示进行转换,任何建议表示赞赏

主根节点= MT_Test

子节点= SAP

当我将MT_Test和XMl子节点的MT_Test和XMl子节点剥离为0:未绑定事件时,它工作正常,但REST API中不允许使用根标签


期望的JSON响应

[
{
"名称":" SAPPI",
"否":" 1111",< br>" CompanyDetails":[
{
" id":" 1112",
" name":" SAPPITEST_1",
" MaterialNo":" 1112"
},
{
" id":" 1113",
" name":" SAPPITEST_2",
" MaterialNo":" 1113"
}
]
},
{
" brandName":" SAPHCI",
" partNo":" 2222",
" CompanyDetails":[
{
" id":" 2223",
" name":" SAPPHCITEST_1",
" MaterialNo":" 2223"
},
{
" id":" 2224",
" name":" SAPPHCITEST_2",
" MaterialNo":" 2224"
}
]
}
]


带根标记(MT_Test)后收到的JSON响应,如果您观察到 名称和No值汇总在一起,所有公司详细信息汇总在一个数组中,这是不可预期的



[{
"名称":[
" SAPPI",
" SAPHCI"
],
"否":[
" 1111 ",
" 2222"
],
" CompanyDetails":[
{
" id":" 1112",
" name":" SAPPITEST_1",
" MaterialNo":" 1112"
},
{
" id":" 1113",
" name":" SAPPITEST_2",
" MaterialNo":" 1113"
}
]
},
{
" brandName":" SAPHCI",
" partNo":" 2222",
" CompanyDetails":[
{< br>" id":" 2223",
" name":" SAPPHCITEST_1",
" MaterialNo":" 2223"
},
{
" id":" 2224" ,
"名称":" SAPPHCITEST_2",
"材料编号":" 2224"
}
]
}
]



在剥离根节点(MT_Test)后将子节点值SAP添加为根标记(MT_Test)时,它看起来不错,但api服务不支持根标记,用于替换字符串bean来删除根标记和消息 转换为上面显示的收到的Json响应

[
{
" SAP ":[
{
"名称":" SAPPI ",
"否":" 1111",
" CompanyDetails":[
{
" id":" 1112",
"名称":" SAPPITEST_1",
" MaterialNo":" 1112"
}
{
" id":" 1112",
" name":" SAPPITEST_1",
" MaterialNo":" 1112"
}

]
},
{
"名称":" SAPHCI",
"否":" 2222",
"公司详细信息":[
{
" id":" 1112",
" name":" SAPPITEST_1",
" MaterialNo":" 1112"
}
{
" id":" 1112 ",
"名称":" SAPPITEST_1",
"材质编号":" 1112"

}
]
}
]
}
]

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

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


大家好,

同步方案休息----> PI -----> SAP

问题:响应JSON格式与预期的不同,如果附加了子节点-根标记,则看起来不错,但Rest API服务不允许任何根标记,并且没有根标记的情况下, 格式如下所示进行转换,任何建议表示赞赏

主根节点= MT_Test

子节点= SAP

当我将MT_Test和XMl子节点的MT_Test和XMl子节点剥离为0:未绑定事件时,它工作正常,但REST API中不允许使用根标签


期望的JSON响应

[
{
"名称":" SAPPI",
"否":" 1111",< br>" CompanyDetails":[
{
" id":" 1112",
" name":" SAPPITEST_1",
" MaterialNo":" 1112"
},
{
" id":" 1113",
" name":" SAPPITEST_2",
" MaterialNo":" 1113"
}
]
},
{
" brandName":" SAPHCI",
" partNo":" 2222",
" CompanyDetails":[
{
" id":" 2223",
" name":" SAPPHCITEST_1",
" MaterialNo":" 2223"
},
{
" id":" 2224",
" name":" SAPPHCITEST_2",
" MaterialNo":" 2224"
}
]
}
]


带根标记(MT_Test)后收到的JSON响应,如果您观察到 名称和No值汇总在一起,所有公司详细信息汇总在一个数组中,这是不可预期的



[{
"名称":[
" SAPPI",
" SAPHCI"
],
"否":[
" 1111 ",
" 2222"
],
" CompanyDetails":[
{
" id":" 1112",
" name":" SAPPITEST_1",
" MaterialNo":" 1112"
},
{
" id":" 1113",
" name":" SAPPITEST_2",
" MaterialNo":" 1113"
}
]
},
{
" brandName":" SAPHCI",
" partNo":" 2222",
" CompanyDetails":[
{< br>" id":" 2223",
" name":" SAPPHCITEST_1",
" MaterialNo":" 2223"
},
{
" id":" 2224" ,
"名称":" SAPPHCITEST_2",
"材料编号":" 2224"
}
]
}
]



在剥离根节点(MT_Test)后将子节点值SAP添加为根标记(MT_Test)时,它看起来不错,但api服务不支持根标记,用于替换字符串bean来删除根标记和消息 转换为上面显示的收到的Json响应

[
{
" SAP ":[
{
"名称":" SAPPI ",
"否":" 1111",
" CompanyDetails":[
{
" id":" 1112",
"名称":" SAPPITEST_1",
" MaterialNo":" 1112"
}
{
" id":" 1112",
" name":" SAPPITEST_1",
" MaterialNo":" 1112"
}

]
},
{
"名称":" SAPHCI",
"否":" 2222",
"公司详细信息":[
{
" id":" 1112",
" name":" SAPPITEST_1",
" MaterialNo":" 1112"
}
{
" id":" 1112 ",
"名称":" SAPPITEST_1",
"材质编号":" 1112"

}
]
}
]
}
]

付费偷看设置
发送
1条回答
SC_Yao
1楼-- · 2020-09-24 12:16

Gaurav你好,

将节点的最大出现次数更改为"未绑定,并将节点的自定义XML/JSON转换规则用作数组。

这应该对您有用。

最好,湿婆

一周热门 更多>