Forum Discussion

yang_z_li's avatar
yang_z_li
Occasional Contributor
16 years ago

SoapUI and Qpid

Hi,
I'm a newbie to SOAPUI and am currently evaluating the software to be a potential candidate for our team's test framework.
One of our integration testcase is to send a message to a Qpid(a JMS message bus) broker, get a property from the message response and query database on that property value.
After a few juggling I've managed to get Qpid working with HermesJMS (been able to browse a queue and upload a message from HermesJMS)
http://qpid.apache.org/hermesjms.html

However following the SOAPUI instruction for the JMS test I can't get the simple message request/response example to work on the qpidSession defined in HermesJMS.
http://www.soapui.org/tutorials/jms/jms-tutorial.html

Can someone confirm if it's because it's simply not supported by SOAPUI yet or am I making some mistakes when define the request/response queue in the JMS testStep? (the endpoint url 'jms://activeMQSession/queue_testQ1/queue_testQ1' looks to me to be a SOAPUI specific format and is translated in code - I've had a rough look at the JAVA source code)

I'm wondering if my problem is due to SOAPUI API cannot correctly pass on Qpid's endpoint definition: http://cwiki.apache.org/qpid/bindingurlformat.html

Thanks
Yang

5 Replies

  • Hi!

    hmm.. are you getting any errors in any of the logs? At what step are things not working? Can you attach a screenshot?

    Could you also please try the 3.5 beta nightly build available at http://www.eviware.com/nightly-builds to see if that works better?

    regards!

    /Ole
    eviware.com
  • yang_z_li's avatar
    yang_z_li
    Occasional Contributor
    Hi,
    Thanks for the reply.

    Following the instructions I mentioned above and by replacing some libraries of HermesJMS - http://markmail.org/message/beulnr2t42p ... te:results
    now I have no problem browsing and uploading messages from HermesJMS to the Qpid queue.
    [HermesJMS_Classpath_Group.PNG]
    [HermesJMS_Session.PNG]
    [HermesJMS_Upload_Success.PNG]

    The problem I have is within SOAPUI's SOAP request step I don't seem to be able to send request to the Qpid queue or vice versa.
    [SOAPUI_jms_failure.PNG]

    Is there a SOAPUI log anywhere I can see what exactly is the endpoint the request is sending to?

    I'm currently running the 3.5 beta pro built on 2009/12/16 03:39. I'm going to try the latest nightly built later but I doubt it'll be any different.

    Thanks
    Yang
  • yang_z_li's avatar
    yang_z_li
    Occasional Contributor
    Hi,
    I tried the latest nightly build and the problem remains (can talk to Qpid broker succesfully in HermesJMS but failed in SOAPUI SOAP request).
    As I said 'Is there a SOAPUI log anywhere I can see what exactly is the endpoint the request is sending to'?
    Please leave me a note if you can't replicate the problem!

    Regards
    Yang
  • Hi Yang,

    hmm.. is there any info in any of the log tabs at the bottom? How can we try to replicate this? What do we need to install, etc..?

    regards!

    /Ole
    eviware.com
  • yang_z_li's avatar
    yang_z_li
    Occasional Contributor
    Hi,
    Yes you'll need to install QPid to reproduce the problem. Here're the instructions:
    1. Download QPid broker: http://www.apache.org/dist/qpid/0.5/qpi ... 0.5.tar.gz
    2. Extract to your local drive.
    3. Install Qpid broker following the instructions in ${QPID_HOME}/README (this will be set up ${QPID_HOME} environment variable and add ${QPID_HOME}/bin to your path)
    4. Replace ${QPID_HOME}/etc/config.xml with the file I attached in the email
    5. Type qpid-server from a windows cmd console
    Hopefully you'll have a running Qpid broker by now with the following information in the console:
    Warning: Qpid classpath not set. CLASSPATH set to C:\qpid-broker-0.5\lib\qpid-al
    l.jar
    Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:+UseConcMarkSweepGC
    Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
    Using configuration file C:\qpid-broker-0.5\etc\config.xml
    Configuring logger using configuration file C:\qpid-broker-0.5\etc\log4j.xml
    2010-01-05 10:33:37,918 WARN  [main] management.JMXManagedObjectRegistry (JMXMan
    agedObjectRegistry.java:197) - Starting JMX ConnectorServer on port '8999' (+909
    9)
    2010-01-05 10:33:42,356 INFO  [main] server.Main (Main.java:279) - Starting Qpid
    Broker 0.5 build: exported
    2010-01-05 10:33:43,184 INFO  [main] server.Main (Main.java:387) - Qpid.AMQP lis
    tening on non-SSL address 0.0.0.0/0.0.0.0:5672
    2010-01-05 10:33:43,184 INFO  [main] server.Main (Main.java:409) - Qpid Broker R
    eady :0.5 build: exported


    Now to set up HermesJMS Sessions/Providers following the settings in my screen shots (*the session User/Password are guest/guest)

    You'll also need to replace some incompatible libs under $ {SOAPUI_HOME}/${HERMESJMS_HOME}/lib:
    Remove the following jars:
    *mina-core-1.1.0-SNAPSHOT.jar
    *mina-java5-1.1.0-SNAPSHOT.jar
    *slf4j-jdk14-1.0.1.jar
    And copy the following jars from ${QPID_HOME}/lib
    *mina-core-1.0.1.jar
    *mina-filter-ssl-1.0.1.jar
    *slf4j-api-1.4.0.jar
    *slf4j-log4j12-1.4.0.jar
    Now you should be able to browse the queues(for example test-queue) from HermesJMS.

    Now try to use the endpoint from SOAPUI you should get the empty response and assertion error.

    Let me know if you have problems replicating.

    Cheers
    Yang