2.1.2 Direct Format Names

Direct format names are used to reference public or private queues without accessing the directory service. Message Queuing can use the information provided by direct format names to send messages directly to their destinations. Thus, direct format names can be used to send and receive messages in workgroup mode, send messages to computers on the Internet, and send messages directly to a computer.

A direct format name MUST conform to the following format in ABNF notation.

 DirectName = PrivateQueuePath / PublicQueuePath / MachineQueuePath
  
 PrivateQueuePath = "DIRECT=" Protocol ":" 
                    ProtocolAddressSpecification "\PRIVATE$\" 
                    QueueName [";JOURNAL"]
  
 PublicQueuePath = "DIRECT=" Protocol ":" 
                   ProtocolAddressSpecification "\" QueueName 
                   [";JOURNAL"] 
  
 MachineQueuePath = "DIRECT=" Protocol ":" 
                    ProtocolAddressSpecification "\SYSTEM$;" 
                    ("JOURNAL" / "DEADLETTER" / "DEADXACT") 
  
 Subqueue=1*32(%x21 / %x23-2A / %x2D-3A / %x3C-5B / %x5D-7f)
  
 Protocol = "TCP" / "OS" / "HTTP" / "HTTPS" / "IPX"
  

Where:

  • <QueueName> is a queue path name from Path names (section 2.1.1).

  • <ProtocolAddressSpecification> is the protocol-specific address format as defined in the following table.

     Protocol

     Description

     Protocol address specification

    TCP

    Connection-oriented TCP over IP

    Internet address notation (IP address)

    IPX

    Connection-oriented SPX over IPX

    Network number and host number (separated by a colon ":" character)

    OS

    Connection using the native computer-naming convention

    Any computer name supported by the underlying operating system

    HTTP

    Connection over HTTP

    ProtocolAddressSpecification = "//" Host [":" Port] "/MSMQ"

    Port = *(%x30-39)

    Where:

    • <Host> is either a computer name supported by the underlying operating system or an IP address.

    • If <Port> is unspecified, a default of 80 is assumed.

    HTTPS

    Connection over HTTPS

    ProtocolAddressSpecification = "//" Host [":" Port] "/MSMQ"

    Port = *(%x30-39)

    Where

    • <Host> is either a computer name supported by the underlying operating system or an IP address.

    • If <Port> is unspecified, a default of 443 is assumed.