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 » JMSOutput node not able to put the msg, getting error

Post new topic  Reply to topic Goto page 1, 2  Next
 JMSOutput node not able to put the msg, getting error « View previous topic :: View next topic » 
Author Message
CuriCAT
PostPosted: Tue Feb 20, 2007 12:34 am    Post subject: JMSOutput node not able to put the msg, getting error Reply with quote

Voyager

Joined: 26 Sep 2006
Posts: 82

I have created a message flow , where I am reading from a MQ queue bye using MQInput node and writting that message into another queue using JMSOutput node.

I have created all the JNDI objects, updated the properties in JMSOutput node, when I run the flow it doesn't write into the output queue,it is giving error, I can see the follwing entry in the even viewer. But with the same configuration I am able to write into the same queue by using JAVA JMS program, Can someone help me please. Thanks in Advance.


( BK_DEM003.default ) WBIMB JMSClient. ''

Broker : BK_DEM003
Execution Group : default
Message Flow : MQToJms
Node : ComIbmJMSClientOutputNode::JMS_Output_LQ_ >

'' There is a configuration problem with the JNDI Administered objects where: Initial Context Factory = ''''. Location of the bindings = ''file://C:/JNDIConfig/JMS_Sample''. ConnectionFactory Name = ''JMS''. JMS destination = ''JMS_OUT_LQ''. The JNDI exception text is : ''Cannot instantiate class: ''.

The node could not obtain a JNDI Administered Object because some of the values specified in the node attributes 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 node attributes and re-deploy the message flow.


FOLLOWING ARE THE OBJECTS

InitCtx/JMS_Sample> display ctx

Contents of InitCtx/JMS_Sample

.bindings java.io.File
a JMS com.ibm.mq.jms.MQQueueConnectionFactory
a JMS_INPUT_LQ com.ibm.mq.jms.MQQueue
a JMS_OUTPUT_LQ com.ibm.mq.jms.MQQueue

4 Object(s)
0 Context(s)
4 Binding(s), 3 Administered
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
sarat
PostPosted: Tue Feb 20, 2007 1:22 am    Post subject: Reply with quote

Centurion

Joined: 29 Jun 2005
Posts: 136
Location: India

hi,

wat's the value of the property "Initail Context Factory"?

Bcoz u wrote:

Quote:
'' There is a configuration problem with the JNDI Administered objects where: Initial Context Factory = ''''. Location of the bindings = ''file://C:/JNDIConfig/JMS_Sample''. ConnectionFactory Name = ''JMS''. JMS destination = ''JMS_OUT_LQ''. The JNDI exception text is : ''Cannot instantiate class: ''.



It's mandatory.

The value by default is "com.sun.jndi.fscontext.RefFSContextFactory"
_________________
With Regards,
Sarat.
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Tue Feb 20, 2007 1:30 am    Post subject: Re: JMSOutput node not able to put the msg, getting error Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi CuriCAT,
CuriCAT wrote:
Initial Context Factory = ''''.
Have you promoted the properties to one common property in the main flow ? If yes, de-promote it and try.

Regards.
Back to top
View user's profile Send private message Send e-mail
CuriCAT
PostPosted: Tue Feb 20, 2007 1:49 am    Post subject: Reply with quote

Voyager

Joined: 26 Sep 2006
Posts: 82

I have already set the property -

Initial Contaxt Factory:com.sun.jndi.fscontext.RefFSContextFactory

but why in error it shows

Code:
Initial Context Factory  = ''''. 


I was really had this question.
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
dirac
PostPosted: Tue Feb 20, 2007 2:13 am    Post subject: Reply with quote

Novice

Joined: 31 Mar 2005
Posts: 23

The Initial Context Factory needs to be set in two places.
1) On the JMSConnection tab of the JMS Output node where
Initial Context Factory = com.sun.jndi.fscontext.RefFSContextFactory
2) When using the JMSAdmin.config file provided with MQ, you should uncomment the relevant line before creating your bindings:
#INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory
INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
#INITIAL_CONTEXT_FACTORY=com.ibm.ejs.ns.jndi.CNInitialContextFactory
#INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory

