|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Failure to obtain JNDI administered objects |
« View previous topic :: View next topic » |
Author |
Message
|
Sosed |
Posted: Tue Jun 18, 2013 5:34 am Post subject: Failure to obtain JNDI administered objects |
|
|
Apprentice
Joined: 24 Aug 2012 Posts: 43
|
Hi!
I'm using wmb 8.0.0.2 on RHEL.
I'm trying to connect two flows via JMS. I'm using SOAP Request node.
My node has properties:
Code: |
Destination - 'JMS_TEST_IN'
Reply To Destination - ''
JMS provider name - 'WebSphere MQ'
Initial context factory - 'com.sun.jndi.fscontext.RefFSContextFactory'
JNDI URL bindings location - 'file:///home/mqm/JNDI-Directory'
Connection factory name - 'QCF'
|
File JMSAdmin.config has:
Code: |
INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
PROVIDER_URL=file:///home/mqm/JNDI-Directory
|
File 'jms.defs', that JMSAdmin has used is:
Code: |
DEF QCF(QCF) +
TRANSPORT(CLIENT) +
QMANAGER(<Name of qm>) +
HOSTNAME(<IP of qm>) +
PORT(2414)
DEF Q(JMS_TEST_IN) +
QUEUE(JMS_TEST_INQ) +
QMANAGER(DEVQMGR)
DEF Q(JMS_BACKOUT) +
QUEUE(JMS_BACKOUTQ) +
QMANAGER(DEVQMGR)
END
|
File .bindings is at /home/mqm/JNDI-Directory on broker server. Broker's user have enought permissions to read this file.
Queue manager has JMS_TEST_IN and JMS_TEST_INQ queues.
WMB Toolkit on another machine (Windows). I deploy flow from toolkit.
Broker returns error: Initial Context Factory = ''. Location of the bindings = 'No Initial Context'. ConnectionFactory Name = '{3}'. JMS destination = '{4}'. The exception text is : '{5}'
Code: |
|Frame : 3 com.ibm.broker.plugin.MbRecoverableException: [BIPmsgs:4640]BIP4640E: WMB JMSClient. 'Broker 'DEVBROKER'; Execution Group 'sberdyshev'; Message Flow 'UIPService'; Node 'OneWayRequestRouter::OneWayRequestRouter' ' There is a configuration problem with the JNDI Administered objects where: Initial Context Factory = ''. Location of the bindings = 'No Initial Context'. ConnectionFactory Name = '{3}'. JMS destination = '{4}'. The exception text is : '{5}'. ||The node cannot obtain a JNDI Administered Object, because some of the values specified are incorrect. ||Check the JNDI Administered configuration for the JMS provider used by the node. | Either: | Modify the JNDI Administered objects and rebuild the bindings | or | Change the Configurable Service attributes associated with this JMS Provider and restart the execution group | or | Change the node attributes and redeploy the message flow. : Unable to look up destination JMS_TEST_IN in JNDI| @: com.ibm.broker.jmsclientnodes.JMSClientErrors.throwException(JMSClientErrors.java:694)|
|
Why can't broker find Initial Context?
Thank in advance.
Last edited by Sosed on Wed Jun 19, 2013 3:26 am; edited 1 time in total |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Jun 18, 2013 6:03 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
A client connection doesn't strictly require a queue manager name.
It strictly requires a channel name. |
|
Back to top |
|
 |
