ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Failure to obtain JNDI administered objects

Post new topic  Reply to topic
 Failure to obtain JNDI administered objects « View previous topic :: View next topic » 
Author Message
Sosed
PostPosted: Tue Jun 18, 2013 5:34 am    Post subject: Failure to obtain JNDI administered objects Reply with quote

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
View user's profile Send private message
mqjeff
PostPosted: Tue Jun 18, 2013 6:03 am    Post subject: Reply with quote

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
View user's profile Send private message
Sosed
PostPosted: Tue Jun 18, 2013 10:40 pm    Post subject: Reply with quote

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
View user's profile Send private message
Sosed
PostPosted: Wed Jun 19, 2013 6:30 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Failure to obtain JNDI administered objects
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.