据我们所知,HCI为各种集成场景提供了预发布的内容,例如SAP Cloud用于与SAP CRM的客户集成,或SAP Cloud用于与SAP ERP的客户集成。内容使用标准IDOC,有时需要扩展以满足客户特定的需求。
在这篇博文中,我将展示如何使用扩展的IDOC代替标准的IDOC,云服务器品牌,同时保留SAP为标准元素提供的映射
假设:您已经扩展了IDOC。
第1步:使用报告SRT\u IDOC\u WSDL\n以WSDL的形式下载IDOC定义(见注释1728487)
注意:标准报表下载扩展名为WSDL的文件,该扩展名应重命名为WSDL,否则HCI将无法识别服务定义。
例如,在我的示例中,文件以COD\u EQUIPMENT\u SAVE01.WSDL的名称保存,我将其重命名为COD\u EQUIPMENT\u SAVE01.wsdl
第2步:使用文本编辑器打开wsdl文件,并从schema元素中删除目标命名空间,如下所示
前:
后:
第3步:用空值替换所有出现的tns:
第4步:向IDOC元素添加maxOccurs属性以支持bulking与原始映射一样
保存服务定义文件。
步骤5:将wsdl复制到包中src.main.resources资源所需iFlow项目的.wsdl
步骤6:在映射编辑器中用导入的IDOC定义最终替换原始IDOC定义,如下所示
步骤7:选择请求消息Type SudioToMube步骤8:保存映射并确保没有错误报告席。9步:验证您的更改并确保保留现有映射。示例:下面我可以看到IDoc发生已经设置为9999个版本。谢谢分享这个有用的文档ABNHASH。我从来不知道如何下载更新的IDOC WSDL并保留映射-谢谢,Abinash!!
阿比纳什,购物返现网,我想你必须改变第三步的截图
阿明博客。很有帮助
嗨,阿比纳什,
我还没开始工作。或许你可以看看我最近的帖子
致以最诚挚的问候
Florian
很棒的博客Abinash…谢谢
您好Abhinash,
我按照您在博客中的建议对WSDL进行了更改。
为什么我理解这个字段是非强制性的,我的场景没有它就可以工作,我想知道为什么一旦我将WSDL分配给通道,这就不起作用了。有什么想法吗?
您好,
Bhavesh
您好Bhavesh,
WSDL需要有服务、端口和绑定信息,然后才能将其分配给IDOC适配器(查找从C4C到后端系统的任何异步iFlow,并检查连接到发送方适配器的WSDL)。但无论如何,我建议不要将WSDL附加到IDOC发送方,因为这将导致无法处理批量IDOC(IDOC包作为单个消息)。通过从IDOC适配器离开WSDL,我们只是跳过IDOC消息验证步骤,这是我们所期望的。另请注意,如果将WSDL附加到发送方IDOC适配器,则需要将内容类型作为Application/x发送-sap.idoc公司在WE21中,由于SOAP的限制,每个SOAP消息只支持一个IDOC。
祝您好运,Abinash
您好Abinash,大数据平台,
是否有使用扩展IDOC的经验,包括SAP C4C中销售安排扩展字段的映射?
我为这一个创建了另一个SCN讨论:
客户复制WSDL:销售安排的扩展字段未包括
如果你们能看一下并给我一些帮助,我会很高兴的
干杯
斯文
嗨,阿比纳什,360大数据,
又是我
我目前正在为通信的集成映射而挣扎从ERP到C4C为客户主。不知何故,有些强制字段没有映射,而在Eclipse中映射是错误的。我不明白为什么,因为标准映射和扩展映射之间的唯一区别是两个系统中扩展字段的映射?
干杯
斯文
好的斯文,请附上iFlow,以便我或我的同事可以看一看。
致以最诚挚的问候,阿比纳什
我很乐意,但似乎我只能附上图片、视频或URL链接…
我如何发送或附上.zip之类的文件?
好的,我不太确定,也许你可以尝试将它连接到SCN线程。我不想在论坛中提供我的邮件id。否则您也可以创建一个CSS票证
敬礼,阿比纳什
我完全可以理解,我们已经创建了消息编号0000743490 2015。
谢谢看一看。
干杯,斯文
嗨阿比纳什,
你有没有经验,如果有特殊的事情要考虑的时候,为扩展德布马斯IDOC?
我们目前在尝试将客户从ERP发送到C4C时遇到xsl问题。
结果是HCI中出现此错误消息:
在sap map pi中处理exchange ID-vsa522027-od-sap-biz-56865-1440790256443-20-6:ERP\U COD\U BusinessPartnerERPBulkReplicateRequest{
错误=习近平.mapping.camel.XiMappingException异常: com.sap.aii公司.映射工具.tf7.IllegalInstanceException:无法生成目标元素/ns0:BusinessPartnerERPBulkReplicateRequest/BusinessPartnerERPReplicateRequestMessage。队列在上下文中没有足够的值。目标xsd需要此元素的值,但目标字段映射不生成值。可能xml实例对源xsd无效,或者目标字段映射不符合目标xsd的要求。
干杯
斯文
嗨阿比纳什,物联网大赛,
非常感谢你的帖子。
我只有一个问题。用空值替换tns:的所有出现是什么意思?我必须从我的wsdl文件中删除所有带有"tns:"的行,比如下面的一行"
提前感谢。
问候。
Maurin
你好Maurin,
不,请不要删除wsdl中的任何行。只需将字符串"tns:"替换为空字符串"."
前面:
之后:
此致,阿比纳什