user3567557
user3567557

Reputation: 11

IBM Worklight - JMS Adapter to send message to TIBCO EMS

I'm working for BIDV, a big customer of IBM in Vietnam.

I'm developing a JMS Adapter to send message to TIBCO EMS. When I invoke procedure in Eclipse, this error occurs:

Class com.worklight.adapters.jms.JMSConnectionManager$JMSSession can not access a member of class com.tibco.tibjms.TibjmsxSessionImp with modifiers "public".

Can anyone help please?

Full log is below:

[ERROR ] FWLSE0099E: An error occurred while invoking procedure [project BIDVMobile]JMSTransfer/JMSProducerFWLSE0100E: parameters: [project BIDVMobile] Failed to create message :java.lang.IllegalAccessException: Class com.worklight.adapters.jms.JMSConnectionManager$JMSSession can not access a member of class com.tibco.tibjms.TibjmsxSessionImp with modifiers "public" FWLSE0101E: Caused by: [project BIDVMobile]nulljava.lang.RuntimeException: Failed to create message :java.lang.IllegalAccessException: Class com.worklight.adapters.jms.JMSConnectionManager$JMSSession can not access a member of class com.tibco.tibjms.TibjmsxSessionImp with modifiers "public" at com.worklight.adapters.jms.JMSConnectionManager$JMSSession.createMessage(JMSConnectionManager.java:476) at com.worklight.adapters.jms.JMSSynchronousProducer.putMessage(JMSSynchronousProducer.java:54) at com.worklight.adapters.jms.JMSSynchronousProducer.invoke(JMSSynchronousProducer.java:49) at com.worklight.integration.model.ProcedureInvoker.invokeProcedure(ProcedureInvoker.java:57) at com.worklight.integration.model.Procedure.invoke(Procedure.java:166) at com.worklight.integration.model.InvocationContext.call(InvocationContext.java:169) at com.worklight.integration.model.InvocationContext.call(InvocationContext.java:38) at java.util.concurrent.FutureTask.run(Unknown Source) at com.worklight.integration.model.InvocationContext$DirectExecutorService.execute(InvocationContext.java:284) at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) at com.worklight.integration.model.InvocationContext.submit(InvocationContext.java:138) at com.worklight.integration.model.InvocationContextManager.submitInvocation(InvocationContextManager.java:58) at com.worklight.integration.services.impl.DataAccessServiceImpl.callProcedure(DataAccessServiceImpl.java:497) at com.worklight.integration.services.impl.DataAccessServiceImpl.access$100(DataAccessServiceImpl.java:56) at com.worklight.integration.services.impl.DataAccessServiceImpl$4.execute(DataAccessServiceImpl.java:392) at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76) at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedureInternal(DataAccessServiceImpl.java:389) at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeDynamicProcedure(DataAccessServiceImpl.java:456) at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeDynamicProcedure(DataAccessServiceImpl.java:432) at com.worklight.integration.js.JavaScriptIntegrationLibraryImplementation.invokeDynamicProcedure(JavaScriptIntegrationLibraryImplementation.java:126) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126) at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225) at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) at org.mozilla.javascript.gen._integration_js_24._c_anonymous_23(/integration.js:248) at org.mozilla.javascript.gen._integration_js_24.call(/integration.js) at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) at org.mozilla.javascript.gen.H_3A_5Ckhanhpt_worklight_space2_5CBIDVMobile_5Cadapters_5CJMSTransfer_JMSTransfer_impl_js_29._c_writeMessage_1(H%3A%5Ckhanhpt_worklight_space2%5CBIDVMobile%5Cadapters%5CJMSTransfer/JMSTransfer-impl.js:15) at org.mozilla.javascript.gen.H_3A_5Ckhanhpt_worklight_space2_5CBIDVMobile_5Cadapters_5CJMSTransfer_JMSTransfer_impl_js_29.call(H%3A%5Ckhanhpt_worklight_space2%5CBIDVMobile%5Cadapters%5CJMSTransfer/JMSTransfer-impl.js) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) at org.mozilla.javascript.gen.H_3A_5Ckhanhpt_worklight_space2_5CBIDVMobile_5Cadapters_5CJMSTransfer_JMSTransfer_impl_js_29.call(H%3A%5Ckhanhpt_worklight_space2%5CBIDVMobile%5Cadapters%5CJMSTransfer/JMSTransfer-impl.js) at com.worklight.integration.js.JavaScriptManager.callFunction(JavaScriptManager.java:240) at com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:214) at com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:194) at com.worklight.integration.services.impl.AdapterManagerImpl.invokeFunction(AdapterManagerImpl.java:104) at com.worklight.integration.js.JavaScriptProcedureInvoker.invoke(JavaScriptProcedureInvoker.java:42) at com.worklight.integration.model.ProcedureInvoker.invokeProcedure(ProcedureInvoker.java:57) at com.worklight.integration.model.Procedure.invoke(Procedure.java:166) at com.worklight.integration.model.InvocationContext.call(InvocationContext.java:169) at com.worklight.integration.model.InvocationContext.call(InvocationContext.java:38) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at com.worklight.server.util.ProjectLocal$1RunnableWrapper.run(ProjectLocal.java:267) at java.lang.Thread.run(Unknown Source)

Upvotes: 1

Views: 356

Answers (3)

lilline
lilline

Reputation: 133

We had a similar problem, Worklight server running on WAS, JMS resources configured on WAS and pointing to WebSphere MQ. We solved the problem by adding a Service Integration Bus and Queues on WAS, so that the messages first go on a queue on the WAS SIB, then from there to MQ.

Upvotes: 0

Seb
Seb

Reputation: 684

Can you show how you connect to TIBCO EMS? Is that by code or by configuration?

As you mention you work for BIDV i might point you to the right persons locally next ;)

Cheers Seb

Upvotes: 1

taitelman
taitelman

Reputation: 700

I guess that in Tibco EMS the JMS Session implementation class expose the method: createTextMessage(...) as a protected or private. Worklight is using Java reflection to create and send the message . it calls several methods such as: createTextMessage, setJMSReplyTo , setJMSCorrelationID and others... can you attach the Tibco EMS client Jar ?

Upvotes: 1

Related Questions