Service Virtualization

Expand all | Collapse all

Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

  • 1.  Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-15-2016 12:35 AM

    I'm attempting to do this with ::

    CA DevTest 9.0

    IBM WebSphere MQ Runtine 8.0.0


     

    I'm trying to figure out how to create a virtual service by recording transactions to/from IBM WebSphere MQ.  When I select the "IBM MQ Series (Deprecated)" transport protocol as defined in the official instructions, I get the following error.

     

    Missing_IBM_JARS.png

     

     

    I found this very similar discussion in the community and followed the advice of MarcyNunns

    I went to my MQ installation {MQ_HOME/java/lib} and copied all of the JAR files and moved them into my DevTest CLASSPATH {LISA_HOME/lib}.  (Initially, I only copy/pasted the JARs defined in that screenshot, but my MQ installation doesn't have the com.ibm.mqbind.jar or the dhbcore.jar)

     

    However, even after copying all of the JARs into my LISA_HOME/lib and restarting the Workstation, I still get the exact same error.

     


    Here are all of the JARs that I do have in my MQ installation ::

    com.ibm.mq.allclient.jar

    com.ibm.mq.axis2.jar

    com.ibm.mq.commonservices.jar

    com.ibm.mq.defaultconfig.jar

    com.ibm.mq.headers.jar

    com.ibm.mq.jar

    com.ibm.mq.jmqi.jar

    com.ibm.mq.jms.Nojndi.jar

    com.ibm.mq.pcf.jar

    com.ibm.mq.postcard.jar

    com.ibm.mq.soap.jar

    com.ibm.mq.tools.ras.jar

    com.ibm.mq.traceControl.jar

    com.ibm.mqjms.jar

    fscontext.jar

    jms.jar

    jta.jar

    libmqjbnd.so

    libmqjexitstub02.so

    providerutil.jar

     


     

     

    Anybody have any ideas on exactly what JARs I need and where I can find them?

     

    Thanks,

    Jeff



  • 2.  Re: Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-15-2016 03:13 AM

    It's not that you're missing jars.  Some of the v8.0 IBM MQ classes depend on the newer JMS 2.0 API jar.  To use the old MQ step with 8.0 MQ jars you will need javax.jms-api-2.0.jar, which can be downloaded here:

     

    Maven Repository: javax.jms » javax.jms-api » 2.0

     

    Place it in lib/ along with the MQ jars.  This does not appear to cause problems with the rest of DevTest, but I have not done thorough testing on it yet.

     

    Alternatively, the new IBM MQ Native VSE protocol does not try to load JMS classes, not even used by Native mode, in order to verify the right jars are present.  If you're using IBM MQ Native mode then I would recommend using that protocol instead of the deprecated IBM MQ Series.  Or, if you actually are using IBM MQ JMS mode then I'd recommend using the new JMS protocol, which does support IBM MQ JMS Mode.



  • 3.  Re: Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-15-2016 04:48 PM

    Kevin -

     

    Thank you for the reply.

     

    I'm honestly not sure how to check what mode MQ is running in (still trying to figure that out)

     

    I went ahead and tried using the "IBM MQ Native" Transport Protocol.

    When I do that, I get a "NoClassDefFoundError: com/ibm/mq/MQ/MQException" error.

    NoClassDefFoundError.png

     

     

     

    I also tried using the "JMS" Transport Protocol.

    When I do that, I get a "Missing jar file com.ibm.mqjms.jar, usually found in IBMMQ_HOME/java/lib" error, but I do have that JAR sitting in my {LISA_HOME}/lib.

    MissingJar.png

     

     

     

    Any idea what else may be occurring?



  • 4.  Re: Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-15-2016 05:31 PM

    For your first error, com.ibm.mq.MQException can be found in com.ibm.mq.jmqi.jar.  If this jar is present then look in your workstation log for another error above the NoClassFoundError.  Some other problem is preventing it from loading the MQException class.

     

    For your second error, this is still because you're missing javax.jms-api-2.0.jar.  You cannot use IBM MQ JMS mode without that jar present.



  • 5.  Re: Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-15-2016 06:16 PM
      |   view attached

    Kevin -

     

    The com.ibm.mq.jmqi.jar is present in the /lib dir.

     

    The preceeding error message is :: "Value for Unknown Response Operation was null".

     

    I'll attach the stacktrace from the Workstation log as a text file, since it's kind of long.

     

    Thanks again for the assistance!

     

    -Jeff

    Attachment(s)

    zip
    Error.txt.zip   1 KB 1 version


  • 6.  Re: Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-15-2016 07:33 PM

    That's an unrelated error.  I'm sorry, but you're just going to have to get in touch with support and send us your whole log.

     

    Are you running on a Mac by chance?  Last I checked, the Mac launcher does not automatically pull everything from lib/, but it's been a very long time since I checked.



  • 7.  Re: Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-19-2016 10:37 AM

    Kevin -

     

    Nope, not running on a Mac.  Using 64-bit Win7 Enterprise edition.

     

    -Jeff



  • 8.  Re: Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-19-2016 11:45 AM

    I'm able to get the IBM MQ Native step to work with just the following v8.0.0.2 IBM MQ jars:

     

    com.ibm.mq.commonservices.jar

    com.ibm.mq.headers.jar

    com.ibm.mq.jar

    com.ibm.mq.jmqi.jar

    com.ibm.mq.pcf.jar

    com.ibm.mqjms.jar

    dhbcore.jar

     

    Can you check the exact version of your MQ jars?  Open one of the .jar files like a .zip file, open META-INF/MANIFEST.MF with a text editor, and find the 'Implementation-Version' line.

     

    Have you added any other, non MQ-related jars to lib/?



  • 9.  Re: Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-19-2016 05:37 PM

    Here are the versions I get for those JARs ::

     

    com.ibm.mq.commonservices.jar      = Implementation-Version: p800-004-151017

    com.ibm.mq.headers.jar                  = Implementation-Version: 8.0.0.4 - p800-004-151017

    com.ibm.mq.jar                              = Implementation-Version: 8.0.0.4 - p800-004-151017

    com.ibm.mq.jmqi.jar                       = Implementation-Version: 8.0.0.4 - p800-004-151017

    com.ibm.mq.pcf.jar                         = Implementation-Version: 8.0.0.4 - p800-004-151017

    com.ibm.mqjms.jar                         = Implementation-Version: 8.0.0.4 - p800-004-151017

    dhbcore.jar                                     = Implementation-Version: DH000-L50920

     

     

    I haven't added any other JARs of any kind.



  • 10.  Re: Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-19-2016 07:56 PM

    Well, I got nothing. 

     

    Can you contact CA/DevTest support and get us your full workstation log?  Mention that you've already talked to me on the forums and they can probably expedite things a bit.  I'll probably also ask for you to send us your v8.0.0.4 so I can try them myself.



  • 11.  Re: Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-21-2016 03:36 PM

    Thanks for all of the help Kevin.  I ended up opening a ticket with support and got some more assistance.  I believe that I have the proper set of JARs now for my setup.

     

    com.ibm.mq.allclient.jar

    com.ibm.mq.commonservices.jar

    com.ibm.mq.headers.jar

    com.ibm.mq.jar

    com.ibm.mq.jmqi.jar

    com.ibm.mq.pcf.jar

    com.ibm.mqjms.jar

     

    NOTE::I originally placed all of my JARs into a subfolder in lib (i.e. /lib/ibm/) and apparently you can't do that.

     

    Now I just need to work with my MQ admins to setup proxy queues and identify if we also need to setup live queues.

     

    Thanks again for all your help.



  • 12.  Re: Recording IBM WebSphere MQ -- Missing required IBM JMS jar files

    Posted 01-21-2016 03:50 PM

    NOTE::I originally placed all of my JARs into a subfolder in lib (i.e. /lib/ibm/) and apparently you can't do that.

    Well there's your problem.

     

    Now I just need to work with my MQ admins to setup proxy queues and identify if we also need to setup live queues.

    Typically the "Live" queues are the ones your application runs on normally, and the service side of your application continues to operate on those queues.  The proxy queues are created to insert the VSE recorder, and the client side of your application is reconfigured to use those queues.