4.3 Combined Delivery and Commitment Receipt Request Example

The following example requests both a delivery receipt and a commitment receipt acknowledgment in the same message.

 POST /msmq/private$/simpleq HTTP/1.1
 Host: machine2
 Content-Type: multipart/related; boundary="MSMQ - SOAP boundary, 95692"; 
 type=text/xml
 Content-Length: 1553
 SOAPAction: "MSMQMessage"
 Proxy-Accept: NonInteractiveClient
 --MSMQ - SOAP boundary, 95692
 Content-Type: text/xml; charset=UTF-8
 Content-Length: 1233
  
 <se:Envelope xmlns:se= "http://schemas.xmlsoap.org/soap/envelope/" 
              xmlns:rp="http://schemas.xmlsoap.org/rp/" 
              xmlns="http://schemas.xmlsoap.org/srmp/">
   <se:Header>
     <rp:path se:mustUnderstand="1">
       <rp:action>Generic label</rp:action>
       <rp:to>http://machine2/msmq/private$/simpleq</rp:to>
       <rp:id>uuid:1@00000000-0000-0000-0000-000000000008</rp:id>
       <rp:rev>
         <rp:via>http://machine1/MSMQ/private$/Q1</rp:via>
       </rp:rev>
     </rp:path>
     <properties se:mustUnderstand="1">
       <expiresAt>20070720T032452</expiresAt>
       <sentAt>20070719T032452</sentAt>
     </properties>
     <services xmlns="http://schemas.xmlsoap.org/srmp/" 
     se:mustUnderstand="1">
       <commitmentReceiptRequest>
         <sendTo>http://machine1/MSMQ/private$/deliverydone</sendTo>
         <negativeOnly/>
         <positiveOnly/>
       </commitmentReceiptRequest>
       <deliveryReceiptRequest>
         <sendTo>http://machine1/MSMQ/private$/receipts</sendTo>
       </deliveryReceiptRequest>
     </services>
   </se:Header>
   <se:Body></se:Body>
 </se:Envelope>--MSMQ - SOAP boundary, 95692
 Content-Type: application/octet-stream
 Content-Length: 45
 Content-Id: body@ff3af301-3196-497a-a918-72147c871a13
  

Both delivery and commitment receipt requests—MSMQ - SOAP boundary, 95692 are in same message.

The following is the HTTP 1.1 response to the initial message.

  
 HTTP/1.1 200 OK
 Content-Length: 0
 Server: Microsoft-IIS/7.0
 Date: Thu, 19 Jul 2007 03:24:51 GMT

The following is the delivery receipt.

  
 POST /msmq/private$/receipts HTTP/1.1
 Host: machine1
 Content-Type: text/xml
 Content-Length: 959
 SOAPAction: "MSMQMessage"
 Proxy-Accept: NonInteractiveClient
  
 <se:Envelope xmlns:se="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns="http://schemas.xmlsoap.org/srmp/">
   <se:Header>
     <path xmlns="http://schemas.xmlsoap.org/rp/" se:mustUnderstand="1">
       <action>MSMQ:</action>
       <to>http://machine1/MSMQ/private$/receipts</to>
       <rev>
         <via>http://machine2/msmq/private$/simpleq</via>
       </rev>
       <id>uuid:34826@ac678228-2dd6-418b-b31f-0539ffeea853</id>
     </path>
     <properties se:mustUnderstand="1">
       <expiresAt>20380119T031407</expiresAt>
       <sentAt>20070719T032451</sentAt>
     </properties>
     <deliveryReceipt>
       <receivedAt>20070719T032454</receivedAt>
       <id>uuid:1@00000000-0000-0000-0000-000000000000</id>
     </deliveryReceipt>
     <Msmq xmlns="msmq.namespace.xml">
       <Class>2</Class>
       <Priority>3</Priority>
       <Correlation>AAAAAAAAAAAAAAAAAAAAAAEAAAA=</Correlation>
       <App>0</App>
       <BodyType>0</BodyType>
       <HashAlgorithm>0</HashAlgorithm>
       <SourceQmGuid>ac678228-2dd6-418b-b31f-0539ffeea853</SourceQmGuid>
       <TTrq>20070723T032451</TTrq>
     </Msmq>
   </se:Header>
   <se:Body></se:Body>
 </se:Envelope>
  

The following is the HTTP 1.1 response to the delivery receipt.

  
 HTTP/1.1 200 OK
 Content-Length: 0
 Server: Microsoft-IIS/7.0
 Date: Thu, 19 Jul 2007 03:24:57 GMT

The following is the commitment receipt.

  
 POST /msmq/private$/receipts HTTP/1.1
 Host: machine1
 Content-Type: text/xml
 Content-Length: 994
 SOAPAction: "MSMQMessage"
 Proxy-Accept: NonInteractiveClient
  
 <se:Envelope xmlns:se="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns="http://schemas.xmlsoap.org/srmp/">
   <se:Header>
     <path xmlns="http://schemas.xmlsoap.org/rp/" se:mustUnderstand="1">
       <action>MSMQ:</action>
       <to>http://machine1/MSMQ/private$/receipts</to>
       <rev>
         <via>http://machine2/msmq/private$/simpleq</via>
       </rev>
       <id>uuid:34827@ac678228-2dd6-418b-b31f-0539ffeea853</id>
     </path>
     <properties se:mustUnderstand="1">
       <expiresAt>20380119T031407</expiresAt>
       <sentAt>20070719T032721</sentAt>
     </properties>
     <commitmentReceipt>
       <decidedAt>20070719T032721</decidedAt>
       <decision>positive</decision>
       <id>uuid:1@00000000-0000-0000-0000-000000000000</id>
     </commitmentReceipt>
     <Msmq xmlns="msmq.namespace.xml">
       <Class>16384</Class>
       <Priority>3</Priority>
       <Correlation>AAAAAAAAAAAAAAAAAAAAAAEAAAA=</Correlation>
       <App>0</App>
       <BodyType>0</BodyType>
       <HashAlgorithm>0</HashAlgorithm>
       <SourceQmGuid>ac678228-2dd6-418b-b31f-0539ffeea853</SourceQmGuid>
       <TTrq>20070723T032721</TTrq>
     </Msmq>
   </se:Header>
   <se:Body></se:Body>
 </se:Envelope>
  

The following is the HTTP 1.1 response to the commitment receipt.

  
 HTTP/1.1 200 OK
 Content-Length: 0
 Server: Microsoft-IIS/7.0
 Date: Thu, 19 Jul 2007 03:27:21 GMT