HermesJMS not able to connect to TibcoEMS server

572 Views Asked by At

I am trying to browse queues on remote TibcoEMS (ver 8+) server using HermesJMS. Whenever I use Browse option on the configured EMS server, I get following error (server and port obscured):

com.tibco.tibjms.admin.TibjmsAdminException: Unable to connect to server. Root cause:
javax.jms.JMSException: Failed to connect to the server at tcp://servername.domain.com:port
    at com.tibco.tibjms.admin.MessengerUtil.<init>(MessengerUtil.java:59)
    at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:458)
    at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:439)
    at hermes.ext.ems.TibcoEMSAdminFactory.createAdmin(TibcoEMSAdminFactory.java:105)
    at hermes.ext.ems.TibcoEMSAdmin.getAdmin(TibcoEMSAdmin.java:75)
    at hermes.ext.ems.TibcoEMSAdmin.discoverDestinationConfigs(TibcoEMSAdmin.java:261)
    at hermes.impl.HermesAdminAdapter.discoverDestinationConfigs(HermesAdminAdapter.java:82)
    at hermes.impl.DefaultHermesImpl.discoverDestinationConfigs(DefaultHermesImpl.java:1126)
    at hermes.browser.tasks.DiscoverDestinationsTask.invoke(DiscoverDestinationsTask.java:77)
    at hermes.browser.tasks.TaskSupport.run(TaskSupport.java:175)
    at hermes.browser.tasks.ThreadPool.run(ThreadPool.java:170)
    at java.lang.Thread.run(Unknown Source)
Internal exception:
javax.jms.JMSException: Failed to connect to the server at tcp://servername.domain.com:port
    at com.tibco.tibjms.TibjmsxLinkTcp._createSocket(TibjmsxLinkTcp.java:823)
    at com.tibco.tibjms.TibjmsxLinkTcp.connect(TibjmsxLinkTcp.java:914)
    at com.tibco.tibjms.TibjmsConnection._create(TibjmsConnection.java:1351)
    at com.tibco.tibjms.TibjmsConnection.<init>(TibjmsConnection.java:4311)
    at com.tibco.tibjms.TibjmsQueueConnection.<init>(TibjmsQueueConnection.java:36)
    at com.tibco.tibjms.TibjmsxCFImpl._createImpl(TibjmsxCFImpl.java:200)
    at com.tibco.tibjms.TibjmsxCFImpl._createConnection(TibjmsxCFImpl.java:253)
    at com.tibco.tibjms.TibjmsQueueConnectionFactory.createQueueConnection(TibjmsQueueConnectionFactory.java:87)
    at com.tibco.tibjms.admin.MessengerUtil.<init>(MessengerUtil.java:47)
    at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:458)
    at com.tibco.tibjms.admin.TibjmsAdmin.<init>(TibjmsAdmin.java:439)
    at hermes.ext.ems.TibcoEMSAdminFactory.createAdmin(TibcoEMSAdminFactory.java:105)
    at hermes.ext.ems.TibcoEMSAdmin.getAdmin(TibcoEMSAdmin.java:75)
    at hermes.ext.ems.TibcoEMSAdmin.discoverDestinationConfigs(TibcoEMSAdmin.java:261)
    at hermes.impl.HermesAdminAdapter.discoverDestinationConfigs(HermesAdminAdapter.java:82)
    at hermes.impl.DefaultHermesImpl.discoverDestinationConfigs(DefaultHermesImpl.java:1126)
    at hermes.browser.tasks.DiscoverDestinationsTask.invoke(DiscoverDestinationsTask.java:77)
    at hermes.browser.tasks.TaskSupport.run(TaskSupport.java:175)
    at hermes.browser.tasks.ThreadPool.run(ThreadPool.java:170)
    at java.lang.Thread.run(Unknown Source)

However, I can telnet to server on required port, can connect to server using EMS admin console, also able to connect to this server through java program using below code and list queue names:

TibjmsAdmin admin = new TibjmsAdmin( serverUrl, userName, passwd );
System.out.println( "Displaying queues" );
for (QueueInfo qf: admin.getQueues())
    System.out.println( qf.getName()  );

Tried searching on web and SO but to no avail. Its not authentication problem for sure as I can connect using EMS admin console and java program.

Any clue whats going on here?

1

There are 1 best solutions below

0
On

Why do you want to use hermesJMS? Instead you can use GEMS which is perfect for TIBCO EMS and you can perform number of operation using GEMS including publishing message on the queue and reading the content(body) of pending message on the queue.