| Author | Message | 
		
		  | CuriCAT | 
			  
				|  Posted: Tue Feb 20, 2007 12:34 am    Post subject: JMSOutput node not able to put the msg, getting error |   |  | 
		
		  |  Voyager
 
 
 Joined: 26 Sep 2006Posts: 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 |  | 
		
		  |  | 
		
		  | sarat | 
			  
				|  Posted: Tue Feb 20, 2007 1:22 am    Post subject: |   |  | 
		
		  |  Centurion
 
 
 Joined: 29 Jun 2005Posts: 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 |  | 
		
		  |  | 
		
		  | elvis_gn | 
			  
				|  Posted: Tue Feb 20, 2007 1:30 am    Post subject: Re: JMSOutput node not able to put the msg, getting error |   |  | 
		
		  |  Padawan
 
 
 Joined: 08 Oct 2004Posts: 1905
 Location: Dubai
 
 | 
			  
				| Hi CuriCAT, 
 
  Have you promoted the properties to one common property in the main flow ? If yes, de-promote it and try. 
	| CuriCAT wrote: |  
	| Initial Context Factory  = ''''. |  
 Regards.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | CuriCAT | 
			  
				|  Posted: Tue Feb 20, 2007 1:49 am    Post subject: |   |  | 
		
		  |  Voyager
 
 
 Joined: 26 Sep 2006Posts: 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 |  | 
		
		  |  | 
		
		  | dirac | 
			  
				|  Posted: Tue Feb 20, 2007 2:13 am    Post subject: |   |  | 
		
		  | Novice
 
 
 Joined: 31 Mar 2005Posts: 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 |  | 
		
		  |  | 
		
		  | CuriCAT | 
			  
				|  Posted: Tue Feb 20, 2007 2:33 am    Post subject: |   |  | 
		
		  |  Voyager
 
 
 Joined: 26 Sep 2006Posts: 82
 
 
 | 
			  
				| YES, i have done in both the places. |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | elvis_gn | 
			  
				|  Posted: Tue Feb 20, 2007 3:24 am    Post subject: Re: JMSOutput node not able to put the msg, getting error |   |  | 
		
		  |  Padawan
 
 
 Joined: 08 Oct 2004Posts: 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 |  | 
		
		  |  | 
		
		  | CuriCAT | 
			  
				|  Posted: Tue Feb 20, 2007 3:30 am    Post subject: |   |  | 
		
		  |  Voyager
 
 
 Joined: 26 Sep 2006Posts: 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 |  | 
		
		  |  | 
		
		  | JohnSmith | 
			  
				|  Posted: Thu May 06, 2010 2:04 am    Post subject: |   |  | 
		
		  | Voyager
 
 
 Joined: 17 Mar 2010Posts: 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 |  | 
		
		  |  | 
		
		  | mqjeff | 
			  
				|  Posted: Thu May 06, 2010 2:39 am    Post subject: |   |  | 
		
		  | Grand Master
 
 
 Joined: 25 Jun 2008Posts: 17447
 
 
 | 
			  
				| Does the broker service user have necessary permissions to the bindings file? |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | JohnSmith | 
			  
				|  Posted: Thu May 06, 2010 3:09 am    Post subject: |   |  | 
		
		  | Voyager
 
 
 Joined: 17 Mar 2010Posts: 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 |  | 
		
		  |  | 
		
		  | JohnSmith | 
			  
				|  Posted: Thu May 06, 2010 6:12 am    Post subject: |   |  | 
		
		  | Voyager
 
 
 Joined: 17 Mar 2010Posts: 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 |  | 
		
		  |  | 
		
		  | fjb_saper | 
			  
				|  Posted: Thu May 06, 2010 7:04 am    Post subject: |   |  | 
		
		  |  Grand High Poobah
 
 
 Joined: 18 Nov 2003Posts: 20767
 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 |  | 
		
		  |  | 
		
		  | JohnSmith | 
			  
				|  Posted: Thu May 06, 2010 7:15 am    Post subject: |   |  | 
		
		  | Voyager
 
 
 Joined: 17 Mar 2010Posts: 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 |  | 
		
		  |  | 
		
		  | fjb_saper | 
			  
				|  Posted: Thu May 06, 2010 7:36 am    Post subject: |   |  | 
		
		  |  Grand High Poobah
 
 
 Joined: 18 Nov 2003Posts: 20767
 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 |  | 
		
		  |  | 
		
		  |  |