If the Interactive Dashboard refuses to work, this could be a port conflict.

Hints, Tips and Tricks

Technical Hints Tips and Tricks that cover customization and development using Sage CRM. API usage and coding are covered.

If the Interactive Dashboard refuses to work, this could be a port conflict.

  • Comments 4
  • Likes

If another program running on the server has a port conflict with Tomcat it will affect both the Interactive Dashboard and the SData integration with Sage CRM.

Errors appearing for SData Provider requests

A port conflict for Tomcat would not affect IIS so the main interface for Sage CRM would appear be working fine, but if an SData provider request is made (e.g. an ERP application requesting Sage CRM information using a SData provider request) then an error which looks something like the following would be returned:

<BODY>
<H1>Service Temporarily Unavailable!</H1>
<P>The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.</P>
<P><BR/>&nbsp;<BR/>&nbsp;<BR/>&nbsp;<BR/>&nbsp;Jakarta/ISAPI/isapi_redirector/1.2.28<BR/>&nbsp;
<HR/>
<P id="footer">Copyright &copy; 1999-2009 Apache Software Foundation<BR/>All Rights Reserved</P>
</BODY>

There would also be problems synching data between Sage CRM and an ERP system (i.e. their sync status would be set to “Failed” in CRM) that is using the Sage SData contract. See http://sdata.sage.com for more details about ERP integration.

Errors appearing in the Interactive Dashboard

A port conflict would mean the dashboard would not be working at all, for example, if you tried to create a dashboard you’d get an error like “The Dashboard could not be saved. Please contact your System Administrator.”. 

You can investigate this by looking in the logs

If you see the error “java.net.BindException: Address already in use: JVM_Bind” in the logs, this is because some application is already using Tomcat’s preferred port number.

You can solve this issue using the steps below:

1.  Navigate to the folder containing your installs Tomcat’s server.xml file.

e.g.  C:\Program Files (x86)\Sage\CRM\[installname]\tomcat\conf

2.       Open the file and look for its port number. It’ll look something like “<Server port="10005" shutdown="SHUTDOWN">”.

3.       You now have two options: you can force Tomcat to use an unused port (step 4), or you can kill the process (PID) which is using Tomcat’s port (steps 5, 6).

4.       Open the command prompt and type “netstat –a –n”.  This will tell you which ports are currently in use. Simply pick a port number which isn’t on screen, and update server.xml accordingly. You can now start Tomcat. 

5.       Open the command prompt and type “netstat –a –n –o”. This will tell you which ports are currently in use, and which PIDs are using them. Locate and make a note of the PID which is using Tomcat’s port.

6.       Open “Windows Task Manager”, click “View”, click “Select Columns”, check “PID (Process Identifier)” and press “OK”. Locate the PID you made a note of in step 2 and -- assuming it isn’t a vital windows process -- kill it. You can now start Tomcat. 

Comments
  • There is no port conflict, yet Interactive Dashboard does not work

  • I don't understand. When did Tomcat server enter the picture? I just finished installing Sage CRM 7.0c and now when trying to upload data I get a whole new error: CRM is unable to proceed with this data upload as the Tomcat Server appears to be stopped

  • If you follow the Key/Tag Words for Interactive Dashboard, then Error Messages you will come across more articles that may help you diagnose your problems.

  • Jeff:  I know this is an old post.  However, I am trying to clear the red X status in system health for TomCat and I want to make sure I am looking at things right.  I have reviewed ports and PIDs with netstat before and things made sense.  However, I am scratching my head at the moment with what I am seeing on my install and what I am seeing on this post.  I understand these images are "examples" and I am probably looking at this wrong.  However, that is what I need to confirm.  :-)

    In this example, you are looking at the server.xml file to see what server port is being using and it indicates 10005.

    Then you ran the netstat command -- netstat –a –n –o to find the PID that is using the port.

    However, in the data this is returned in the screenshot above --- port 10005 is not there.  Correct?

    The port would be after the ":" in the local address right?  port 10005 does not appear.

    Again, I understand these are "example" screenshots.  I am trying to confirm the above because my server.xml file indicates port 10005 and when I run the command netstat –a –n –o, I don't see port 10005 anywhere.  Therefore, I am not sure if I am dense....or if I have a problem.

    I should see the 10005 port on command prompt screen...right?

    Although system health is showing a red x for TomCat, TomCat is running and my dashboards appear to be working fine.  Therefore, I am not sure why I am getting a red X.

    Any assistance you can provide to help me understand what I am seeing with the netstat command would be greatly appreciated.

    Thank you!