映射错误原因:不允许拆分为0条消息

2020-09-18 13:15发布

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

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


大家好,

对于PIOC 7.4中单个消息的映射(对于场景IDOC-> SOAP-> IDOC使用BRIDGE异步到同步),我有一个非常奇怪的问题。

在此映射中,我查找了Internet上的SOAP服务。

该服务和接口在PI 7.4上可以正常工作,但有时Internet上的服务可能无法访问(这是正常的)。

问题是我无法重新处理错误的消息(这是不正常的)。

以下代码进行查找调用:

尝试{

 ....

   Channel channel = LookupService.getChannel(businessSystem,communicationChannel);
   LookupService.getSystemAccessor(channel);
   java.io.InputStream inputStream = new ByteArrayInputStream(rfcXML.getBytes());
   LookupService.getXmlPayload(inputStream);
   有效负载结果= null;
   result = accessor.call(payload); java.io.InputStream in = result.getContent();
   java.util.Scanner s =新的java.util.Scanner(in).useDelimiter(" \\ A");
   字符串resultXml = s.hasNext()吗?  s.next():"";
   in = new ByteArrayInputStream(resultXml.getBytes());  DocumentBuilderFactory工厂= DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   文档document = builder.parse(in);

 ....

 } catch(Exception e){
             trace.addWarning("错误:" + e.getMessage());
             抛出新的RuntimeException(" error:" + e.getMessage(),e);
         } 

此映射是IDOC-> SOAP-> IDOC方案与网桥异步到同步的第一个映射。

当服务无法访问时,我会从日志中得到此错误:

映射" urn:aptar.com:PI:etq/OP_ZVENETQ_MATMAS5_1_ETQModifyDocument_InbAsyn"执行失败:MappingException:执行应用程序映射程序com/sap/xi/tf/_MM_ZMATETQ_MATMAS5_1__to_ETQModifyDocument时,运行时运行时异常映射失败 详细信息:com.sap.aii.mappingtool.tf7.MessageMappingException; 处理目标字段映射时的运行时异常/ns0:Messages//ns0:Messages/* etqvendorid; 根消息:异常:[com.sap.aii.mapping.api.StreamTransformationException:错误:通过使用通信通道SoapSyncDaoOperationsFinal2(方:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)调用适配器时发生错误。XIAF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法在类aptar.com_PI_etq.ETQFMLIB方法getETQMaterialId [10046304,ETQ_P,SoapSyncDaoOperationsFinal2,com.sap.aii.mappingtool.tf7.rt.Context@4cf3be97]中创建应用程序时发生异常:运行时程序异常 com/sap/xi/tf/_MM_ZMATETQ_MATMAS5_1_to_ETQModifyDocument_; 详细信息:com.sap.aii.mappingtool.tf7.MessageMappingException; 处理目标字段映射时的运行时异常/ns0:Messages//ns0:Messages/* etqvendorid; 根消息:异常:[com.sap.aii.mapping.api.StreamTransformationException:错误:通过使用通信通道SoapSyncDaoOperationsFinal2(方:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)调用适配器时发生错误。XIAF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法在类aptar.com_PI_etq.ETQFMLIB方法getETQMaterialId [10046304,ETQ_P,SoapSyncDaoOperationsFinal2,com.sap.aii.mappingtool.tf7.rt.Context@4cf3be97]中创建Message'MappingException:运行时异常处理target-field 映射/ns0:Messages//ns0:Messages/* etqvendorid; 根消息:异常:[com.sap.aii.mapping.api.StreamTransformationException:错误:通过使用通信通道SoapSyncDaoOperationsFinal2(方:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)调用适配器时发生错误。XIAF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法在类aptar.com_PI_etq.ETQFMLIB方法getETQMaterialId [10046304,ETQ_P,SoapSyncDaoOperationsFinal2,com.sap.aii.mappingtool.tf7.rt.Context@4cf3be97],BaseRuntimeExceptions:异常:[com。  aii.mapping.api.StreamTransformationException:error:通过使用通信通道SoapSyncDaoOperationsFinal2(方:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)调用适配器时出错:XI AF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法在类aptar.com_PI_etq.ETQFMLIB方法getETQMaterialId [10046304,ETQ_P,SoapSyncDaoOperationsFinal2,com.sap.aii.mappingtool.tf7.rt.Context@4cf3be97]中创建java.lang.reflect.InvocationTargetException  :错误:通过使用通信通道SoapSyncDaoOperationsFinal2调用适配器时出错(聚会:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)XI AF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法创建套接字'。,LookupException:使用通信通道SoapSyncDaoOperationsFinal2(方:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)调用适配器时发生错误,XI AF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法创建套接字'。,AFException:XI AF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法创建套接字'。,AFException:XI AF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法创建套接字'。,MessagingException:java.io.IOException:通过HTTPS进行通信。 无法创建套接字

在此错误之后,如果我尝试重新处理消息,则会收到以下错误:

该消息位于"系统错误"中,并且不重新处理映射。

我只在生产系统中遇到这种情况。

我无法在开发系统中复制该问题。

您能建议一些调查方法吗?

我的目标是能够重新处理系统错误状态消息。

谢谢您的任何建议

Domenico

(148.9 kB)

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

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


大家好,

对于PIOC 7.4中单个消息的映射(对于场景IDOC-> SOAP-> IDOC使用BRIDGE异步到同步),我有一个非常奇怪的问题。

在此映射中,我查找了Internet上的SOAP服务。

该服务和接口在PI 7.4上可以正常工作,但有时Internet上的服务可能无法访问(这是正常的)。

