云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

谷歌云_网站域名建设_限量秒杀

小七 141 0

我发布这篇博文是为了分享我在通过SAP PI 7.31 SPS 19 REST适配器将我们的SAP系统与基于REST的第三方系统集成时遇到的一些挑战。

场景:

SAP向第三方系统(通过SAP PI)发送同步HTTP(GET和post)请求,并期望第三方系统作出响应。

问题1:HTTP 415不支持的媒体类型异常

所有HTTP-GET请求都正常工作。从SAP触发的HTTP-POST消息失败,出现HTTP 415不支持的媒体类型异常。

根本原因:

来自第三方应用程序的日志表明来自SAP PI REST接收器适配器的POST请求在第三方失败,因为字符集被附加到内容类型HTTP头参数

即Content Type=application/json;charset=UTF-8

从sapi的角度来看,内容类型在REST接收器适配器配置中定义为application/json,PI适配器日志显示RESTOUT\u HTTP\u HEADER Content Type为application/json.

解决方案:

问题在实施SAP Note"2456232–无法发送没有charset值的HTTP Content Type HEADER"后得到解决。

问题2:REST请求中的特殊字符

带有特殊字符的REST请求,如&,',/,阿里大数据应用平台,失败。

例如,M&S

MARSK&SPENCERS。

解决方案:

实施2215187–使用PI REST适配器对查询字符串进行URL编码的选项

将模块参数EncodeURL设置为false。

注意:实施此修复后,所有带空格的消息都失败。

即,怎么选购云服务器,M&S工作正常,云服务器怎么样,但MARKS&SPENCERS失败。

此问题得到解决在用%26替换和用+.替换空格后解决

即标记+%26+Spencers.

请在下面的列表中找到更多特殊字符和使用的代码

问题3:来自第三方的HTTP错误响应没有传递到源(即SAP)

来自第三方的非200 HTTP(错误)响应消息,如HTTP 415,淘客返利,503,500,404,403在SAP PI和未送达源(即SAP)

解决方案:

通过邮递员测试服务。获取第三方错误响应结构并将其嵌入PI响应结构(DT)。

在接收器适配器配置->错误处理

源=HTTP状态码

选择复选框"选择不匹配"

消息内容={HTTP\U结果}

结论:SAP为REST适配器发布了许多补丁。建议在开始开发之前检查补丁级别,品高云,以避免这些问题。