Sosed |
Posted: Tue Jun 18, 2013 10:40 pm Post subject: |
|
|
Apprentice
Joined: 24 Aug 2012 Posts: 43
|
Hi, mqjeff! Thanks for your reply!
mqjeff wrote: |
A client connection doesn't strictly require a queue manager name.
It strictly requires a channel name. |
I have added channel defenition, but i didn't help. My new jms.defs looks like:
Code: |
# Define a QueueConnectionFactory for Windows and Unix(AIX, Linux, Solaris and HP-UX)
# Only parameters being overridden from their default values are specified.
# This sets up a MQ client binding.
DEF QCF(QCF) +
TRANSPORT(CLIENT) +
QMANAGER(DEVQMGR) +
CHANNEL(SYSTEM.DEF.SVRCONN) +
HOSTNAME(127.0.0.1) +
PORT(2414)
#
DEF Q(JMS_TEST_IN) +
QUEUE(JMS_TEST_INQ) +
QMANAGER(DEVQMGR)
DEF Q(JMS_BACKOUT) +
QUEUE(JMS_BACKOUTQ) +
QMANAGER(DEVQMGR)
END |
I deleted .bindings file, started JMSAdmin with new jms.def.
Than, I redeployed flow again.
First, I have got this error: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2538'
Quote: |
BIP4648E: JMSClient.'Broker 'DEVBROKER'; Execution Group 'sberdyshev'; Message Flow 'UIPService'; Node 'OneWayRequestRouter::OneWayRequestRouter' ' The connection with the JMS provider could not start, or has closed for Initial Context factory 'com.sun.jndi.fscontext.RefFSContextFactory'. The node will try to re-establish the connection. ||The JMS Connection with the JMS provider from this node has stopped. This could be due to the message flow stopping, or the connection could have ended abnormally because of a problem with the JMS provider. ||The node tries to reconnect to the JMS provider, unless the message flow is shutting down. Check that the provider is available. : Failure to obtain JMS Connection JMSWMQ0018: Failed to connect to queue manager 'DEVQMGR' with connection mode 'Client' and host name 'localhost(2414)'. JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2538' ('MQRC_HOST_NOT_AVAILABLE'). |
MQ was available, so I have tried again. I have started my flow one more time and had another error: The node cannot obtain a JNDI Administered Object, because some of the values specified are incorrect.
Quote: |
BIP4640E: WMB JMSClient. 'Broker 'DEVBROKER'; Execution Group 'sberdyshev'; Message Flow 'UIPService'; Node 'OneWayRequestRouter::OneWayRequestRouter' ' There is a configuration problem with the JNDI Administered objects where: Initial Context Factory = '{1}'. Location of the bindings = '{2}'. ConnectionFactory Name = '{3}'. JMS destination = '{4}'. The exception text is : '{5}'. ||The node cannot obtain a JNDI Administered Object, because some of the values specified are incorrect. ||Check the JNDI Administered configuration for the JMS provider used by the node. | Either: | Modify the JNDI Administered objects and rebuild the bindings | or | Change the Configurable Service attributes associated with this JMS Provider and restart the execution group | or | Change the node attributes and redeploy the message flow. : Could not establish connection with provider| |
Also, I have tried to use "JMSAdmin -v mannually".
I have got:
Quote: |
Initializing JNDI Context...
INITIAL_CONTEXT_FACTORY: com.sun.jndi.fscontext.RefFSContextFactory
PROVIDER_URL: file:///home/mqm/JNDI-Directory
Done.
Welcome to the WebSphere MQ JMS administration tool command-line interface
InitCtx> DEF QCF(QCF) +
TRANSPORT(CLIENT) +
QMANAGER(DEVQMGR) +
CHANNEL(SYSTEM.DEF.SVRCONN) +
HOSTNAME(localhost) +
PORT(2414)
Unable to bind object
javax.naming.NameAlreadyBoundException: QCF
InitCtx> DEF Q(JMS_TEST_IN) +
QUEUE(JMS_TEST_INQ) +
QMANAGER(DEVQMGR)
Unable to bind object
javax.naming.NameAlreadyBoundException: JMS_TEST_IN |
Than, I have deleted .bindings file:
Quote: |
Licensed Materials - Property of IBM
5724-H72, 5655-R36, 5724-L26, 5655-L82
(c) Copyright IBM Corp. 2008, 2011 All Rights Reserved.
US Government Users Restricted Rights - Use, duplication or
disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
Starting WebSphere MQ classes for Java(tm) Message Service Administration
Initializing JNDI Context...
INITIAL_CONTEXT_FACTORY: com.sun.jndi.fscontext.RefFSContextFactory
PROVIDER_URL: file:///home/mqm/JNDI-Directory
Done.
Welcome to the WebSphere MQ JMS administration tool command-line interface
InitCtx> DEF QCF(QCF) +
TRANSPORT(CLIENT) +
QMANAGER(DEVQMGR) +
CHANNEL(SYSTEM.DEF.SVRCONN) +
HOSTNAME(localhost) +
PORT(2414)
InitCtx> DEF Q(JMS_TEST_IN) +
QUEUE(JMS_TEST_INQ) +
QMANAGER(DEVQMGR)
InitCtx> DEF Q(JMS_BACKOUT) +
QUEUE(JMS_BACKOUTQ) +
QMANAGER(DEVQMGR)
InitCtx> END
Stopping WebSphere MQ classes for Java(tm) Message Service Administration |
Did I miss something?
p.s. I'am using SOAP Request node with predefined wsdl. Can such exception occure due to wsdl? For example, will any exception occure, if I use transport 'JMS' and there is an element <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> in my wsdl?
Thanks in advance! |
|
Back to top |
|
 |
Sosed |
Posted: Wed Jun 19, 2013 6:30 am Post subject: |
|
|
Apprentice
Joined: 24 Aug 2012 Posts: 43
|
Problem is solved. I had to create listener on 2414 port... *facepalm*
It became clear, when I tested JMS Header node sample from infocenter. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|