hi, I'm trying to send a message to WebSphere JMS. Important: not to WebSphere MQ but to "WebSphere Default messaging provider" which is built in to WebSphere Application Server 6.1 As it is an existing Queue I have no choice to use MQ instead. I've searched on talendforge and even all over the web for hours now and tried all possibile configurations I could imagine but I didn't manage - so now I'm stuck! I've tried with tMOMOutput. There is only WebSphere MQ offered as MQ Server, tried it anyway. My hope was tJMSOutput, but I don't know if "websphere-connector-1_5.jar" is the module to configure for me. Also I'm not sure what to specify as contextprovider and how to corretly build the server URL. Does anybody have a hint for me how to configure JMS or where to find appropriate information? regards, blackfox
I think I am one step further now - probably. I've found this: http://www-01.ibm.com/support/docview.wss?uid=swg24012804 installed it and loaded the librarys from the resulting libfolder (sibc.jms.jar, sibc.jndi.jar, sibc.orb.jar) with a tLibraryLoad for each of them. My tJMSOutput-configuration is as following: - Modulliste: sibc.jms.jar - Context Provider: "com.ibm.websphere.naming.WsnInitialContextFactory" - "iiop:localhost:7276" (tried without port, or "corbaloc:iiop:localhost" as well) - Connection Factory JNDI Name and the following according to my queue-settings in WAS-Configuration When executing the job I get the following exception: Exception in component tJMSOutput_1 javax.naming.NamingException: Failed to initialize the ORB at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:314) at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:384) at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:113) at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:428) at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:144) at javax.naming.InitialContext.lookup(InitialContext.java:392) at lvsimport.wakeupadapteraufruf_neu_0_1.WakeupAdapterAufruf_neu.tFixedFlowInput_1Process(WakeupAdapterAufruf_neu.java:442) at lvsimport.wakeupadapteraufruf_neu_0_1.WakeupAdapterAufruf_neu.tLibraryLoad_3Process(WakeupAdapterAufruf_neu.java:821) at lvsimport.wakeupadapteraufruf_neu_0_1.WakeupAdapterAufruf_neu.tLibraryLoad_2Process(WakeupAdapterAufruf_neu.java:733) at lvsimport.wakeupadapteraufruf_neu_0_1.WakeupAdapterAufruf_neu.tLibraryLoad_1Process(WakeupAdapterAufruf_neu.java:645) at lvsimport.wakeupadapteraufruf_neu_0_1.WakeupAdapterAufruf_neu.runJobInTOS(WakeupAdapterAufruf_neu.java:1004) at lvsimport.wakeupadapteraufruf_neu_0_1.WakeupAdapterAufruf_neu.main(WakeupAdapterAufruf_neu.java:875) Caused by: java.lang.ClassCastException: com.sun.corba.se.impl.orb.ORBImpl cannot be cast to com.ibm.CORBA.iiop.ORB at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:85) at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:174) at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:97) at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:73) at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:386) at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:305) ... 11 more So this is the point I got stuck now :-(
I couldn't get further with this :-( can someone say if it should be possible to put a JMS-message to a websphere jms-queue at all? I even don't know if my approach from post 2 is the correct one. If nobody has a hint for me, it seems I have to find a (ugly?) workaround :-( Best regards, blackfox
Today I found some time to give this a last try - and I solved it :-) For all others who may find this having the same problem, here is what I had to do - you have to load lots of librarys, in my case eight - com.ibm.ws.emf_2.1.0.jar - com.ibm.ws.runtime_6.1.0.jar - com.ibm.ws.sib.server_2.0.0.jar - com.ibm.ws.sib.utils_2.0.0.jar - com.ibm.ws.wccm_6.1.0.jar - com.ibm.ws.webservices.thinclient_6.1.0.jar - ibmorb.jar - iwsorbutil.jar - load some properties like "org.omg.CORBA.ORBClass=com.ibm.CORBA.iiop.ORB" ==> put it in a file, e.g. "orb.properties" and load it with a tLibraryLoad - tJMSOutput: - ContextProvider: "com.ibm.websphere.naming.WsnInitialContextFactory" - server url: "corbaloc:iiop:localhost" - (replace host) - connection factory jndi name: this tells his own tale - the jndi name of the queueconnectionfactory - to: the queuename. Attention: not the jndi-queuename but the connection-queuename - have a closer look to the configuration of the queue in the was adminconsole for it so - this works, but one little question: Is it possible to load a bunch of librarys in any way? (using one component for all of them or setting classpath or something like this) The job looks a bit confusing with all this tLibraryLoads... -- Edit -- moved this question and another to a new topic 14746
i added "com.ibm.jaxws.thinclient_7.0.0.jar" "com.ibm.ws.admin.client_7.0.0.jar" "com.ibm.ws.jpa.thinclient_7.0.0.jar" "com.ibm.ws.orb_7.0.0.jar" "com.ibm.ws.messagingClient.jar" "com.ibm.ws.webservices.thinclient_7.0.0.jar" "com.ibm.ws.ejb.thinclient_7.0.0.jar" "iwsorbutil.jar" and follwed the instruction above (last post), so connection works... but i got this error: "Exception in component tJMSOutput_1 java.lang.ClassCastException: com.ibm.ws.sib.api.jms.impl.JmsQueueImpl cannot be cast to javax.jms.ConnectionFactory" any suggestions ? Richard
I am trying to use the tMomOutput to write to a WebSphere MQ but I am missing the following jar file "websphere-connector-1_5.jar" . Can anyone direct me how to find this file, I have tried findjar.com which I consider a very comprehensive jar finder and I am still unable to find it.