| Author | 
		  Message
		 | 
		
		  | sravan | 
		  
		    
			  
				 Posted: Thu Apr 17, 2014 10:39 am    Post subject: JMSOutput node configuration. | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 02 Apr 2010 Posts: 104 Location: Charlotte 
  | 
		  
		    
			  
				I am trying to configure the JMSOutput node for below properties for which I am sucessfully able to connect using Java compute node.
 
 
Please suggest the issue and any aletrnate change in the mqsi command
 
 
code from Java compute node for sucessful connection -
 
 
   
	| Code: | 
   
  
	private final static String providerUrl = "smf://10.252.145.100:55555";
 
   private final static String SecurityPrincipal = "Alex";
 
   private final static String SolaceVpn = "kasVPN";
 
   private final static String detinationQueue = "WMB_QUEUE1";
 
   private final static String ConnectionFactory = "WMBConnectionFactory";           
 
                     Hashtable<String, Object> env = new Hashtable<String, Object>();
 
              env.put(InitialContext.INITIAL_CONTEXT_FACTORY,"com.solacesystems.jndi.SolJNDIInitialContextFactory" );
 
              env.put(InitialContext.PROVIDER_URL, providerUrl);
 
              env.put(InitialContext.SECURITY_PRINCIPAL, SecurityPrincipal);
 
              
 
          // env.put(Context.SECURITY_CREDENTIALS, password);
 
          // enables the use of smfs://  without specifying a trust store
 
              env.put(SupportedProperty.SOLACE_JMS_SSL_VALIDATE_CERTIFICATE, false);  
 
              env.put(SupportedProperty.SOLACE_JMS_VPN, SolaceVpn); | 
   
 
 
 
 
 
I am getting below error using JMSOutput node -
 
 
 
 
 
   
	| Code: | 
   
  
	   RecoverableException
 
         File:CHARACTER:/build/slot1/S800_P/src/DataFlowEngine/ImbDataFlowNode.cpp
 
         Line:INTEGER:1152
 
         Function:CHARACTER:ImbDataFlowNode::createExceptionList
 
         Type:CHARACTER:ComIbmMQInputNode
 
         Name:CHARACTER:WellsFargoSolaceJMSOutputNodeFlow#FCMComposite_1_1
 
         Label:CHARACTER:WellsFargoSolaceJMSOutputNodeFlow.HOGAN CIS MQ Input
 
         Catalog:CHARACTER:BIPmsgs
 
         Severity:INTEGER:3
 
         Number:INTEGER:2230
 
         Text:CHARACTER:Node throwing exception
 
         RecoverableException
 
               File:CHARACTER:/build/slot1/S800_P/src/DataFlowEngine/PluginInterface/ImbJniNode.cpp
 
               Line:INTEGER:1253
 
               Function:CHARACTER:ImbJniNode::evaluate
 
               Type:CHARACTER:ComIbmJMSClientOutputNode
 
               Name:CHARACTER:WellsFargoSolaceJMSOutputNodeFlow#FCMComposite_1_2
 
               Label:CHARACTER:WellsFargoSolaceJMSOutputNodeFlow.JMS Output
 
               Catalog:CHARACTER:BIPmsgs
 
               Severity:INTEGER:3
 
               Number:INTEGER:2230
 
               Text:CHARACTER:Caught exception and rethrowing
 
               RecoverableException
 
                     File:CHARACTER:JMSClientErrors.java
 
                     Line:INTEGER:694
 
                     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 'TLX42BK'; Execution Group 'EG-7'; Message Flow 'WellsFargoSolaceJMSOutputNodeFlow'; Node 'JMS Output::ComIbmJMSClientOutputNode' 
 
                     Insert
 
                           Type:INTEGER:5
 
                           Text:CHARACTER:com.solacesystems.jndi.SolJNDIInitialContextFactory
 
                     Insert
 
                           Type:INTEGER:5
 
                           Text:CHARACTER:smf://10.252.145.100:55555
 
                     Insert
 
                           Type:INTEGER:5
 
                           Text:CHARACTER:WMBConnectionFactory
 
                     Insert
 
                           Type:INTEGER:5
 
                           Text:CHARACTER:WMB_QUEUE1
 
                     Insert
 
                           Type:INTEGER:5
 
                           Text:CHARACTER:Username must be specified
 
                     Insert
 
                           Type:INTEGER:5
 
                           Text:CHARACTER: Username must be specified
 
 
 
Cooamnds for JMS Configurable service -
 
 
 
