none
Two-way MSMQ Static-Solicit SendPort RRS feed

  • Question

  • Hi All

    Not sure if this a repetive question in this forum.

    In BTS 2010 , we have an option to create 2-way static-solicit send port with MSMQ .

    Can someone help me with the purpose of this & how and where to use it ?

    Is it possible to achieve 2-way request - response communication using the above ?For example, sending a Request to Q1 & getting a response back from Q1 or another other Q.

    Looking at the properties , it only has Destination Queue to send the Message , but no way to receive the response back ,apart from Ack.

    Any lights please .

    Thanks & Regards

    Sullu

     


    http://biztalkguide.blogspot.com/ Please mark as answer if this solved the issue.Thanks
    Monday, January 17, 2011 1:54 PM

Answers

  • Interesting difference receive side vs send side duplex. Because MSMQ is a durable resource manager than an actual service, a 2-way for an MSMQ port may not have any real use.

    To get the same effect, you would need to use 2 different ports, one receive and the other send. And then you need to do some custom correlation to match up the response. I would try to stick to one queue per format (one queue for the request and another queue for the response), although I know this is not always acceptable.

    Thanks,


    If this answers your question, please use the "Answer" button to say so | Ben Cline
    • Marked as answer by amsullu Tuesday, January 18, 2011 4:00 PM
    Tuesday, January 18, 2011 3:47 PM
    Moderator

All replies

  • Hi Sullu,

    Perhaps this post by Thomas can be useful.

    HTH

    Regards,

    Steef-Jan Wiggers
    MVP & MCTS BizTalk Server
    http://soa-thoughts.blogspot.com/
    If this answers your question please mark it accordingly


    BizTalk
    Monday, January 17, 2011 5:58 PM
    Moderator
  • I am guessing you want more than just a delivery notification back right?

    It sounds to me more like you want to use MSMQ in a disconnected scenario or some kind of asynchronous request. Paolo Salvatori did an article on WCF duplex messaging with BizTalk. He used the netTcp and netNamedPipe bindings for performance reasons but you might be able to use the netMSMQ binding instead. Here is his article: http://blogs.msdn.com/b/paolos/archive/2010/11/23/how-using-duplex-mep-to-communicate-with-biztalk-from-a-net-application-or-a-wf-workflow-running-inside-appfabric-part-1.aspx.

    Thanks,


    If this answers your question, please use the "Answer" button to say so | Ben Cline
    Monday, January 17, 2011 11:41 PM
    Moderator
  • Thanks Steef

     

    I indeed had a look at the article earlier.

    But my question is around achieving synchronous  2-way message pattern (request - response) rather than request - ack (delivery notice) using MSMQ .

    I could realize it is not possible to achieve 2-way synchronous message pattern directly using MSMQ Adapter.But, I have been motivated to raise the question ,because BizTalk Admin console allows us to create a 2-way MSMQ send port !!!!

    Thanks

    Sullu.


    http://biztalkguide.blogspot.com/ Please mark as answer if this solved the issue.Thanks
    Tuesday, January 18, 2011 9:13 AM
  • Thanks Ben.

    Yes , you are right . I am looking for an request - response synchronous pattern ,where sending a request to one Queue and getting the response back in another or same Queue.  BizTalk Admin console allows us to create a 2-way MSMQ send port !!!! ,so just thought it is achievale easily , directly .

    I will have detailed look at the article on the duplex pattern , but at a glance it gave me an idea of receive side duplex.My requirement is around send side duplex as mentioned , sending request and receiving response back.

    Thanks .

    Sullu


    http://biztalkguide.blogspot.com/ Please mark as answer if this solved the issue.Thanks
    Tuesday, January 18, 2011 9:23 AM
  • Interesting difference receive side vs send side duplex. Because MSMQ is a durable resource manager than an actual service, a 2-way for an MSMQ port may not have any real use.

    To get the same effect, you would need to use 2 different ports, one receive and the other send. And then you need to do some custom correlation to match up the response. I would try to stick to one queue per format (one queue for the request and another queue for the response), although I know this is not always acceptable.

    Thanks,


    If this answers your question, please use the "Answer" button to say so | Ben Cline
    • Marked as answer by amsullu Tuesday, January 18, 2011 4:00 PM
    Tuesday, January 18, 2011 3:47 PM
    Moderator
  • Thanks very much Ben & the design suggested was my last option to go for.

    I tried to check if the 2-way solicit send port for MSMQ is of any use . But understood now it is of no real use. 

    Thanks for the clarification.

    Sullu.


    http://biztalkguide.blogspot.com/ Please mark as answer if this solved the issue.Thanks
    Tuesday, January 18, 2011 4:00 PM
  • This article gives some good information from an architect perspective on MSMQ and managing for it: http://msdn.microsoft.com/en-us/magazine/cc663023.aspx. The section on long running processing and after would probably be most helpful for you.

    Thanks,


    If this answers your question, please use the "Answer" button to say so | Ben Cline
    Tuesday, January 18, 2011 6:02 PM
    Moderator
  • Thanks Ben.
    http://biztalkguide.blogspot.com/ Please mark as answer if this solved the issue.Thanks
    Wednesday, January 19, 2011 10:12 AM