com.staffware.eaijava.FatalPluginException: Execution failed at com.staffware.eaiframework.runtime.library.engine.SWFramework.executeSync(SWFramework.java:487) at com.staffware.eaijava.impl.SWGenericPlugin.execute(SWGenericPlugin.java:463) Caused by: com.staffware.eaijava.FatalPluginException: Unable to execute handler at com.staffware.eaiframework.runtime.library.engine.SWFramework.executeSync(SWFramework.java:465) ... 1 more Caused by: com.staffware.eaiframework.runtime.library.handler.SWHandlerException: Unable to obtain connection at com.staffware.eaibw.handlers.library.SWBWTransport.sendRequest(SWBWTransport.java:984) at com.staffware.eaibw.handlers.library.SWBWTransport.invoke(SWBWTransport.java:230) at com.staffware.eaiframework.runtime.library.engine.SWFramework.executeSync(SWFramework.java:436) ... 1 more Caused by: com.staffware.eaiframework.runtime.library.handler.SWHandlerException: Unable to lookup destination factory at com.staffware.eaibw.handlers.library.SWBWTransport.createConnection(SWBWTransport.java:1497) at com.staffware.eaibw.handlers.library.SWBWTransport.lookupCachedConnectionObject(SWBWTransport.java:1455) at com.staffware.eaibw.handlers.library.SWBWTransport.getCachedConnection(SWBWTransport.java:1382) at com.staffware.eaibw.handlers.library.SWBWTransport.sendRequest(SWBWTransport.java:977) ... 3 more Caused by: javax.naming.AuthenticationException: Not permitted: authentication failed [Root exception is javax.jms.JMSSecurityException: authentication failed] at com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:668) at com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:489) at javax.naming.InitialContext.lookup(Unknown Source) at com.staffware.eaibw.handlers.library.SWBWTransport.createConnection(SWBWTransport.java:1489) ... 6 more Caused by: javax.jms.JMSSecurityException: authentication failed at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:575) at com.tibco.tibjms.TibjmsConnection._create(TibjmsConnection.java:1338) at com.tibco.tibjms.TibjmsConnection.<init>(TibjmsConnection.java:4127) at com.tibco.tibjms.TibjmsQueueConnection.<init>(TibjmsQueueConnection.java:36) at com.tibco.tibjms.TibjmsxCFImpl._createImpl(TibjmsxCFImpl.java:200) at com.tibco.tibjms.TibjmsxCFImpl._createConnection(TibjmsxCFImpl.java:253) at com.tibco.tibjms.TibjmsQueueConnectionFactory.createQueueConnection(TibjmsQueueConnectionFactory.java:87) at com.tibco.tibjms.naming.TibjmsContext$Messenger.request(TibjmsContext.java:325) at com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:655) ... 9 more
Issue/Introduction
iProcess Technology Plug-in with EAI_BW steps
Unable to connect to the EMS Server
Caused by: javax.naming.AuthenticationException: Not permitted: authentication failed [Root exception is javax.jms.JMSSecurityException: authentication failed]
at com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:668)
at com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:489)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.staffware.eaibw.handlers.library.SWBWTransport.createConnection(SWBWTransport.java:1489)
... 6 more
Caused by: javax.jms.JMSSecurityException: authentication failed
Environment
TIBCO iProcess Technology Plug-ins - all platforms and versions
Resolution
The EMS server details are held in the iProcess database tables: EAIWS_JMS_PROVIDER EAIWS_JMS_DESTINATION
The EMS user and password is held in the database table EAIWS_JMS_PROVIDER in the columns: JNDI_USER JNDI_PASSWORD
The JNDI_PASSWORD column contains the password in plain text - this causes the failure.
The JNDI_PASSWORD column must contain the encrypted password.
The resolution is to update the column with the encrypted password.
The password can be updated using the JMS Admin utility located under SWDIR/jmsadmin The JMS Admin GUI can be run to update the EMS user password for the JMS provider.
From the iProcess Technology Plug-in 11.4.1 onwards the JMS Admin utility has a command line interface
The new encrypted password can be generated using the command: On Unix: ./jmsadmin.sh password <plain_text_password>
On windows jmsadmin password <plain_text_password>
The command will output the new encrypted password. The database column can be updated with the new value.
If the JMS Admin utility is unavailable or cannot be used; the new encrypted password can be generated using the instructions in the iProcess Technology Plug-in Installation Guide under the section entitled, “Password Encryption”.