One Star

JMS - Connection to WebSphere

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
6 REPLIES
One Star

Re: JMS - Connection to WebSphere

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 :-(
One Star

Re: JMS - Connection to WebSphere

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
One Star

Re: JMS - Connection to WebSphere

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
One Star

Re: JMS - Connection to WebSphere

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
One Star

Re: JMS - Connection to WebSphere

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.
One Star