Forum Discussion

zijst005's avatar
zijst005
Occasional Contributor
9 years ago
Solved

Ready! API 1.4 Always refering to tcp://localhost:7222 eventough HermesJMS is correctly configured

Hi all,

 

I hope there is someone here who can help me out with the following scenario:

 

I installed Ready API 1.4  and I have Created an HermesJMS Connection to a remote EMS server

From within HermesJMS i was able to discover the Queues... so far so good.

 

From the "Project View" i added an End point to the Interface from which i will be using the opperation, To do this, i used the JMS endpoint wizzard here i set the "To" Queue and the "Reply" Queue.

 

After this, i switched to SoapUI NG (pro) where i created an Testcase and added an JMS step to the testcase.

i selected the operation that i wanted to use and set the correct endpoint (which was already available).

 

After filling in the details required for my JMS call i pressed the sent button....

it took some Miliseconds but it stated that the message was sent. (but there was no reply)

(Please note that i did specify the reply queue in the Wizard)

 

because there was no reply, I restarted Ready API 1.4 with the .bat file... running it in debug mode.

when i initiated the JMS call again i noticed that the Debug window stated that it could not connect to tcp://localhost:7222.

 

my question is as followed:

why is the request sent to tcp://localhost:7222 eventought the endpoint is pointing to the hermesJMS configuration and the configuration is pointing towards an remote server on which the EMS is running.

 

 

 

  • AntonE's avatar
    AntonE
    9 years ago

    Hi zijst005

     

    Thanks for reporting your problem. We found out that it is actually a bug, related to Ready! API - Hermes interaction. While we are working on it, you could use a workaround: copy the following jars from ReadyAPI-1.4.0/hermesJMS/lib to ReadyAPI-1.4.0/lib:

    • asm-2.1.jar
    • asm-commons-2.1.jar
    • asm-util-2.1.jar
    • cglib-2.2_beta1.jar

    Also, make sure you set connection parameters in Hermes both for plugin (serverUrl, username, password) and connection factory (serverUrl, userName, userPassword) - the values should be the same.

     

    Please, write back how that will work out.

9 Replies

  • nmrao's avatar
    nmrao
    Champion Level 3

    You may follow below to see if the same works for you:

     

    1. Have a back up of hermes-1.14.jar from SOAPUI_HOME/lib and remove form file from here.
    2. Copy hermes.jar from HERMESJMS_HOME/lib to SOAPUI_HOME/lib/
    3. Rename copied hermes.jar to hermes-1.14.jar
    4. Restart Soapui.
    • zijst005's avatar
      zijst005
      Occasional Contributor

      Thanks for your reply,

       

      I did the steps that you suggested, however the result remains the same.

      i restarted SoapUI but still the JMS call is sent to Localhost:7222

       

    • zijst005's avatar
      zijst005
      Occasional Contributor

      don't know if this helps you but here is an extract taken from the SoapUI debug window:

       

      This happens when i sent the message:

       

      14:07:20,112 WARN  [HermesJmsRequestTransport] Invalid timeout extracted (not a
      number): null
      
       
      
       
      14:07:23,407 ERROR [SoapUI] An error occurred [Failed to connect to the server a
      t tcp://localhost:7222], see error log for details
      javax.jms.JMSException: Failed to connect to the server at tcp://localhost:7222
              at com.tibco.tibjms.TibjmsxLinkTcp._createSocket(TibjmsxLinkTcp.java:831
      )
              at com.tibco.tibjms.TibjmsxLinkTcp.connect(TibjmsxLinkTcp.java:922)
              at com.tibco.tibjms.TibjmsConnection._create(TibjmsConnection.java:1299)
      
              at com.tibco.tibjms.TibjmsConnection.<init>(TibjmsConnection.java:4155)
              at com.tibco.tibjms.TibjmsTopicConnection.<init>(TibjmsTopicConnection.j
      ava:36)
              at com.tibco.tibjms.TibjmsxCFImpl._createImpl(TibjmsxCFImpl.java:191)
              at com.tibco.tibjms.TibjmsxCFImpl._createConnection(TibjmsxCFImpl.java:2
      53)
              at com.tibco.tibjms.TibjmsConnectionFactory.createConnection(TibjmsConne
      ctionFactory.java:36)
              at com.eviware.soapui.impl.wsdl.submit.transports.jms.JMSConnectionHolde
      r.createConnection(JMSConnectionHolder.java:87)
              at com.eviware.soapui.impl.wsdl.submit.transports.jms.HermesJmsRequestSe
      ndReceiveTransport.execute(HermesJmsRequestSendReceiveTransport.java:39)
              at com.eviware.soapui.impl.wsdl.submit.transports.jms.HermesJmsRequestTr
      ansport.sendRequest(HermesJmsRequestTransport.java:100)
              at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:119)
              at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
              at java.util.concurrent.FutureTask.run(Unknown Source)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
              at java.lang.Thread.run(Unknown Source)
      14:07:23,436 WARN  [HermesJmsRequestTransport] Error Response
      javax.jms.JMSException: Failed to connect to the server at tcp://localhost:7222
              at com.eviware.soapui.impl.wsdl.submit.transports.jms.JMSConnectionHolde
      r.createConnection(JMSConnectionHolder.java:102)
              at com.eviware.soapui.impl.wsdl.submit.transports.jms.HermesJmsRequestSe
      ndReceiveTransport.execute(HermesJmsRequestSendReceiveTransport.java:39)
              at com.eviware.soapui.impl.wsdl.submit.transports.jms.HermesJmsRequestTr
      ansport.sendRequest(HermesJmsRequestTransport.java:100)
              at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:119)
              at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
              at java.util.concurrent.FutureTask.run(Unknown Source)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
              at java.lang.Thread.run(Unknown Source)
      • nmrao's avatar
        nmrao
        Champion Level 3
        Can hermes-config.xml file be attached, just in case to see every thing is alright or to isolate the issue?