1)
 
 
mqsicreateconfigurableservice TLX42BK -c JMSProviders -o Solace_JMS
 
 
2)
 
 
mqsichangeproperties TLX42BK –c JMSProviders –o Solace_JMS   -n jarsURL-v "/opt/app/wmb/classes"
 
 
3)
 
 
mqsichangeproperties TLX42BK -c JMSProviders -o Solace_JMS -n jndiEnvironmentParms -v "javax.naming.InitialContext.SECURITY_PRINCIPAL=Alex;
 
com.solacesystems.jms.SupportedProperty.SOLACE_JMS_SSL_VALIDATE_CERTIFICATE=false;
 
com.solacesystems.jms.SupportedProperty.SOLACE_JMS_SSL_VALIDATE_CERTIFICATE=false"
 
 | 
   
 
 
 
finally ran mqsireportproperties TLX42BK -c JMSProviders -o Solace_JMS -r
 
to get below for JMS configurable service -
 
   
	| Code: | 
   
  
	
 
JMSProviders
 
  Solace_JMS
 
    clientAckBatchSize='0'
 
    clientAckBatchTime='0'
 
    connectionFactoryName=''
 
    initialContextFactory=''
 
    jarsURL='/opt/app/wmb/classes'
 
    jmsAsyncExceptionHandling='false'
 
    jmsProviderXASupport='true'
 
    jndiBindingsLocation=''
 
    jndiEnvironmentParms='javax.naming.InitialContext.SECURITY_PRINCIPAL=Alex;
 
com.solacesystems.jms.SupportedProperty.SOLACE_JMS_SSL_VALIDATE_CERTIFICATE=false;
 
com.solacesystems.jms.SupportedProperty.SOLACE_JMS_SSL_VALIDATE_CERTIFICATE=false'
 
    nativeLibs='default_Path'
 
    proprietaryAPIAttr1='default_none'
 
    proprietaryAPIAttr2='default_none'
 
    proprietaryAPIAttr3='default_none'
 
    proprietaryAPIAttr4='default_none'
 
    proprietaryAPIAttr5='default_none'
 
    proprietaryAPIHandler='default_none'
 
 
BIP8071I: Successful command completion. | 
   
 
 _________________ skr_wmb | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | sravan | 
		  
		    
			  
				 Posted: Fri Apr 18, 2014 7:08 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 02 Apr 2010 Posts: 104 Location: Charlotte 
  | 
		  
		    
			  
				I am not getting any replies for JMS questions,Is it not widely used in WMB?
 
 
I could not use the MQ nodes as MQ provider is a different vendor than WMQ. _________________ skr_wmb | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Fri Apr 18, 2014 8:56 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
			  
				So, what do you think the error "Text:CHARACTER:Username must be specified" actually means?
 
 
What steps do you think you need to take with WMB to resolve that error? | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | sravan | 
		  
		    
			  
				 Posted: Fri Apr 18, 2014 9:30 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 02 Apr 2010 Posts: 104 Location: Charlotte 
  | 
		  
		    
			  
				Hi Jeff,
 
 
I created JMS code in Java compute node,when I commented the
 
private final static String SecurityPrincipal = "Alex"; 
 
 
I get the same error Username must be specified
 
 
I already set the property for JMS provider configurable service in jndiEnvironmentParms
 
 
   
	| Code: | 
   
  
	 jndiEnvironmentParms='javax.naming.InitialContext.SECURITY_PRINCIPAL=Alex;
 
com.solacesystems.jms.SupportedProperty.SOLACE_JMS_SSL_VALIDATE_CERTIFICATE=false;
 
com.solacesystems.jms.SupportedProperty.SOLACE_JMS_SSL_VALIDATE_CERTIFICATE=false' | 
   
 
 _________________ skr_wmb | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Fri Apr 18, 2014 10:48 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				Your configurable service looks all wrong:
 
   
	| Code: | 
   
  
	JMSProviders 
 
  Solace_JMS 
 
    clientAckBatchSize='0' 
 
    clientAckBatchTime='0' 
 
    connectionFactoryName='' // you need something there
 
    initialContextFactory=''  // you need something there
 
    jarsURL='/opt/app/wmb/classes'  
 
    jmsAsyncExceptionHandling='false' 
 
    jmsProviderXASupport='true' 
 
    jndiBindingsLocation='' 
 
    jndiEnvironmentParms='javax.naming.InitialContext.SECURITY_PRINCIPAL=Alex; 
 
com.solacesystems.jms.SupportedProperty.SOLACE_JMS_SSL_VALIDATE_CERTIFICATE=false; 
 
