C1 Sonic webMethods


We wanted to know, if anyone has used Sonic in wM to communicate with MktSite. Does wM have an on field Sonic adapter or Do people generally then use https to connect to MktSite?


mostly i observed in some clients using c1 on ramp they use https transport connecting to marketsite with the use of wmMarketConnect builtin services which internally uses sonic functionality for sending orders and responses… and also do noticed some problems for receiving PO Acks due to sonic connection errors back from marketsite ,and finally resolved them by taking help with tech support.

Yes you can use sonic to connect to marketsite and that sonic can be registered to your webmethods box also. In order to achive wm and sonic connectivity you need to write custom java code(using JMS technology) which basically listen to a queue in sonic
WM does not support sonic connectivity with integration server as I remember there were some licensing issue.
Main thing is what you want to achive using sonic with marketsite, if it is a guaranteed delivery then it makes sense to write java code otherwise using c1 on ramp you can connect to marketsite with HTTPS.

There is no free adaptor from WM which connects to Sonic as I know.
C1 on ramp with HTTPS does not use sonic internally.

Hope this will help.


Thanks MJ for your comments.

Has anybody written a JMS client for Sonic, then connected it to the wM MarketConnect package and used it for production use?

Hey Ritesh,
We have developed JMS adaptor to connect to sonic and currently using in production. JMS adaptor connects to our sonic cluster and that sonic cluster connects to marketsite. So you can say that this is a proven technology.


If you can explain me liitle more what exactly you are using and how the connection you are making then I might be able to help you.


Hi Manish,

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:

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: <jndi>
JMS user: <username>
JMS password : <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.

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.

My email id is bharu78@yahoo.com.!

I have replied to your yahoo email address. Hope that helps.


Hi Ritesh,

there are two connectors to Sonic MQ that have their roots in the Commerceone SAP partnership. They are called MarketSet connector and Marketplace connector. To you as a user it does not really matter what transport layer is used (https or SonicMQ) as you are just using an alias that has the same interface in both cases.

We are using this product since several years in a heavy load production environment and apart from some minor room for improvement we are very happy with it.
Let me know if you need specific help with either one of the products. Thanks, jochen