问题是我无法重新处理错误的消息(这是不正常的)。

以下代码进行查找调用:

尝试{

 ....

   Channel channel = LookupService.getChannel(businessSystem,communicationChannel);
   LookupService.getSystemAccessor(channel);
   java.io.InputStream inputStream = new ByteArrayInputStream(rfcXML.getBytes());
   LookupService.getXmlPayload(inputStream);
   有效负载结果= null;
   result = accessor.call(payload); java.io.InputStream in = result.getContent();
   java.util.Scanner s =新的java.util.Scanner(in).useDelimiter(" \\ A");
   字符串resultXml = s.hasNext()吗?  s.next():"";
   in = new ByteArrayInputStream(resultXml.getBytes());  DocumentBuilderFactory工厂= DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   文档document = builder.parse(in);

 ....

 } catch(Exception e){
             trace.addWarning("错误:" + e.getMessage());
             抛出新的RuntimeException(" error:" + e.getMessage(),e);
         } 

此映射是IDOC-> SOAP-> IDOC方案与网桥异步到同步的第一个映射。

当服务无法访问时,我会从日志中得到此错误:

映射" urn:aptar.com:PI:etq/OP_ZVENETQ_MATMAS5_1_ETQModifyDocument_InbAsyn"执行失败:MappingException:执行应用程序映射程序com/sap/xi/tf/_MM_ZMATETQ_MATMAS5_1__to_ETQModifyDocument时,运行时运行时异常映射失败 详细信息:com.sap.aii.mappingtool.tf7.MessageMappingException; 处理目标字段映射时的运行时异常/ns0:Messages//ns0:Messages/* etqvendorid; 根消息:异常:[com.sap.aii.mapping.api.StreamTransformationException:错误:通过使用通信通道SoapSyncDaoOperationsFinal2(方:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)调用适配器时发生错误。XIAF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法在类aptar.com_PI_etq.ETQFMLIB方法getETQMaterialId [10046304,ETQ_P,SoapSyncDaoOperationsFinal2,com.sap.aii.mappingtool.tf7.rt.Context@4cf3be97]中创建应用程序时发生异常:运行时程序异常 com/sap/xi/tf/_MM_ZMATETQ_MATMAS5_1_to_ETQModifyDocument_; 详细信息:com.sap.aii.mappingtool.tf7.MessageMappingException; 处理目标字段映射时的运行时异常/ns0:Messages//ns0:Messages/* etqvendorid; 根消息:异常:[com.sap.aii.mapping.api.StreamTransformationException:错误:通过使用通信通道SoapSyncDaoOperationsFinal2(方:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)调用适配器时发生错误。XIAF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法在类aptar.com_PI_etq.ETQFMLIB方法getETQMaterialId [10046304,ETQ_P,SoapSyncDaoOperationsFinal2,com.sap.aii.mappingtool.tf7.rt.Context@4cf3be97]中创建Message'MappingException:运行时异常处理target-field 映射/ns0:Messages//ns0:Messages/* etqvendorid; 根消息:异常:[com.sap.aii.mapping.api.StreamTransformationException:错误:通过使用通信通道SoapSyncDaoOperationsFinal2(方:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)调用适配器时发生错误。XIAF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法在类aptar.com_PI_etq.ETQFMLIB方法getETQMaterialId [10046304,ETQ_P,SoapSyncDaoOperationsFinal2,com.sap.aii.mappingtool.tf7.rt.Context@4cf3be97],BaseRuntimeExceptions:异常:[com。  aii.mapping.api.StreamTransformationException:error:通过使用通信通道SoapSyncDaoOperationsFinal2(方:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)调用适配器时出错:XI AF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法在类aptar.com_PI_etq.ETQFMLIB方法getETQMaterialId [10046304,ETQ_P,SoapSyncDaoOperationsFinal2,com.sap.aii.mappingtool.tf7.rt.Context@4cf3be97]中创建java.lang.reflect.InvocationTargetException  :错误:通过使用通信通道SoapSyncDaoOperationsFinal2调用适配器时出错(聚会:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)XI AF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法创建套接字'。,LookupException:使用通信通道SoapSyncDaoOperationsFinal2(方:,服务:ETQ_P,对象ID:50677aae6f62326788770feafef37ce6)调用适配器时发生错误,XI AF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法创建套接字'。,AFException:XI AF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法创建套接字'。,AFException:XI AF API调用失败。 模块异常:'com.sap.engine.interfaces.messaging.api.exception.MessagingException:java.io.IOException:通过HTTPS的通信。 无法创建套接字"。 原因异常:'java.io.IOException:通过HTTPS进行通信。 无法创建套接字'。,MessagingException:java.io.IOException:通过HTTPS进行通信。 无法创建套接字

在此错误之后,如果我尝试重新处理消息,则会收到以下错误:

该消息位于"系统错误"中,并且不重新处理映射。

我只在生产系统中遇到这种情况。

我无法在开发系统中复制该问题。

您能建议一些调查方法吗?

我的目标是能够重新处理系统错误状态消息。

谢谢您的任何建议

Domenico

(148.9 kB)
付费偷看设置
发送
1条回答
木偶小白
1楼-- · 2020-09-18 13:31

Domenico嗨,

只能从发件人系统重新处理。 当您尝试从中间件处理它时,用于查找的UDF可能无法获取调用查找所需的数据。

我看到的唯一选择是再次重新处理同一IDoc,它将成为成功的消息。

此致

迪瓦卡(Dhivakar)。

一周热门 更多>