com.solacesystems.jms.SupportedProperty.SOLACE_JMS_SSL_VALIDATE_CERTIFICATE=false' 
 
    nativeLibs='default_Path' 
 
    proprietaryAPIAttr1='default_none' 
 
    proprietaryAPIAttr2='default_none' 
 
    proprietaryAPIAttr3='default_none' 
 
    proprietaryAPIAttr4='default_none' 
 
    proprietaryAPIAttr5='default_none' 
 
    proprietaryAPIHandler='default_none'  | 
   
 
 _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | sravan | 
		  
		    
			  
				 Posted: Fri Apr 18, 2014 11:38 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 02 Apr 2010 Posts: 104 Location: Charlotte 
  | 
		  
		    
			  
				I thought we can give those values in the JMSOutputNode as they are available as properties?
 
 
or we need to explicitly set them in the configurable service?
 
 
 
Please let me knwo any issues with  jndiEnvironmentParms settings also as exceptions saysy user name is not set?
 
 
Is there any other way we can set the values? _________________ skr_wmb | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Fri Apr 18, 2014 11:39 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				
   
	| sravan wrote: | 
   
  
	I thought we can give those values in the JMSOutputNode as they are available as properties?
 
 
or we need to explicitly set them in the configurable service?
 
 
 
Please let me knwo any issues with  jndiEnvironmentParms settings also as exceptions saysy user name is not set?
 
 
Is there any other way we can set the values? | 
   
 
 
Have you looked up the signification of propriatary API attributes? _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | sravan | 
		  
		    
			  
				 Posted: Thu Apr 24, 2014 12:32 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 02 Apr 2010 Posts: 104 Location: Charlotte 
  | 
		  
		    
			  
				Below is the documentation for those values -
 
 
These attributes are optional. If you configure these attributes, they might be used on one or more method calls to the vendor proprietary API. The usage of these attributes is specific to a vendor interface and their meaning is determined by the IBM proprietary API Handler.
 
 
 
 
not sure how to set based on the code I posted. _________________ skr_wmb | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Fri Apr 25, 2014 4:20 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				So what have you tried yet?
 
Have you set up  a security profile using mqsisetdbparms for use in your JMS configurable service?   _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | sravan | 
		  
		    
			  
				 Posted: Fri Apr 25, 2014 7:48 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 02 Apr 2010 Posts: 104 Location: Charlotte 
  | 
		  
		    
			  
				I set as you suggested with below command(there is no passoword)
 
It is giving passowrd error so I set to 2 spaces.
 
 
Now I get a new error,based on the JMs code I have when I comment below line I get the same error -
 
 
JNDI lookup failed - 401: Incomplete Authentication Configuration 
 
 
 
Command ran -
 
 
mqsisetdbparms TLX42BK -n jndi::com.solacesystems.jndi.SolJNDIInitialContextFactory -u "Alex" -p " "
 
 
 
 
JMS code commented  for same error -
 
 
 env.put(SupportedProperty.SOLACE_JMS_VPN, "kasVpn");
 
 
 
Please let me know how to set this property. _________________ skr_wmb | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Fri Apr 25, 2014 9:12 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				
   
	| fjb_saper wrote: | 
   
  
	
 
Have you set up  a security profile using mqsisetdbparms for use in your JMS configurable service?   | 
   
 
 _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | sravan | 
		  
		    
			  
				 Posted: Fri Apr 25, 2014 11:21 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 02 Apr 2010 Posts: 104 Location: Charlotte 
  | 
		  
		    
			  
				I have set up below -
 
 
mqsisetdbparms TLX42BK -n jndi::com.solacesystems.jndi.SolJNDIInitialContextFactory -u "Alex" -p " " 
 
 
Also the error is thrown from missing property for below based on the JMS code which is running fine.
 
 
env.put(SupportedProperty.SOLACE_JMS_VPN, SolaceVpn); _________________ skr_wmb | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | sravan | 
		  
		    
			  
				 Posted: Mon Apr 28, 2014 9:06 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Centurion
 
 Joined: 02 Apr 2010 Posts: 104 Location: Charlotte 
  | 
		  
		    
			  
				Hi fjb_saper,
 
 
I have used below command and it sucessfully ran and I am able to connect to the Solace appliance and put messages.
 
 
wmbadm8@cdztd65136:/users/apps/mqbrkrs/wmbadm8> mqsichangeproperties TLX42BK -c JMSProviders
 
-o Solace_JMS -n jndiEnvironmentParms -v "java.naming.factory.initial=com.solacesystems.jndi.SolJNDIInitialContextFactory;java.naming.provider.url=smf://10.252.145.100:55555;Solace_JMS_VPN=kasVPN;java.naming.security.principal=Alex"
 
BIP8071I: Successful command completion. _________________ skr_wmb | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |