简体   繁体   中英

Cant send to MSMQ with 2 DNS names

We're Having an issue with sending an MSMQ message to the second DNS name on a server. If we send the IP for that same server, we're fine, but thats not where we are going architecturally. Any ideas as to why MSMQ would care about which name it receives?

Server Information:

The physical server load-int-01 , has a second IP and DNS name associated with it.

  • First IP/DNS: load-int-01 , with IP 10.0.10.10
  • Second IP/DNS: load-intv , with IP 10.0.10.20

Queue Path Formats Used:

  • FormatName:DIRECT=OS:load-int-01\\private$\\MyQueue → Works Fine
  • FormatName:DIRECT=OS:load-intv\\private$\\MyQueue → Returns the error…

    The queue does not exist or you do not have sufficient permissions to perform this operation

We have also tried using the IP addresses instead, and both sets of IPs work fine.

  • FormatName:DIRECT=TCP:10.0.10.10\\private$\\MyQueue → Works Fine
  • FormatName:DIRECT=TCP:10.0.10.20\\private$\\MyQueue → Works Fine

We just got off the phone with Microsoft. This is a limitation of MSMQ. You can not receive on queues with a DNS name different than the server NETBIOS name. You can SEND to queues with an alternate DNS name provided you use the two registry keys mentioned above, OptionalNames and IgnoreOSNameValidation.

Back to virtual ip's for us, or we might keep the virtual name for the sending connection strings (with the reg settings) and use .\\ for the receiving servername...that works.

Thanks for the help.

From:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;899611

By default, Message Queuing verifies the message that it receives to determine whether the message is intended for the local computer. If the message is not intended for the local computer, the message is rejected.

So follow the section on "IgnoreOSNameValidation" in this article and I hope it will help.

Very frustrating. I'm trying to migrate some MSMQ targets (web services) and I guess I will have to configure them to use virtual IPs, and migrate the virtual IPs, since migrating the NetBIOS name will be a mission.

MSMQ should be re-christened MSMQ-1982, since it appears to predate the invention of a cunning and useful abstraction layer called "DNS" in 1983.

I had the same issue and got it working. The trick for me was after setting the IgnoreOSNameValidation registry key, you have to restart the Message Queuing service.

I know this is an old post, but it comes up in Google when searching for a solution to this issue.

This did work for me:

FormatName:DIRECT=TCP:HOST.TLD\PRIVATE$\MyQueue 

Note that uses TCP instead of OS . This is the relevant documentation :

Non-transactional messaging by using Direct=TCP This configuration

functions without any particular configuration changes.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM