尝试使用JCo IDOC_INBOUND_ASYNCHRONOUS函数时出现RFC错误

2020-09-15 18:13发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个Java程序,该程序正在...

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

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


我有一个Java程序,该程序正在使用JCo IDOC_INBOUND_ASYNCHRONOUS函数从SAP系统接收IDoc。

该程序在我们的一台生产服务器上运行了几个月良好。 从上周开始,每当SAP向程序发送IDoc时,就会发生以下RFC错误(我将实际的服务器名称替换为下面的XXX):

服务器XXX中的异常:com.sap.mw.jco.JCO $ Exception:(104)RFC_ERROR_SYSTEM_FAILURE:有关详细信息,请参阅RFC跟踪文件或SAP系统日志

当我在计算机上(在我的IDE-NetBeans中)启动该程序并且SAP向该程序发送完全相同的IDoc时,不会发生错误,并且IDoc可以成功处理。 因此,我认为问题的根本原因是由于上述生产服务器上的某些更改设置。 但是,我询问此服务器的管理员有关已更改的防火墙设置,补丁程序等的信息,但他说最近没有更改。

如果有人可以分享一些有关如何解决此问题的有用信息,我将不胜感激。

4条回答
南山jay
2020-09-15 18:58

Hello Manjunath,

谢谢您的帮助!

今天,我进行了另一个调试会话。 不幸的是,网关跟踪文件和SM21中的条目没有提供任何有用的信息。

这是SAP发送IDoc时出现在我的Java程序上的错误消息。

 com.sap.mw.jco.JCO $ Exception:(104)RFC_ERROR_SYSTEM_FAILURE:有关详细信息,请参阅RFC跟踪文件或SAP系统日志。
 在com.sap.mw.jco.rfc.Middleware RFC $ Server.nativeListen(本机方法)
 在com.sap.mw.jco.rfc.MiddlewareRFC $ Server.listen(MiddlewareRFC.java:1395)
 在com.sap.mw.jco.JCO $ Server.listen(JCO.java:7067)
 在com.sap.mw.jco.JCO $ Server.run(JCO.java:6996)
 在java.lang.Thread.run(未知来源)
 com.sap.mw.jco.JCO $ Exception:(104)RFC_ERROR_SYSTEM_FAILURE:有关更多详细信息,请参阅RFC跟踪文件或SAP系统日志。
 在com.sap.mw.jco.rfc.Middleware RFC $ Server.nativeListen(本机方法)
 在com.sap.mw.jco.rfc.MiddlewareRFC $ Server.listen(MiddlewareRFC.java:1395)
 在com.sap.mw.jco.JCO $ Server.listen(JCO.java:7067)
 在com.sap.mw.jco.JCO $ Server.run(JCO.java:6996)
 在java.lang.Thread.run(未知来源)

然后,我在该服务器(服务器A)上停止了该程序。 我将其安装在另一台服务器(服务器B)上,该服务器具有相同的操作系统,相同的补丁程序级别,相同的IP范围等。

在服务器B上,IDoc可以成功处理而没有任何错误消息。

我仍然不知道为什么它可以在服务器B上运行而不能在服务器A上运行。

再次,如果有人可以分享一些有关如何解决此问题的有用信息,我将不胜感激。

一周热门 更多>