MSE hosting MSMQ's

Jul 9, 2009 at 4:44 PM

I saw this thread (http://servicesengine.codeplex.com/Thread/View.aspx?ThreadId=35814) and was wondering if anyone could elaborate on setting up an MSE endpoint that delivers requests to a queue.  For some reason my head keeps getting flipped around when I try to visualize this and what the configuration might look like.  I keep thinking I need the queue defined on the left side (the published WCF service) and don't see how I would define a queue on the right side (the backend system/service) which I think of as the thing I'm virtualizing.

I would very much like to create a service in MSE that delivers to a queue.  We would like biztalk to process the messages that arrive in that queue. 

Developer
Jul 20, 2009 at 9:50 PM

If you create a WCF Service that uses the netMsmqBinding you can import it into the MSE using the Web Service Metadata wizard (Tools -> Load Resources ->Web Service Metadata).  Since the MSMQ implementation will be a one-way call, you'll notice the loaded resources and corresponding virutal operations won't have response contracts.  On the "left-side" you can host the operation over a basic http binding for example.

You can also host the queued endpoint in the MSE if you want (which would mean the client is actually sending messages to a queue rather than directly to the MSE).  In this scenario the MSE Endpoint would use netMsmqBinding and the Endpoint Path field would represent the queue name (i.e. private/msehostq).  When the MSE Runtime is running, it would pull items from the queue and deliver them to whatever implementation is defined by the corresponding Resource definition (which could also be a queue).