JCo IDoc server cannot receive messages due to port issue

1.6k Views Asked by At

I have a java based IDoc listening server which is built using JCo 3. When I started it and sent a IDoc from the sap system it gives me an exception in below trace.

As it says, I thought this is due to unavailability of message server and logged in to SAP machine and using netstat checked the opened ports.

Port 3600 was not listening but port 7200 is reported to be opened by msg_server.exe. I have set my JCo server side machine's /etc/services file to sapmsNSP 3600/tcp but even if I changed it to 7200 it gives me exception saying internal error.

Trace:

   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
1

There are 1 best solutions below

2
On

The error message says that no running process on host 192.168.56.101 listens to the port 3600. This means that either the SAP message server process is listening to a different port or it is simply not running at all.

If you can do a group logon with an SAP GUI to the ABAP system NSP, your services file should be configured correctly. By the way, the SAP message server process is usually named msg_server.exe on Windows - not message_server.exe. If you changed your services file you should at least get a different error message at the DETAIL error message part showing the modified port number. Otherwise you failed to change the services file (not saved? no carriage return after the last line?) or you did not restart your JCo server program after changing the services file.