如何从REST负载中获取

2020-08-25 00:15发布

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

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


你好

我们正面临REST接收器的问题。 我们正在REST适配器中进行从XML到JASON的标准转换。 在此之前,我们正在对导致此错误的一些特殊字段进行映射:

"项目":" {\"键\":PLAYCOMPL}",

有人知道如何删除此有效载荷中的\吗?

这是映射后以及REST接收器处理完之后的完整消息:

{" CreateIssue_In_MT":{

"项目":" {\"键\":PLAYCOMPL}",

" issuetype":" {\" name \":投诉}",

"分辨率":" {\"名称\":不完整}",

"优先级":" {\"名称\":专业}",

"摘要":"创建问题测试2",

"描述":"使用REST API使用项目密钥和问题类型名称创建问题",

" customfield_15513":" [{\"值\":否}]",

" customfield_15509":" [{\" value \":TEST}]",

" customfield_15506":" [{\" value \":TEST}]",

" customfield_15503":" [{\"值\":金融机构}]",

" customfield_15528":350,

" customfield_15514":351,

" customfield_15529":352,

" customfield_15523":353,

" customfield_15530":"销售组织",

" customfield_15525":"购买订单号",

" customfield_15507":" {\"名称\":测试}]",

" customfield_15512":"测试",

" customfield_15527":" 2018-01-09",

" customfield_15517":" ABCDE",

" customfield_15504":123456,

" components":" {\" name \":TEST}]"}

}

我们需要这样的东西:

{" CreateIssue_In_MT":{

"项目":{"键":" PLAYCOMPL"},

"问题类型":{"名称":"投诉"},

"分辨率":{"名称":"不完整"},

"优先级":{"名称":"主要"},

"摘要":"创建问题测试2",

"描述":"使用REST API使用项目密钥和问题类型名称创建问题",

" customfield_15513":[{" value":"否}],

" customfield_15509":[{" value":" TEST"}],

" customfield_15506":" [{" value":" TEST"}],

" customfield_15503":[{" value":"金融机构"}],

" customfield_15528":350,

" customfield_15514":351,

" customfield_15529":352,

" customfield_15523":353,

" customfield_15530":"销售组织",

" customfield_15525":"购买订单号",

" customfield_15507":{"名称":"测试"}],

" customfield_15512":"测试",

" customfield_15527":" 2018-01-09",

" customfield_15517":" ABCDE",

" customfield_15504":123456,

" components":[{" name":" TEST"}]}

}

致谢
大卫

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

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


你好

我们正面临REST接收器的问题。 我们正在REST适配器中进行从XML到JASON的标准转换。 在此之前,我们正在对导致此错误的一些特殊字段进行映射:

"项目":" {\"键\":PLAYCOMPL}",

有人知道如何删除此有效载荷中的\吗?

这是映射后以及REST接收器处理完之后的完整消息:

{" CreateIssue_In_MT":{

"项目":" {\"键\":PLAYCOMPL}",

" issuetype":" {\" name \":投诉}",

"分辨率":" {\"名称\":不完整}",

"优先级":" {\"名称\":专业}",

"摘要":"创建问题测试2",

"描述":"使用REST API使用项目密钥和问题类型名称创建问题",

" customfield_15513":" [{\"值\":否}]",

" customfield_15509":" [{\" value \":TEST}]",

" customfield_15506":" [{\" value \":TEST}]",

" customfield_15503":" [{\"值\":金融机构}]",

" customfield_15528":350,

" customfield_15514":351,

" customfield_15529":352,

" customfield_15523":353,

" customfield_15530":"销售组织",

" customfield_15525":"购买订单号",

" customfield_15507":" {\"名称\":测试}]",

" customfield_15512":"测试",

" customfield_15527":" 2018-01-09",

" customfield_15517":" ABCDE",

" customfield_15504":123456,

" components":" {\" name \":TEST}]"}

}

我们需要这样的东西:

{" CreateIssue_In_MT":{

"项目":{"键":" PLAYCOMPL"},

"问题类型":{"名称":"投诉"},

"分辨率":{"名称":"不完整"},

"优先级":{"名称":"主要"},

"摘要":"创建问题测试2",

"描述":"使用REST API使用项目密钥和问题类型名称创建问题",

" customfield_15513":[{" value":"否}],

" customfield_15509":[{" value":" TEST"}],

" customfield_15506":" [{" value":" TEST"}],

" customfield_15503":[{" value":"金融机构"}],

" customfield_15528":350,

" customfield_15514":351,

" customfield_15529":352,

" customfield_15523":353,

" customfield_15530":"销售组织",

" customfield_15525":"购买订单号",

" customfield_15507":{"名称":"测试"}],

" customfield_15512":"测试",

" customfield_15527":" 2018-01-09",

" customfield_15517":" ABCDE",

" customfield_15504":123456,

" components":[{" name":" TEST"}]}

}

致谢
大卫

付费偷看设置
发送
6条回答
亦是此间程序员
1楼 · 2020-08-25 00:48.采纳回答

大卫,您好!

坦白说,我不明白您为什么用这种方式构建目标XML结构。

您要么使用树结构和元素名称来构建目标XML消息,要么 根据JSON所需的结构,让REST通道使用XML或Java或XSLT映射将XML转换为JSON或构建JSON消息,而根本不使用通信通道中的任何转换。

Evgeniy,

SAP小菜
2楼-- · 2020-08-25 00:31

你好,

您说得对。 我将请求JASON结构重建为XML(具有更多的细分),现在看起来不错了。

致谢

David

三十六小时_GS
3楼-- · 2020-08-25 00:53

您能否提供XML到JSON配置中使用的打印? 您是否尝试过以下配置?

ZJXianG
4楼-- · 2020-08-25 00:47

如果这是映射的输出 那么您将需要仔细查看消息映射内部的操作,因为似乎您已将XML与JSON嵌入在一起。

南山jay
5楼-- · 2020-08-25 00:29

嗨,大卫!

Wouldn "

"请提供您的源XML吗?

"在此之前,我们正在为某些特殊字段进行映射"-您的映射是什么? 是图形映射,java还是xsl转换?

乍一看,您的用法似乎在SAP中进行了说明:

2482060-转换XML时附加的转义符" \" 到JSON

这是系统的标准行为。 杰蒂森图书馆(Jettison Library)正在添加多余的转义字符,以免造成误解。

Evgeniy。

Tong__Ming
6楼-- · 2020-08-25 00:51

大家好,

问题是REST通道正在执行从XML到JASON的转换,并且目标系统需要接收某些特殊格式的字段。

例如,第一个提交的项目需要具有{" key":" PLAYCOMPL"},但是REST通道正在将其转换为此" project":" {\" key \":\" PLAYCOMPL \"}",

然后还有一些字段,应以普通的JASON格式发送,例如"描述":"使用项目密钥创建问题,并使用REST API创建问题类型名称",

因此,我们需要的有效负载应如下所示:

"项目":{"键":" PLAYCOMPL"},

"描述":"使用REST API使用项目密钥和问题类型名称创建问题",

致谢
David

一周热门 更多>