also be implemented. Message Queuing (MSMQ): Binary Reliable Messaging Protocol A protocol designed for reliable transfer of messages between two queues hosted by two different queue managers located on different machines. This protocol uses the Transmission Control Protocol/Internet Protocol (TCP/IP) or Internetwork Packet Exchange/Sequenced Packet Exchange (SPX/IPX) to transform the data between queue managers, but augments each with additional levels of acknowledgments that ensure that the messages are reliably transferred across, regardless of TCP or SPX connection failures, application failures, or node failures. The queue manager implements both the client and the server sides of this protocol. This protocol relies on the Lightweight Directory Access Protocol (LDAP) or the Message Queuing (MSMQ): Directory Service Protocol (MQDS) to look up persistent entries in the directory. This protocol also relies on the Message Queuing (MSMQ): Binary Reliable Messaging Algorithm (MQBR) to implement the routing server role of the queue manager. See section 2.2.
Message Queuing (MSMQ): Binary Reliable Messaging Algorithm Message Queuing (MSMQ): SOAP Reliable Messaging Protocol (SRMP) A Hypertext Transfer Protocol or Pragmatic General Multitask (PGM)-based protocol that uses SOAP encoding for reliable transfer of messages from one queue manager to others. The queue manager implements both the client and the server sides of this protocol. Message Queuing (MSMQ): Directory Service Change Notification Protocol A block protocol for notifying a queue manager about changes made to the Directory Service objects owned by that queue manager. The types of notifications that can be performed by using this protocol include notifying a queue manager that a queue object has been created, changed, or deleted; and notifying a queue manager that its machine object has been changed. This protocol uses the Queuing (MSMQ): Message Queuing Binary Protocol (MQQB) to transfer notification messages between queue managers. Both the client and the server sides of this protocol are implemented by the queue manager. Message Queuing (MSMQ): An RPC protocol that provides a client interface for management
by that queue manager. Message Queuing (MSMQ): Manager Management Protocol An RPC protocol that provides a client interface for MSMQ administration. Message Queuing (MSMQ): Directory Service Discovery Protocol A protocol that uses UDP multicast for locating MSMQ Directory Service servers. Message Queuing (MSMQ): Directory Service Protocol An RPC protocol that implements the MSMQ Directory Service. This protocol is superseded by Active Directory. Message Queuing (MSMQ): Directory Service Schema Mapping A mapping between relevant Message Queuing abstract data model elements and a directory service over a Lightweight Directory Access Protocol (LDAP) interface. Message Queuing (MSMQ): Queue Manager to Queue Manager Protocol An RPC protocol that provides an interface between two managers for reading and browsing messages from a remote queue. This protocol has been superseded by MQRR.
Dependencies on This System The following systems use the interfaces provided by the Microsoft Message Queuing (MSMQ) protocols: Component Object Model Plus (COM+): Uses the MSMQ protocols for implementing the COM+ Queued Components Protocol as specified in . RPC: Can use the MSMQ protocols as a transport for supporting asynchronous RPC calls.<1> Windows Communication Foundation (WCF): Uses the MSMQ protocols as a transport for supporting queued communication. WCF uses the MSMQ primitives to provide additional message processing functionalities such as handling. This functionality is supported by keeping track of the number of times that an application has attempted to process a particular message in a queue and by moving the message from the queue to a separate designated queue when the number of such attempts exceeds a certain application-defined limit, such that the application does not receive the poison message anymore and can process other messages. See for more information. Dependencies on Systems/Components In addition to the external subsystem dependencies specified in each Microsoft Message Queuing (MSMQ) protocol document, the MSMQ protocol set requires: A durable storage system to persist state and data. Various transports as specified in individual protocol technical documents. Security infrastructure as described in section . Assumptions and Preconditions The following assumptions and preconditions are required for a Message Queuing System to start operation successfully: The required MSMQ components are installed on the participating machines, and the queue manager, if any, is initialized on each machine. Storage devices are configured and available and have enough space to store the system state and data. The required transport protocols are available and fully initialized on the participating machines. If transactions are used, a Transaction Coordinator is available and fully initialized. Security package providers are available to the system. The queue manager possesses valid security credentials suitable for authentication. The following additional assumptions and preconditions are required if a Message Queuing System is operating in Directory-Integrated mode as described in section : At least one exists for the domain. Each machine is joined to the domain. A Directory Service is initialized and available. If versions 1.0 or 2.0 of MSMQ are used, an MSMQ Directory Service server is initialized and available on a domain controller.
Protocol syntax refers to data elements (such as packets, structures, enumerations, and methods) as well as interfaces. Protocol revision refers to changes made to a protocol that affect the bits that are sent over the wire. The changes made to this document are listed in the following table. For more information, please contact . Section Tracking number (if applicable) and description Major change (Y or N) Change type Microsoft Implementations Added Windows 10 to applicability list. Y Content update.
Index A 59 35 18 38 C 49 82 52 37 38 37 38 18 Considerations 59 52 Create or modify queue - application 40 D Dependencies 38 37 Design intent 40 47 38 41 45 46 43 42 44 E 37 49 60 Exchange message - application 47 Extensibility 80 49 49 37 F 18 6 G 10 H 49 I Implementations - Microsoft ( 80, 80) 52 16 38 6 M Microsoft implementations ( 80, 80) O Overview 35 6 6 6 P 38 80 Q Query queue information- application 41 R Receive a message from a - application 45