Have you done both of these things?
Back to top
View user's profile Send private message
CuriCAT
PostPosted: Tue Feb 20, 2007 2:33 am    Post subject: Reply with quote

Voyager

Joined: 26 Sep 2006
Posts: 82

YES, i have done in both the places.
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
elvis_gn
PostPosted: Tue Feb 20, 2007 3:24 am    Post subject: Re: JMSOutput node not able to put the msg, getting error Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi CuriCAT,

Did you try this:
elvis_gn wrote:
Have you promoted the properties to one common property in the main flow ? If yes, de-promote it and try.

Regards.
Back to top
View user's profile Send private message Send e-mail
CuriCAT
PostPosted: Tue Feb 20, 2007 3:30 am    Post subject: Reply with quote

Voyager

Joined: 26 Sep 2006
Posts: 82

Hello elvis_gn,

I have not promoted any properties in main flow. all the properties are set only in the node

One more thing:

if I give the following in the Initial Context Factory

"com.sun.jndi.fscontext.RefFSContextFactory"

I am getting this error :

Quote:
'' There is a configuration problem with the JNDI Administered objects where: Initial Context Factory = ''''. Location of the bindings = ''file://C:/JNDIConfig/JMS_Sample''. ConnectionFactory Name = ''JMS''. JMS destination = ''JMS_OUT_LQ''. The JNDI exception text is : ''Cannot instantiate class: ''.



If I make it like this com.sun.jndi.fscontext.RefFSContextFactoryxxx:

I am getting this error:

( BK_DEM003.default ) WBIMB JMSClient. ''

Broker : BK_DEM003
Execution Group : default
Message Flow : MQToJms
Node : ComIbmJMSClientOutputNode::JMS_Output_LQ_ >

Quote:
'' There is a configuration problem with the JNDI Administered objects where: Initial Context Factory = ''com.sun.jndi.fscontext.RefFSContextFactoryxxx''. Location of the bindings = ''file://C:/JNDIConfig/JMS_Sample''. ConnectionFactory Name = ''JMS''. JMS destination = ''JMS_INPUT_LQ''. The JNDI exception text is : ''Cannot instantiate class: com.sun.jndi.fscontext.RefFSContextFactoryxxx''.


The node could not obtain a JNDI Administered Object because some of the values specified in the node attributes 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 node attributes and re-deploy the message flow.
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
JohnSmith
PostPosted: Thu May 06, 2010 2:04 am    Post subject: Reply with quote

Voyager

Joined: 17 Mar 2010
Posts: 86

dirac wrote:
Quote:
The Initial Context Factory needs to be set in two places.
1) On the JMSConnection tab of the JMS Output node where
Initial Context Factory = com.sun.jndi.fscontext.RefFSContextFactory
2) When using the JMSAdmin.config file provided with MQ, you should uncomment the relevant line before creating your bindings:
#INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory
INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
#INITIAL_CONTEXT_FACTORY=com.ibm.ejs.ns.jndi.CNInitialContextFactory
#INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory

Have you done both of these things?



I am trying to copy a JNDI file from Windows(DEV) to AIX system(SIT) as MQ objects are same, can I use it like that.

As on both the environment, MQ and Message broker are on same machine and at same version.
Also the Broker Properties for JMS provider is fine we are using MQ JMS provider.

Do I need to do anything else to make it work besides changing the path in JMSINput or JMSOutput Node?


I tried to copy the binding file and then tried to change the path, but getting the below error. what could be the reason?

Quote:
RecoverableException
File:CHARACTER:JMSClientErrors.java
Line:INTEGER:617
Function:CHARACTER:JMSClientErrors:handleJNDIException()
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPv610
Severity:INTEGER:0
Number:INTEGER:4640
Text:CHARACTER:Failure to obtain JNDI administered objects
Insert
Type:INTEGER:5
Text:CHARACTER:Broker 'BROKER1; Execution Group 'EG1'; Message Flow xxxxxxx; Node 'Multi Country Processor.PreBuilt Service Processor.SF_MQJMSOutbound.JMSOutput'
Insert
Type:INTEGER:5
Text:CHARACTER:com.sun.jndi.fscontext.RefFSContextFactory
Insert
Type:INTEGER:5
Text:CHARACTER:file://load/dir/home/mbumqm
Insert
Type:INTEGER:5
Text:CHARACTER:qcf1
Insert
Type:INTEGER:5
Text:CHARACTER:
Insert
Type:INTEGER:5
Text:CHARACTER:Cannot instantiate class: com.sun.jndi.fscontext.RefFSContextFactory
Insert
Type:INTEGER:5
Text:CHARACTER: Cannot instantiate class: com.sun.jndi.fscontext.RefFSContextFactory


earlier it seemed something to do with fscontext jar, but then I took the avobe jar and deployed into the execution group but still the same error

Adding further, I didnt modify the JMSADMIN.config in the AIX environment, as its only required during creation of .binding file and it wont affect the functioning of JMS nodes, correct me if I am wrong here.
My JMSADMIN.config in the AIX environment is the sample supplied one and I havent changed anything in it whereas I did change the JMSAdmin.config during bindings creation on Windows server.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu May 06, 2010 2:39 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Does the broker service user have necessary permissions to the bindings file?
Back to top
View user's profile Send private message
JohnSmith
PostPosted: Thu May 06, 2010 3:09 am    Post subject: Reply with quote

Voyager

Joined: 17 Mar 2010
Posts: 86

Jeff wrote:
.
Quote:
Does the broker service user have necessary permissions to the bindings file?


yes jeff, that is the first thing I checked. Can you help me what's the Path I should give in case of AIX for JNDI directory.

My .binding file is present in the directory - /load/dir/home/mbumqm on AIX box and in JMSOutput Node I am passing the value as

file://load/dir/home/mbumqm , I suspect this might not be the correct way
Back to top
View user's profile Send private message
JohnSmith
PostPosted: Thu May 06, 2010 6:12 am    Post subject: Reply with quote

Voyager

Joined: 17 Mar 2010
Posts: 86

Quote:
Type:INTEGER:5
Text:CHARACTER:Cannot instantiate class: com.sun.jndi.fscontext.RefFSContextFactory
Insert
Type:INTEGER:5
Text:CHARACTER: Cannot instantiate class: com.sun.jndi.fscontext.RefFSContextFactory


Now I am not getting the above error, after doing some classpath changes on Broker AIX server, I managed to switch to another problem.

Now the error says -

Failure to obtain JNDI administered objects No Initial context

It seems related to my binding file, but not sure what exactly is the problem , is the JNDI directory path is correct as I mentioned in the above post.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu May 06, 2010 7:04 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Your previous error messages pointed to jar files missing on your classpath...
This time around it looks like it cannot load the .bindings file.
Have you verified that you can load the .bindings file and the relevant objects defined in it independently from WMB?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
JohnSmith
PostPosted: Thu May 06, 2010 7:15 am    Post subject: Reply with quote

Voyager

Joined: 17 Mar 2010
Posts: 86

Quote:
Have you verified that you can load the .bindings file and the relevant objects defined in it independently from WMB?


Hi, how to verify whether the bindings file can be loaded or not. I am using JMSInput and output node in my flow and they are failiing with the below error.

Also note I copied the JNDI file from windows server and it has all the permissions.

I also understand that JMSAdmin.config file is only required to create .bindings so as I have copied the binding file already, I am not making any changes in JMSAdmin and keeping it as it is. Correct me if I am wrong.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu May 06, 2010 7:36 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Well copied from Windows has me queasy. Was it a binary copy?

A simple stand alone java JMS program should tell you if you can retrieve the objects correctly from the context...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » JMSOutput node not able to put the msg, getting error
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.