我在BIDV工作,BIDV是IBM在越南的大客户。
我正在开发一个JMS适配器来向TIBCO EMS发送消息。当我在Eclipse中调用过程时,会发生以下错误:
类com.worklight.adapters.jms.JMSConnectionManager $ JMSSession可以 不能访问类com.tibco.tibjms.TibjmsxSessionImp的成员 修饰符" public"。
有人可以帮忙吗?
完整日志如下:
[错误] FWLSE0099E:调用过程时发生错误 [project BIDVMobile] JMSTransfer / JMSProducerFWLSE0100E:参数: [project BIDVMobile]无法创建消息 :java.lang.IllegalAccessException:Class com.worklight.adapters.jms.JMSConnectionManager $ JMSSession不能 访问类com.tibco.tibjms.TibjmsxSessionImp的成员 修饰符" public" FWLSE0101E:引起:[项目 BIDVMobile] nulljava.lang.RuntimeException:无法创建消息 :java.lang.IllegalAccessException:Class com.worklight.adapters.jms.JMSConnectionManager $ JMSSession不能 访问类com.tibco.tibjms.TibjmsxSessionImp的成员 修饰符" public"在 com.worklight.adapters.jms.JMSConnectionManager $ JMSSession.createMessage(JMSConnectionManager.java:476) 在 com.worklight.adapters.jms.JMSSynchronousProducer.putMessage(JMSSynchronousProducer.java:54) 在 com.worklight.adapters.jms.JMSSynchronousProducer.invoke(JMSSynchronousProducer.java:49) 在 com.worklight.integration.model.ProcedureInvoker.invokeProcedure(ProcedureInvoker.java:57) 在 com.worklight.integration.model.Procedure.invoke(Procedure.java:166) 在 com.worklight.integration.model.InvocationContext.call(InvocationContext.java:169) 在 com.worklight.integration.model.InvocationContext.call(InvocationContext.java:38) 在java.util.concurrent.FutureTask.run(未知来源)at com.worklight.integration.model.InvocationContext $ DirectExecutorService.execute(InvocationContext.java:284) 在java.util.concurrent.AbstractExecutorService.submit(未知 来源)at com.worklight.integration.model.InvocationContext.submit(InvocationContext.java:138) 在 com.worklight.integration.model.InvocationContextManager.submitInvocation(InvocationContextManager.java:58) 在 com.worklight.integration.services.impl.DataAccessServiceImpl.callProcedure(DataAccessServiceImpl.java:497) 在 com.worklight.integration.services.impl.DataAccessServiceImpl.access $ 100(DataAccessServiceImpl.java:56) 在 com.worklight.integration.services.impl.DataAccessServiceImpl $ 4.execute(DataAccessServiceImpl.java:392) 在 com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76) 在 com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedureInternal(DataAccessServiceImpl.java:389) 在 com.worklight.integration.services.impl.DataAccessServiceImpl.invokeDynamicProcedure(DataAccessServiceImpl.java:456) 在 com.worklight.integration.services.impl.DataAccessServiceImpl.invokeDynamicProcedure(DataAccessServiceImpl.java:432) 在 com.worklight.integration.js.JavaScriptIntegrationLibraryImplementation.invokeDynamicProcedure(JavaScriptIntegrationLibraryImplementation.java:126) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)at java.lang.reflect.Method.invoke(未知来源)at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225) 在 org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) 在 org.mozilla.javascript.gen._integration_js_24._c_anonymous_23(/integration.js:248) 在 org.mozilla.javascript.gen._integration_js_24.call(/integration.js) 在 org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) 在 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) 在 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) 在 org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) 在 org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) 在 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) 在 com.worklight.integration.js.JavaScriptManager.callFunction(JavaScriptManager.java:240) 在 com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:214) 在 com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:194) 在 com.worklight.integration.services.impl.AdapterManagerImpl.invokeFunction(AdapterManagerImpl.java:104) 在 com.worklight.integration.js.JavaScriptProcedureInvoker.invoke(JavaScriptProcedureInvoker.java:42) 在 com.worklight.integration.model.ProcedureInvoker.invokeProcedure(ProcedureInvoker.java:57) 在 com.worklight.integration.model.Procedure.invoke(Procedure.java:166) 在 com.worklight.integration.model.InvocationContext.call(InvocationContext.java:169) 在 com.worklight.integration.model.InvocationContext.call(InvocationContext.java:38) 在java.util.concurrent.FutureTask.run(未知来源)at java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源)at com.worklight.server.util.ProjectLocal $ 1RunnableWrapper.run(ProjectLocal.java:267) 在java.lang.Thread.run(未知来源)
答案 0 :(得分:1)
我想在Tibco EMS中,JMS Session实现类公开了这个方法: createTextMessage(...)作为受保护或私有。 Worklight使用Java反射来创建和发送消息。 它调用了几种方法,例如: createTextMessage,setJMSReplyTo,setJMSCorrelationID等...... 你能附上Tibco EMS客户Jar吗?
答案 1 :(得分:1)
您能说明您如何连接到TIBCO EMS吗? 这是代码还是配置?
正如你所说,你为BIDV工作,我可能会在下一次向你指出合适的人;)
干杯 SEB
答案 2 :(得分:0)
我们遇到了类似的问题,在WAS上运行Worklight服务器,在WAS上配置JMS资源并指向WebSphere MQ。我们通过在WAS上添加服务集成总线和队列来解决问题,以便消息首先进入WAS SIB上的队列,然后从那里到MQ。