search cancel

Virtual Service Error in MQ listen step - java.lang.RuntimeException: Could not create IBMSecureRandom

book

Article ID: 190436

calendar_today

Updated On:

Products

CA Application Test Service Virtualization

Issue/Introduction

Getting the following error in my virtual service MQ listen step.  Have test scripts working on the Workstation that can put and get from the queue in question.


============================================================================
| Could not create IBMSecureRandom
============================================================================
| Step:        Listen
----------------------------------------------------------------------------
| Message:     Could not create IBMSecureRandom
----------------------------------------------------------------------------
| Trapped Exception: Could not create IBMSecureRandom
| Trapped Message:   java.lang.RuntimeException: Could not create IBMSecureRandom
----------------------------------------------------------------------------
STACK TRACE
java.lang.RuntimeException: Could not create IBMSecureRandom
 at com.ibm.jsse2.lb.f(lb.java:29)
 at com.ibm.jsse2.dc.engineInit(dc.java:18)
 at javax.net.ssl.SSLContext.init(SSLContext.java:282)
 at com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.getNonFipsSocketFactory(RemoteTCPConnection.java:2417)
 at com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.chooseSocketFactory(RemoteTCPConnection.java:2246)
 at com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.makeSocketSecure(RemoteTCPConnection.java:1966)
 at com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.connnectUsingLocalAddress(RemoteTCPConnection.java:865)
 at com.ibm.mq.jmqi.remote.impl.RemoteTCPConnection.protocolConnect(RemoteTCPConnection.java:1281)
 at com.ibm.mq.jmqi.remote.impl.RemoteConnection.connect(RemoteConnection.java:884)
 at com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSessionFromNewConnection(RemoteConnectionSpecification.java:409)
 at com.ibm.mq.jmqi.remote.impl.RemoteConnectionSpecification.getSession(RemoteConnectionSpecification.java:305)
 at com.ibm.mq.jmqi.remote.impl.RemoteConnectionPool.getSession(RemoteConnectionPool.java:146)
 at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1729)
 at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1293)
 at com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiConnect(InterceptedJmqiImpl.java:376)
 at com.ibm.mq.ese.jmqi.ESEJMQI.jmqiConnect(ESEJMQI.java:560)
 at com.ibm.mq.MQSESSION.MQCONNX_j(MQSESSION.java:916)
 at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:235)
 at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:450)
 at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:487)
 at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:97)
 at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:194)
 at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:868)
 at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:816)
 at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:758)
 at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:200)
 at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:761)
 at com.itko.lisa.messaging.providers.ibmmq.IbmMqUtils.createQueueManager(IbmMqUtils.java:122)
 at com.itko.lisa.messaging.providers.ibmmq.IbmMqQueueManagerAsset.createInstance(IbmMqQueueManagerAsset.java:270)
 at com.itko.lisa.messaging.providers.ibmmq.IbmMqQueueManagerAsset.createInstance(IbmMqQueueManagerAsset.java:65)
 at com.itko.lisa.asset.LocalAssetRuntime$InstanceEntry.open(LocalAssetRuntime.java:2349)
 at com.itko.lisa.asset.LocalAssetRuntime$InstanceEntry.checkOut(LocalAssetRuntime.java:1568)
 at com.itko.lisa.asset.LocalAssetRuntime$RuntimeEntry.checkOut(LocalAssetRuntime.java:824)
 at com.itko.lisa.asset.LocalAssetRuntime.doOpenAsset(LocalAssetRuntime.java:169)
 at com.itko.lisa.asset.LocalAssetRuntime.openAssetInScope(LocalAssetRuntime.java:126)
 at com.itko.lisa.asset.LocalAssetRuntime.openAsset(LocalAssetRuntime.java:117)
 at com.itko.lisa.messaging.providers.ibmmq.IbmMqQueueAsset.createInstance(IbmMqQueueAsset.java:234)
 at com.itko.lisa.messaging.providers.ibmmq.IbmMqQueueAsset.createInstance(IbmMqQueueAsset.java:43)
 at com.itko.lisa.asset.LocalAssetRuntime$InstanceEntry.open(LocalAssetRuntime.java:2349)
 at com.itko.lisa.asset.LocalAssetRuntime$InstanceEntry.checkOut(LocalAssetRuntime.java:1568)
 at com.itko.lisa.asset.LocalAssetRuntime$RuntimeEntry.checkOut(LocalAssetRuntime.java:824)
 at com.itko.lisa.asset.LocalAssetRuntime.doOpenAsset(LocalAssetRuntime.java:169)
 at com.itko.lisa.asset.LocalAssetRuntime.openAssetInScope(LocalAssetRuntime.java:126)
 at com.itko.lisa.asset.LocalAssetRuntime.openAssetInScope(LocalAssetRuntime.java:124)
 at com.itko.lisa.asset.LocalAssetRuntime.openAsset(LocalAssetRuntime.java:117)
 at com.itko.lisa.messaging.providers.ibmmq.IbmMqGetOperation.executeSync(IbmMqGetOperation.java:1128)
 at com.itko.lisa.messaging.providers.ibmmq.IbmMqGetOperation.doExecute2(IbmMqGetOperation.java:914)
 at com.itko.lisa.messaging.providers.ibmmq.IbmMqGetOperation.doExecute2(IbmMqGetOperation.java:78)
 at com.itko.lisa.asset.operation.AbstractRetryableRuntimeOperation.doExecute(AbstractRetryableRuntimeOperation.java:30)
 at com.itko.lisa.asset.operation.AbstractRuntimeOperation.execute(AbstractRuntimeOperation.java:167)
 at com.itko.lisa.messaging.providers.ibmmq.IbmMqGetOperation.executePrepareOnly(IbmMqGetOperation.java:892)
 at com.itko.lisa.messaging.builder.AbstractMultiReceiveOperation.doExecute(AbstractMultiReceiveOperation.java:417)
 at com.itko.lisa.asset.operation.AbstractRuntimeOperation.execute(AbstractRuntimeOperation.java:167)
 at com.itko.lisa.asset.operation.AbstractOperationStep.execute(AbstractOperationStep.java:176)
 at com.itko.lisa.asset.operation.AbstractOperationStep.execute(AbstractOperationStep.java:125)
 at com.itko.lisa.messaging.vse.AbstractVseListenStep.execute(AbstractVseListenStep.java:53)
 at com.itko.lisa.test.TestNode.executeNode(TestNode.java:995)
 at com.itko.lisa.test.TestCase.execute(TestCase.java:1297)
 at com.itko.lisa.test.TestCase.execute(TestCase.java:1198)
 at com.itko.lisa.test.TestCase.executeNextNode(TestCase.java:1183)
 at com.itko.lisa.test.TestCase.executeTest(TestCase.java:1124)
 at com.itko.lisa.coordinator.Instance.run(Instance.java:208)
Caused by: java.security.NoSuchAlgorithmException: IBMSecureRandom SecureRandom not available
 at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
 at java.security.SecureRandom.getInstance(SecureRandom.java:288)
 at com.ibm.jsse2.lb.f(lb.java:55)
 ... 61 more
============================================================================

Environment

All supported DevTest releases.

Cause

One of the three IBM security files were missing.

Resolution

Added all the IBM security files to DevTest/lib/shared folder