接收方REST适配器的" ="字符问题,如何在REST URL中转义特殊字符

2020-09-20 08:55发布

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

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


专家们,

我需要使用POST中的动态网址通过POST方法调用REST api。 无需传递有效载荷。

在URL中,参数值之一具有特殊字符'='。 PI REST Recevier通道未对该字符进行URL编码。 它是base64格式,因此" ="总是结尾。

这是用于调用REST api(POST)的最终URL,这是一个错误请求(请看最后的'=')

https://xxxxxx.com ?Action = xxxxx&SignatureMethod = xxxxx&SignatureVersion = 2&Timestamp = 2018-05 -03T20%3A23%3A06Z&Version = 2009-01-01&Signature = q4F03DLHlARtTPbPuMF9qM4vheAo%2BPo4V%2FhxVClqHm4 =

如果我在映射中执行url编码并将其传递到REST接收器通道,则适配器将在其上面进行自动编码,这是不正确的。 根据SAP文档,REST适配器会自动进行URL编码。

我应该执行以下任一操作

1。 在映射中执行url编码,并从自动编码停止REST适配器(停止自动编码)

2。 一种在通道级别上转义编码字符的解决方法。 我将在映射中将'='编码为%3D并将其传递给channel,但channel不应在其顶部编码'%'字符,这意味着它不应再次将%3D转换为%253D(%的实际编码为 %25)

请分享您对此的想法。

谢谢。

斯蒂芬·鲁维耶

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

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


专家们,

我需要使用POST中的动态网址通过POST方法调用REST api。 无需传递有效载荷。

在URL中,参数值之一具有特殊字符'='。 PI REST Recevier通道未对该字符进行URL编码。 它是base64格式,因此" ="总是结尾。

这是用于调用REST api(POST)的最终URL,这是一个错误请求(请看最后的'=')

https://xxxxxx.com ?Action = xxxxx&SignatureMethod = xxxxx&SignatureVersion = 2&Timestamp = 2018-05 -03T20%3A23%3A06Z&Version = 2009-01-01&Signature = q4F03DLHlARtTPbPuMF9qM4vheAo%2BPo4V%2FhxVClqHm4 =

如果我在映射中执行url编码并将其传递到REST接收器通道,则适配器将在其上面进行自动编码,这是不正确的。 根据SAP文档,REST适配器会自动进行URL编码。

我应该执行以下任一操作

1。 在映射中执行url编码,并从自动编码停止REST适配器(停止自动编码)

2。 一种在通道级别上转义编码字符的解决方法。 我将在映射中将'='编码为%3D并将其传递给channel,但channel不应在其顶部编码'%'字符,这意味着它不应再次将%3D转换为%253D(%的实际编码为 %25)

请分享您对此的想法。

谢谢。

斯蒂芬·鲁维耶

付费偷看设置
发送
3条回答
路亽曱_Ryan
1楼 · 2020-09-20 09:36.采纳回答

斯蒂芬,你好

检查SAP Notes 2215187,它具有模块参数EncodeURL,根据您的要求将其设置为true/false。

致谢

Amith Bhumu

昵称总是被占用
2楼-- · 2020-09-20 09:49

嘿阿米斯,

感谢您的回复。 哇! 这解决了我的问题。 :)

作为解决方案1,我在映射中进行了URL编码,并使用模块参数来停止自动编码。

谢谢

Stephen Rouvier

空代码
3楼-- · 2020-09-20 09:41

嗨,斯蒂芬,

尝试使用HTTP通道和动态URL参数,它应该可以工作。

温馨提示

夏曼·查哈尔

一周热门 更多>