JMS - Connection to WebSphere

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

What’s New for Talend Spring ’19

Join us live for a sneak peek!

Sign up now

Definitive Guide to Data Quality

Create systems and workflow to manage clean data ingestion and data transformation.

Download

Tutorial

Introduction to Talend Open Studio for Data Integration.

Watch

Downloads and Trials

Test drive Talend's enterprise products.

Downloads