我有一个使用 JCo 3 构建的基于 java 的 idoc 侦听服务器。当我启动它并从 sap 系统发送一个 Idoc 时,它给了我一个异常。
com.sap.conn.idoc.IDocRuntimeException: Failed to resolve repository reference @MYDESTINATION
at com.sap.conn.idoc.jco.rt.DefaultJCoIDocServer$IDocRepositoryMapBox$IDocRepositoryReference.getRepository(DefaultJCoIDocServer.java:245)
at com.sap.conn.idoc.jco.rt.DefaultJCoIDocServer$IDocRepositoryMapBox.getRepository(DefaultJCoIDocServer.java:397)
at com.sap.conn.idoc.jco.rt.DefaultJCoIDocServer.getIDocRepository(DefaultJCoIDocServer.java:128)
at com.sap.conn.idoc.jco.rt.DefaultJCoIDocServerWorker$IDocDispatcher.createIDocDocumentListArray(DefaultJCoIDocServerWorker.java:445)
at com.sap.conn.idoc.jco.rt.DefaultJCoIDocServerWorker$IDocDispatcher.handleRequest(DefaultJCoIDocServerWorker.java:209)
at com.sap.conn.jco.rt.DefaultServerWorker.dispatchRequest(DefaultServerWorker.java:148)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.dispatchRequest(MiddlewareJavaRfc.java:3680)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.executePlayback(MiddlewareJavaRfc.java:3158)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.playbackTRfc(MiddlewareJavaRfc.java:2981)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.handletRfcRequest(MiddlewareJavaRfc.java:2875)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcServer.listen(MiddlewareJavaRfc.java:2674)
at com.sap.conn.jco.rt.DefaultServerWorker.dispatch(DefaultServerWorker.java:275)
at com.sap.conn.jco.rt.DefaultServerWorker.loop(DefaultServerWorker.java:356)
at com.sap.conn.jco.rt.DefaultServerWorker.run(DefaultServerWorker.java:232)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.sap.conn.jco.JCoException: (102) JCO_ERROR_COMMUNICATION: Connect to message server host failed
Connection parameters: TYPE=B DEST=MYDESTINATION MSHOST=192.168.56.101 R3NAME=NSP GROUP=PUBLIC PCS=1
ERROR partner '192.168.56.101:sapmsNSP' not reached
TIME Thu Jan 12 16:19:21 2017
RELEASE 721
COMPONENT NI (network interface)
VERSION 40
RC -10
MODULE nixxi.cpp
LINE 3283
DETAIL NiPConnect2: 192.168.56.101:3600
SYSTEM CALL connect
ERRNO 61
ERRNO TEXT Connection refused
COUNTER 1
正如它所说,我认为这是由于消息服务器不可用并登录到 sap 机器并使用 netstat 检查打开的端口。
端口 3600 未在侦听,但报告端口 7200 已被 msg_server.exe 打开。我已将我的 jco 服务器端机器的 /etc/services 文件设置为,sapmsNSP 3600/tcp
但即使我将其更改为 7200,它也会给我异常说内部错误