大家好
我试图整合我在PI 3.1到PO 7.5升级和更换Advantco rest到SAP rest适配器期间遇到的问题。
IPAD向PO发送Json请求,完成了json到xml的转换,并将请求发送到CRM。CRM然后将xml发送回PO,在xml到json转换后将其发送回IPAD。此同步场景使用SAP REST发送方适配器和Soap接收方(代理)。
问题1到10系列中列出的问题。每一个都提供了一套解决方案的步骤和图表,只要可能。
下面的链接,来自同事的输入(Anupam gosh,法鲁克·艾哈迈德和阿米特·古普塔)和论坛确实帮了大忙https://blogs.sap.com/2014/12/18/pi-rest-adapter-json-to-xml-conversion/2016/
https://blogs.sap.com/2014/12/18/pi-rest-adapter-blog-overview/
系统信息:
使用SAP版本:SAP PO 7.5 SP6(后升级至SP7)
场景:IPAD=>PO=>CRM:场景:同步IPAD(JSON)到ECC(Proxy)
IPAD向SAP PO发送JSON请求,然后使用Proxy发送到CRM。CRM然后将XML响应发送回PO,在XML到Json转换后,bi大数据,将其发送回IPAD。
场景–端到端数据流图
错误:如下面不正确的Json响应中所示–没有看到"iPadLoginResponseMT"标记,而IPAD应用程序无法解析该标记,物联网模块,因为缺少此标记tag.
响应不正确:下面从采购订单收到的Json响应不包含MessageType tag.
响应数据
{successResponse={
partnerID=xxxxx;
};}
正确响应:下面是预期的json响应。
响应数据
{iPadLoginResponseMT={
成功响应={
partnerID=xxxxx;};};}
解决方案:下面的XSL映射帮助在jason中添加MT标记,因此被放置在操作映射的响应消息中解决了问题。
XSLT映射:
附件不支持:IPAD发送Json请求,附件类型为附件.jpeg发送到采购订单,然后使用代理发送到CRM。
错误:
带有附件的Json请求未作为发送方SAP REST发送到CRM应用程序适配器不支持附件。
解决方案:
SP6升级到SP7具有支持附件功能(屏幕下方)更新ESR元数据
在SAP PO中SAP REST适配器SP6不支持附件,因此升级到SP7(快照下方)工作。
**主请求负载名称可以留空。
内容类型不正确:IPad发送带有附件的Json请求消息"附件.jpg"到CRM接收器输入阿宝,附件的内容类型不正确。
错误:
application/Json than application/xml类型的CRM系统接收到带有附件的Json请求。
application/Json than application/xml类型的申请文档接收到并在PO中看到
下面的快照来自SXMB\ U MONI-CRM(接收方),除了主文档,附件的接收方式如下所示,而不是附件(图像/jpeg)。
解决方案:
在标准SAP适配器调用之前,将模块放入SAP发送方REST通道后。
AF\ U模块/MessageTransformBean
转换.ContentTypeContentType=application/xml
发送方SAP REST通道中的输入消息格式维护为下面,
缺少双引号:在响应Json消息中,一些字段值中缺少双引号,无法在IPAD端解析,导致错误。
错误:
在响应Json中发现缺少引号,因为处理响应消息时IPAD端的API失败。
更正Json:"adrc_uupost_ucode1〃:"xxxxxxxx",联网,
不正确的json"adrc\U post\U code1":xxxxxxx(缺少双引号)
解决方案:
1。检查所有字段是否在SAP Sender REST channel的转换规则中声明。维护转换规则时,请务必检查是否勾选了以下几点。
2。在转换规则(如-xml namespace/Prefix/Name/Type/ArrayType/Default value
3)下,检查表列中输入的字段值中是否有空格。例如,头字段的声明。以下会计附注和文本行也应按折算规则申报。
4。JSON-to-XML转换错误-发送方SAP REST通道中转换规则中的重复声明导致在JSON-to-XML转换过程中PO中的响应错误。
**请记住,正确维护发送方通道中的转换规则可以帮助您解决许多问题。请务必检查相同的am,以确保它将解决大多数错误。
错误:Http404:在向PO发送jason请求时,未发现处理"POST"请求的通道。
解决方案:URL已更正为SAP REST发送方通道中维护的内容。
Http 401错误:错误代码当Ipad请求被发送到PO时,401面临。
解决方案:可以检查后台RFC用户的授权/密码,大数据分析过程,以便在发送方和PO之间进行通信。
错误::请求到达CRM应用程序后,未看到响应结构,也未在CRM系统中记录负载。
解决方案:SAP REST发送方通道中的包装类命名空间应与中声明的命名空间保持一致ESR中的消息类型。
响应负载错误:来自IPAD的具有多级结构的响应负载在PO中失败。
解决方案:将字段的出现次数更改为0..从0..1无边界。
处理SAP REST适配器时遇到的最常见问题是以下在请求和响应中部署xslt映射的问题映射。
a.响应消息中缺少结构(头),例如Json中缺少MessageType(MT)标记。
b.响应消息中缺少xml命名空间。
附件成为消息的一部分主体:当Ipad请求已发送到采购订单,物联网系统,请求消息中的附件被视为SAP采购订单中消息正文的一部分。
错误:位于有效负载快照下方寄件人的附件也是身体的一部分。
解决方案:
a.升级到SP7,工作。b、 发送方SAP REST通道=>字符集名称=>UTF-8c、 元数据更新
***博客结束******