Configuration of JMS Adapter 6.1 with SonicMQ 6.0 - Error wh

Hello,
I created an Adapter Service using Webmethods 6.01 and having JMS Adapter 6.1 connecting to SonicMQ V6.0.

I have created a new JMS Queue Connection config (on wmIS 6.0.1), with the following parameters,

Connection Properties:

Transaction Type: LOCAL_TRANSACTION
JNDI Initial Context Factory: com.sonicsw.jndi.mfcontext.MFContextFactory
JNDI Provider URL: tcp://localhost:2506
JNDI Security Principal
JNDI Security Credentials
JNDI Other Properties: connectId=<connect ID I am suing for this conn factory)
QueueConnectionFactory JNDI Name:
JMS user:
JMS password :
Retype JMS password

I created a Adapter Service for this connection which takes in a JMSMessage and procues a message to post it to this JMS queue. I found the following problems,

  1. With this service, I am not able to edit the JMSDestination obj on the input to the Adapter flow service. Is this how it should be ? Although, I could override this by supplying an input String which maps to this JMSDestination (as without this param the service fails for me).

  2. When I run this service, I get the following exception,

com.wm.pkg.art.error.DetailedServiceException: [ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service Armstrong.Utils:SendMsgToSonic.
[ART.114.505] Error while invoking adapter service com.wm.adapter.wmjms.service.WmJMSSend.
progress.message.jclient.QueueConnectionFactory

at com.wm.pkg.art.error.DetailedServiceException.create(DetailedServiceException.java:125)

at com.wm.pkg.art.error.DetailedServiceException.create(DetailedServiceException.java:116)

at com.wm.pkg.art.error.DetailedServiceException.create(DetailedServiceException.java:103)

at com.wm.pkg.art.ns.AdapterServiceNode.invokeService(AdapterServiceNode.java:649)

at com.wm.pkg.art.ns.ARTNSService.baseInvoke(ARTNSService.java:47)

at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:344)

at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:153)

at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)

at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:577)

at com.wm.lang.flow.FlowState.stepIncremental(FlowState.java:491)

at com.wm.lang.flow.FlowState.invoke(FlowState.java:373)

at wm.server.flowimpl.stepFlow(flowimpl.java:183)

at java.lang.reflect.Method.invoke(Native Method)

at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:294)

at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:344)

at com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(DefaultServerRequestHandler.java:97)

at com.wm.app.b2b.server.HTTPMessageHandler.process(HTTPMessageHandler.java:167)

at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:204)

at com.wm.util.pool.PooledThread.run(PooledThread.java:105)

at java.lang.Thread.run(Thread.java:479)

Do you know if I am doing anything wrong here ? Looks like the lookup for the connection factory is getting messed up or there is a conflict between JMS Adapter’s and the Sonic jars?

Any inputs/help would be great.

Thanks,

Sonic6 requires a slightly different setup from Sonic5 within the JMS 6.1 adapter. Please note, this version of Sonic is not yet officially supported by the adapter.

  1. Use the sonic_mgmt_client.jar instead of the sonic_mgmt.jar file in the <IS_install_dir>/packages/WmJMSAdapter/code/jars.

  2. If you are using security, you will also need the sonic_Crypto.jar

  3. Use the JMS version 1.1 jms.jar file in the <IS_install_dir>/lib/jars directory.

Also note the behavior of a NON_TRANSACTION or LOCAL_TRANSACTION connection changes. The message consumer now does an auto acknowledge, instead of requiring the CLIENT_AWKNOWLEDGE.

Hope that helps.

The JMS Adapter User’s Guide 6.1 and the JMS Adapter Installation Guide 6.1 have been updated to include information for use with SonicMQ v6 JMS provider.

The updated guides are available for download from the JMS Adapter section of Advantage: http://advantage.webmethods.com/article/?id=bookshelf_jms_adapter