0

I am working on my local windows IIB/MQ server. What I am trying to do is place a message on JMSOutput queue. For that, I have created JMS Administered Object by creating an initial context factory and within it I have created Destination Queue and Connection Factory using file system option. I got a .binding file created in the Provider_URL path specified below.

In JMS Output node proprerties, I have set the JMS Provider name to

Websphere MQ

and initial context factory to

com.sun.jndi.fscontext.RefFSContextFactory

All the other options are unfilled.

Please note that the JMSADmin.config file has the following uncommented properties:

PROVIDER_URL=file:/C:/JNDI INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory

Now when I try to put a message on JMS Output node, I get the following exception:

ExceptionList RecoverableException File:CHARACTER:F:\build\S1000_slot1\S1000_P\src\DataFlowEngine\MessageServices\ImbDataFlowNode.cpp Line:INTEGER:1251 Function:CHARACTER:ImbDataFlowNode::createExceptionList Type:CHARACTER:ComIbmJMSClientOutputNode Name:CHARACTER:test#FCMComposite_1_4 Label:CHARACTER:test.JMS Output Catalog:CHARACTER:BIPmsgs Severity:INTEGER:3 Number:INTEGER:2230 Text:CHARACTER:Node throwing exception Insert Type:INTEGER:14 Text:CHARACTER:test.JMS Output RecoverableException File:CHARACTER:JMSClientErrors.java Line:INTEGER:771 Function:CHARACTER:JMSClientErrors:handleJNDIException() Type:CHARACTER: Name:CHARACTER: Label:CHARACTER: Catalog:CHARACTER:BIPmsgs Severity:INTEGER:3 Number:INTEGER:4640 Text:CHARACTER:Failure to obtain JNDI administered objects Insert Type:INTEGER:5 Text:CHARACTER:Broker 'LOCALBK10'; Execution Group 'Test'; Message Flow 'test'; Node 'ComIbmJMSClientOutputNode' Insert Type:INTEGER:5 Text:CHARACTER:com.sun.jndi.fscontext.RefFSContextFactory Insert Type:INTEGER:5 Text:CHARACTER: Insert Type:INTEGER:5 Text:CHARACTER: Insert Type:INTEGER:5 Text:CHARACTER:Hello Insert Type:INTEGER:5 Text:CHARACTER: Cause:java.net.MalformedURLException: no protocol: Insert Type:INTEGER:5 Text:CHARACTER: , Failure to obtain JNDI administered objects

Any help would be highly appreciated.

jonathan white
  • 33
  • 4
  • 15
  • Is there any special reason why you want to use JMS Output node? If you use the MQ Output node, you do not need the JNDI configuration. – Daniel Steinmann May 29 '18 at 11:57
  • @DanielSteinmann Actually I am trying to reproduce an issue that we are facing at Test environment. I dont have the access to it so I am trying to replicate the issue which is with JMS output node and see what is wrong in that particular scenario. But for that I need to have JMS output node working. – jonathan white May 29 '18 at 20:40
  • Ok, I understand now. Did you try what I suggested in my answer? – Daniel Steinmann May 31 '18 at 21:26

1 Answers1

0

Towards the end of above stack trace you see this

Cause:java.net.MalformedURLException: no protocol

This is because you did not set the value for property Location JNDI bindings. It has to have the same value as configured in JMSAdmin.config, i.e. file:/C:/JNDI.

Daniel Steinmann
  • 2,119
  • 2
  • 15
  • 25