Properties Mapped to WS-Routing Elements

 

Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista

WS-Routing describes the entire message path, including the forward message path and an optional reverse message path, within the SOAP message structure. In Message Queuing, the forward message path extends from the initial sender to the ultimate destination, which is specified in the <to> element. The optional reverse message path, which is specified by an <rev> element containing one <via> subelement, is used to send a response message to the response queue specified in the <via> subelement.

The header portion of the SOAP envelope in an HTTP message contains a mandatory <path> header entry. A separate namespace is declared as a default namespace (without a prefix) for the <path> element and the other WS-Routing elements used within its content. Four Message Queuing message properties are mapped to the following elements of the <path> header entry:

  • <action>

    (Required, read/write.) Specifies the application-defined label of the message (PROPID_M_LABEL or MSMQMessage.Label). When writing this property to an HTTP message, Message Queuing prefixes the string with the keyword MSMQ separated by a colon. When reading, Message Queuing returns this property only if the element value is prefixed by the MSMQ keyword.

  • <to>

    (Required, read-only.) Specifies the original ultimate destination of the message (PROPID_M_DEST_QUEUE or MSMQMessage.DestinationQueueInfo).

  • <rev>

    (Optional.) Outer element that must contain exactly one <via> subelement.

  • <via>

    (Required as a subelement of <rev>, read/write.) Specifies the application-defined format name of the queue for sending response messages (PROPID_M_RESP_FORMAT_NAME or MSMQMessage.ResponseQueueInfo). If the response queue has a URL name, the URL is inserted in this element. If the response queue is specified in another supported format, this element will hold the format name prefixed by the keyword MSMQ and a colon, for example, MSMQ:DIRECT=TCP:157.18.3.5\RespQueue.

  • <id>

    (Required, read-only.) Specifies the Message Queuing-generated message identifier (PROPID_M_MSGID or MSMQMessage.Id). The identifier consists of a 4-byte sequential number followed by the 16-byte GUID of the sending computer and is written as a string in the following format:

    uuid:2288926@ac3fd49c-e7d5-4354-ba8d-3e13fc6f677c   
    

The recipient SRMP processor must understand and process the <path> entry and all of its contents for the successful processing of an HTTP message. The encoding of the <path> element must always contain the attribute se:mustUnderstand="1" to ensure this.

Note

The namespace prefix attached to this attribute (se) refers to the SOAP envelope namespace, which is declared in the <Envelope> element.

The following example shows how these properties are included in an HTTP message as elements of the <path> header entry:

<path xmlns="https://schemas.xmlsoap.org/rp/" se:mustUnderstand="1">  
  <action>MSMQ:Test Message</action>  
  <to>MSMQ:DIRECT=https://www.proseware.com/msmq/PRIVATE$/DestQ</to>  
  <rev>  
    <via>MSMQ:DIRECT=http://www.northwindtraders.com/msmq/PRIVATE$/RespQ</via>  
  </rev>  
  <id>uuid:2288926@ac3fd49c-e7d5-4354-ba8d-3e13fc6f677c</id>  
</path>  

More Information

For information on See
HTTP messages HTTP Messages
The message properties that are mapped to SRMP elements Properties Mapped to SRMP Elements
The message properties that are mapped to elements of the MSMQ namespace Properties Mapped to Elements of the MSMQ Namespace