Forum Discussion
johand is it possible for you to try the 1.2.1 as i suggested in my post above?
It's relevant to know to track down if virt-refactoring between 1.2.1 - 1.3.1 caused this.
@OstbergM I already tried that, but unfortunately that didn't resolve the problem.
- 05ten10 years agoContributor
Hello,
I've dug into the issue at hand somewhat, and from the exception its pretty clear that the client(HermesJMS) is unable to find the native library mqjbnd64.dll that probably is in your WMQ installation.
You could either try to add the dependency directly to the java.library.path in ready-api.bat or
you could try to adding it to the hermesJMS/lib folder.
I'm not entirely sure the second option will work, but might aswell try it first since its much easier than appending the java.library.path-property.
If you go with java.library.path-option you need to open up ready-api.bat in your Ready Installation and modify the following line.
set JAVA_OPTS=%JAVA_OPTS% -Djava.library.path="%READY_API_HOME%\"
to
set JAVA_OPTS=%JAVA_OPTS% -Djava.library.path="%READY_API_HOME%\:C:\path\to\your\WMQ\installation\lib64""
After that has been done, please make sure you also start Ready by running the bat-file.
Have a go at it and see if that works. Otherwise, please share your Help > System Properties and any other errors you might encounter in the logs.
- johand10 years agoOccasional Contributor
Yes, I was also triggered by that message (the missing mqjbnd64.dll). Problem is, we don't have a full WMQ installation. Our C:\Program Files (x86)\IBM\WebSphere MQ directory, where the file should be is empty.
Another thing to consider: the error occurs even when using the same HermesJMS client and hermes-config.xml file. Somehow SoapUI doesn't have any problem and doesn't throw the missing dll-file error, but ReadyAPI does.
One extra thing to add is, we've added the following jar-files to HermesJMS in the providers-tab and use those to set up our connection:
-commonservices-7.5.0.2.jar
-connector.jar
-dhbcore-7.5.0.2.jar
-headers-7.5.0.2.jar
-jmqi-7.5.0.2.jar
-mq-7.5.0.2.jar
-mqjms-7.5.0.2.jar
-pcf-7.5.0.2.jar
I've also attached both system properties and included the hermes configuration file.
- johand10 years agoOccasional Contributor
Also, because we're using a groovy-script, I was able to extract some information regarding the different variables we are setting up in the beginning of our script.
This is part of the code:
import com.eviware.soapui.impl.wsdl.submit.transports.jms.JMSConnectionHolder
import com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils
import com.eviware.soapui.impl.wsdl.submit.transports.jms.JMSEndpoint
import hermes.Hermes
import javax.jms.*
def queue = 'jms://FAT::queue_' + context.expand( '${#Project#Omgeving}' ) + '.UQ.WEKKER_AFGEGAAN.LQ'
def jmsEndpoint = new JMSEndpoint(queue);
def hermes = HermesUtils.getHermes( context.testCase.testSuite.project, jmsEndpoint.sessionName );
log.info hermes;
log.info HermesUtils.defaultHermesJMSPath();
log.info HermesUtils.HERMES_CONFIG_XML;
log.info HermesUtils.isHermesJMSSupported();
log.info jmsEndpoint.sessionName;
def jmsConnectionHolder = new JMSConnectionHolder( jmsEndpoint, hermes, false, null ,null ,null );The following is returned when executing it in SoapUI:
Wed Jun 03 12:59:35 CEST 2015:INFO:connectionFactory class=com.ibm.mq.jms.MQXAConnectionFactory, properties={SSLCipherSuite=null, wildcardFormat=0, hdrCompListAsString=null, CCDTURL=null, cloneSupport=null, proxyHostName=null, localAddress=null, messageRetention=null, tempTopicPrefix=null, brokerVersion=-1, multicast=0, providerVersion=null, maxBufferSize=null, useConnectionPooling=null, description=null, tempQPrefix=null, cleanupInterval=null, empty=null, hostName=null, queueManager=null, brokerPubQueue=null, class=null, pollingInterval=null, statusRefreshInterval=null, processDuration=null, proxyPort=null, MQConnectionOptions=null, pubAckInterval=null, clientId=null, subscriptionStore=null, shareConvAllowed=null, cleanupLevel=null, sendExitInit=null, brokerControlQueue=null, optimisticPublication=null, receiveExit=null, port=null, sparseSubscriptions=null, outcomeNotification=null, securityExitInit=null, temporaryModel=null, hdrCompList=null, CCSID=null, securityExit=null, brokerCCSubQueue=null, clientID=null, msgBatchSize=null, msgCompList=null, version=7, targetClientMatching=null, clientReconnectOptions=null, directAuth=null, messageSelection=null, failIfQuiesce=1, mapNameStyle=null, SSLPeerName=null, SSLResetCount=null, clientReconnectTimeout=null, sendCheckCount=null, brokerQueueManager=null, receiveIsolation=null, SSLCertStoresAsString=null, connTag=null, msgCompListAsString=null, SSLFipsRequired=null, asyncExceptions=null, connectionNameList=null, SSLSocketFactory=null, reference=null, syncpointAllGets=null, rescanInterval=null, SSLCertStores=null, appName=null, receiveExitInit=null, sendExit=null, brokerSubQueue=null, propertyNames=null, channel=null, transportType=null}
Wed Jun 03 12:59:35 CEST 2015:INFO:C:\Data\ReadyAPI-1.3.1\hermesJMS
Wed Jun 03 12:59:35 CEST 2015:INFO:hermes-config.xml
Wed Jun 03 12:59:35 CEST 2015:INFO:true
Wed Jun 03 12:59:35 CEST 2015:INFO:FATExcuting the same in ReadyAPI gives the following:
Wed Jun 03 13:24:40 CEST 2015:INFO:connectionFactory class=com.ibm.mq.jms.MQXAConnectionFactory, properties={SSLCipherSuite=null, wildcardFormat=0, hdrCompListAsString=null, CCDTURL=null, cloneSupport=null, proxyHostName=null, localAddress=null, messageRetention=null, tempTopicPrefix=null, brokerVersion=-1, multicast=0, providerVersion=null, maxBufferSize=null, useConnectionPooling=null, description=null, tempQPrefix=null, cleanupInterval=null, empty=null, hostName=null, queueManager=WINFAT, brokerPubQueue=null, class=null, pollingInterval=null, statusRefreshInterval=null, processDuration=null, proxyPort=null, MQConnectionOptions=null, pubAckInterval=null, clientId=null, subscriptionStore=null, shareConvAllowed=null, cleanupLevel=null, sendExitInit=null, brokerControlQueue=null, optimisticPublication=null, receiveExit=null, port=null, sparseSubscriptions=null, outcomeNotification=null, securityExitInit=null, temporaryModel=null, hdrCompList=null, CCSID=null, securityExit=null, brokerCCSubQueue=null, clientID=null, msgBatchSize=null, msgCompList=null, version=7, targetClientMatching=null, clientReconnectOptions=null, directAuth=null, messageSelection=null, failIfQuiesce=1, mapNameStyle=null, SSLPeerName=null, SSLResetCount=null, clientReconnectTimeout=null, sendCheckCount=null, brokerQueueManager=null, receiveIsolation=null, SSLCertStoresAsString=null, connTag=null, msgCompListAsString=null, SSLFipsRequired=null, asyncExceptions=null, connectionNameList=null, SSLSocketFactory=null, reference=null, syncpointAllGets=null, rescanInterval=null, SSLCertStores=null, appName=null, receiveExitInit=null, sendExit=null, brokerSubQueue=null, propertyNames=null, channel=null, transportType=1}
Wed Jun 03 13:24:40 CEST 2015:INFO:C:\Data\ReadyAPI-1.3.1\hermesJMS
Wed Jun 03 13:24:40 CEST 2015:INFO:hermes-config.xml
Wed Jun 03 13:24:40 CEST 2015:INFO:true
Wed Jun 03 13:24:41 CEST 2015:INFO:FATAs you can see, there is a slight difference in the properties used.
Related Content
- 10 years ago
- 6 years ago
Recent Discussions
- 22 days ago