0

This question is related to this one.

Given that WCF binding uses net.msmq:// URL, for instance net.msmq://server/private/nc_queue, how can one know what is the actual MSMQ address to which this URL is translated? Is there some kind of a trace that can be activated? Or an external tool that would help one capture the address?

Thanks.

EDIT1

OK, I owe a clarification. One can talk directly to MSMQ through the respective .NET API. In the case of MSMQ over its native port 1801, I would use this MSMQ address:

FormatName:Direct=OS:server\private$\nc_queue

When MSMQ is configured over HTTP, the address changes to something like this:

FormatName:Direct=http://server/msmq/nc_queue

But the WCF binding uses a standard URL to describe the address, like:

net.msmq://server/private/nc_queue

So, how can I know what is the actual MSMQ address (the one with the FormatName) to which the net.msmq:// is translated?

Community
  • 1
  • 1
mark
  • 59,016
  • 79
  • 296
  • 580

1 Answers1

2

I don't really understand your question.... if you use the WCF netMsmqBinding, you're basically dropping off MSMQ messages into an MSMQ queue. So what you really have is a queue name that you're dealing with - not a URL.....

net.msmq://server/private/nc_queue

This translates into a MSMQ private queue called nc_queue on server - so what is it really that you're trying to do?? I'm not getting it..... care to clarify??

In the meantime, check out Tom Hollander's three-part blog post series on MSMQ, WCF and IIS:

Update: I think I'm beginning to understand your issues - if you're using the WCF netMsmqBinding, you're connecting to MSMQ directly - this is not "MSMQ-over-HTTP". If you want to set up and use MSMQ-over-HTTP from a WCF client, from what I understand, you'd be talking to a straight regular HTTP service, so you'd have to use basicHttpBinding (or wsHttpBinding) - not the specific netMsmqBinding.

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
  • I doubt that. wsHttpBinding does not have the MSMQ specific parameters. – mark Dec 22 '10 at 10:12
  • @Mark: yes, but if you expose "MSMQ over HTTP", then we're really talking about a HTTP endpoint you need to talk to.... – marc_s Dec 22 '10 at 10:21
  • @Mark: using the netMsmqBinding goes directly into the MSMQ queue - doesn't support "over HTTP", I would believe.... – marc_s Dec 22 '10 at 10:22
  • I think you are wrong - http://msdn.microsoft.com/en-us/library/aa395217.aspx. Anyway, the question is more about the tracing. How can I trace the process? – mark Dec 23 '10 at 08:03