cancel
Showing results for 
Search instead for 
Did you mean: 

JMS : Using SUN MQUEUE as a JMS Provider

Former Member
0 Kudos

Hi guys,

I'm having quite some trouble in configuring a JMS scenario...

I'm using SUN MQueue as a JMS Provider. I've installed the respective drivers, imq.jar, fscontext.jar and jms.jar.

I had no trouble in deploying this drivers on the SDM.

Now, after creating a receiver JMS communication channel, I get the following error on the RWB:

Error during channel initialization; exception trace: java.lang.NoSuchMethodException: com.sun.messaging.QueueConnectionFactory.(java.lang.String)

at java.lang.Class.getConstructor0(Class.java:1937)

at java.lang.Class.getConstructor(Class.java:1027)

at com.sap.aii.af.service.jms.WorkerJMSSender.init(WorkerJMSSender.java:474)

...

I've searched XI logs, in order of getting some light on the subject...This was what I've got:

#com.sap.aii.af.service.jms.WorkerJMSSender.init(WorkerHandler moduleHandler, Object para)#J2EE_GUEST#0####975a11b0c58b11dbce6700145e1855ec#SAPEngine_Application_Thread[impl:3]_19##0#0#Error##Java###Unable to create the QueueConnectionFactory due to #1#SUNMQUEUE_IP:SUNMQUEUE_Port# My question is what is #1#....

I've read a few forum threads, but none of them can clarify my error....

I've tried the same scenario using Business Connector...Of course, in BC I had to create 2 JAVA services, one for sending and another for receiving messages...there was no problem with this, I did managed to send JMS Messages to SUN MQUEUE...

Can anyone give a hint....anything...?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Don't include the jms.jar file in jmsproviderlib. Remove it and try.

Regards,

P.Venkat

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi,

Did you ever get this fgiured out?

I am having problems getting a connection to SUN MessageQueue 3 as well

Stephen

Former Member
0 Kudos

Goncalo,

when you select SUN MQueue option in XI JMS adapter from transport protcol then you QueueConnectionfactoryclassvalue and QueueMangershould be filled automatically is this happening

QueueConnectionfactoryclassvalue:something of this sort"com.ibm.mq.jms.MQQueueConnectionFactory"

similarly QueueJavaClass:"com.ibm.mq.jms.MQQueue"

if you haveinstalled your drivers correctly you should these option automatically

Regards

Sreeram.G.Reddy

Former Member
0 Kudos

Hi Sreeram,

Thanks for your answer.

No, when I choose JMS Protocol, my only options are SONIQMQ, Websphere MQ, Access JMS Provider with JNDI, (Read) Jms....from File and Access...Generically...

Should it appear SUN MQUEUE?

I've used other JMS Providers (TIBCO) and It didn't appeared TIBCO, I just used SONIQMQ with TIBCO's values....

What you are saying makes perfect sense, but is it a rule?

Former Member
0 Kudos

when you use SUN QMS then QueueJavaClass and Queue Connection factory javaclass should belong to SUN not other JMS providers.

iam not 100%sure Should it appear SUN MQUEUE?but is it a rule?

because i never used it . you can post in the forum for this.

my feeling is it should appear

Regards

Sreeram.G.Reddy

Former Member
0 Kudos

you are right when you say it should be SUN's QueueJavaClass and that's what I do... I just place:

QueueConnectionFactory JAVA class : com.sun.messaging.QueueConnectionFactory

Queue JAVA class: com.sun.messaging.Queue

IP: my IP

PORT: my port

JMS Queue: testQueue

....But that is not working, the error is right when XI tries to call com.sun.messaging.QueueConnectionFactory( )....

It seems that it isn't finding the jar that I've deployed...

Former Member
0 Kudos

One tiny advance....

Instead of using SONIQMQ JMS Provider and define SUNMQ classes (since the error I get is from XI not finding the classes), I've changed to Acess JMS Provider with JNDI.

Placing in XI, the .bindings file, with the administered objects, and the url's needed for establishing a connection, I manage XI to find the deployed classes and I get an attempt of connection from XI to my SUNMQ provider.

I now get a connection timeout error, suggesting that XI is attempting to connect SUNMQ but has no network capacities of doing it... At least, it's what I think, it seems to be a network error....I'll keep posting....

Former Member
0 Kudos

can do delete the drivers and create again because some drivers get corrupted while updating.

Regards

Sreeeram.G.Reddy

Former Member
0 Kudos

Hi Sreeram,

I tried but with no results...

Venkataramanan, related to your suggestion, I've limited to one jar, I've tested with a simple JAVA program and I'm able to send and consume messages from SUN MQUEUE provider with this jar... I've tried to redeploy the .sda including only this jar but with no results....

The error is exactly the same....

Error during channel initialization; exception trace: java.lang.NoSuchMethodException: com.sun.messaging.QueueConnectionFactory.(java.lang.String)

at java.lang.Class.getConstructor0(Class.java:1937)

at java.lang.Class.getConstructor(Class.java:1027)

at com.sap.aii.af.service.jms.WorkerJMSSender.init(WorkerJMSSender.java:474)

...

Does anybody have any suggestion...?

Former Member
0 Kudos

Hi,

This is something related to JMS Adapter configuration settings and security ...

please check .. all your settings..

<i>This is the SonicMQ implementation of the QueueConnectionFactory.

A JMS client, in this case the adapter, uses a QueueConnectionFactory object to generate QueueConnection objects of a JMS provider.

The default value for SonicMQ 3.0 is progress.message.jclient.QueueConnectionFactory</i>

See also..below links

http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/content.htm

Regards

Chilla..

Former Member
0 Kudos

Can anyone try to help.... ?