Transaktionsprotokolle, Version 1.0Transaction Protocols version 1.0

Windows Communication Foundation (WCF) Version 1 implementiert Version 1.0 der Protokolle WS-Atomic Transaction und WS-Coordination.Windows Communication Foundation (WCF) version 1 implements version 1.0 of the WS-Atomic Transaction and WS-Coordination protocols. Weitere Informationen zu Version 1.1, finden Sie unter Transaktionsprotokolle.For more information about version 1.1, see Transaction Protocols.

Spezifikation/DokumentSpecification/Document LinkLink
WS-CoordinationWS-Coordination http://msdn.microsoft.com/ws/2005/08/ws-coordination/
WS-AtomicTransactionWS-AtomicTransaction http://msdn.microsoft.com/ws/2005/08/ws-atomictransaction/

Die Interoperabilität für diese Protokolle ist für zwei Ebenen erforderlich: zwischen Anwendungen und zwischen Transaktions-Managern (siehe folgende Abbildung).Interoperability on these protocol specifications is required at two levels: between applications and between transaction managers (see the following figure). In den Spezifikationen werden die Nachrichtenformate und der Nachrichtenaustausch für beide Interoperabilitätsebenen ausführlich beschrieben.Specifications describe in great detail the message formats and message exchange for both interoperability levels. Bestimmte Sicherheits- und Zuverlässigkeitsstufen sowie Codierungen gelten für einen Austausch von Anwendung zu Anwendung wie bei einem normalen Anwendungsaustausch.Certain security, reliability, and encodings for application-to-application exchange apply as they do for regular application exchange. Für eine erfolgreiche Interoperabilität zwischen den Transaktions-Managern ist eine Einigung auf eine bestimmte Bindung erforderlich, weil diese in der Regel nicht vom Benutzer konfiguriert wird.However, successful interoperability between transaction managers requires agreement on the particular binding, because it is usually not configured by the user.

In diesem Thema wird die Verbindung der WS-Atomic-Transaktion (WS-AT)-Spezifikation und der Sicherheitsfunktion beschrieben. Außerdem wird die für eine Kommunikation zwischen den Transaktions-Managern verwendete sichere Bindung beschrieben.This topic describes a composition of the WS-Atomic Transaction (WS-AT) specification with security and describes the secure binding used for communication between transaction managers. Der in diesem Dokument beschriebene Ansatz wurde erfolgreich mit anderen Implementierungen von WS-AT und WS-Coordination getestet, u. a. IBM, IONA und Sun Microsystems.The approach described in this document has been successfully tested with other implementations of WS-AT and WS-Coordination including IBM, IONA, Sun Microsystems, and others.

In der folgenden Abbildung wird die Interoperabilität zwischen zwei Transaktions-Managern beschrieben, Transaktions-Manager 1 und Transaktions-Manager 2, sowie zwischen zwei Anwendungen, Anwendung 1 und Anwendung 2.The following figure depicts the interoperability between two transaction managers, Transaction Manager 1 and Transaction Manager 2, and two applications, Application 1 and Application 2.

TransaktionsprotokolleTransaction Protocols

Betrachten Sie ein typisches WS-Coordination/WS-Atomic-Transaktionsszenario mit einem Initiator (I) und einem Teilnehmer (P).Consider a typical WS-Coordination/WS-Atomic Transaction scenario with one Initiator (I) and one Participant (P). Sowohl Initiator als auch Teilnehmer verfügen über Transaktions-Manager (ITM und PTM).Both Initiator and Participant have Transaction Managers, (ITM and PTM, respectively). In diesem Thema wird das Zweiphasen-Commit als 2PC bezeichnet.Two-phase commit is referred to as 2PC in this topic.

1. CreateCoordinationContext1. CreateCoordinationContext 12. Anwendungsnachrichtenantwort12. Application Message Response
2. CreateCoordinationContextResponse2. CreateCoordinationContextResponse 13. Commit (Abschluss)13. Commit (Completion)
3. Register (Abschluss)3. Register (Completion) 14. Prepare (2PC)14. Prepare (2PC)
4. RegisterResponse4. RegisterResponse 15. Prepare (2PC)15. Prepare (2PC)
5. Anwendungsnachricht5. Application Message 16. Prepared (2PC)16. Prepared (2PC)
6. CreateCoordinationContext mit Kontext6. CreateCoordinationContext with Context 17. Prepared (2PC)17. Prepared (2PC)
7. Register (Durable)7. Register (Durable) 18. Commit ausgeführt (Abschluss)18. Committed (Completion)
8. RegisterResponse8. RegisterResponse 19. Commit (2PC)19. Commit (2PC)
9. CreateCoordinationContextResponse9. CreateCoordinationContextResponse 20. Commit (2PC)20. Commit (2PC)
10. Register (Durable)10. Register (Durable) 21. Commit ausgeführt (2PC)21. Committed (2PC)
11. RegisterResponse11. RegisterResponse 22. Commit ausgeführt (2PC)22. Committed (2PC)

In diesem Dokument wird die Verbindung der WS-Atomic-Transaktion (WS-AT)-Spezifikation und der Sicherheitsfunktion beschrieben. Außerdem wird die für eine Kommunikation zwischen den Transaktions-Managern verwendete sichere Bindung beschrieben.This document describes a composition of the WS-AtomicTransaction specification with security and describes the secure binding used for communication between transaction managers. Der in diesem Dokument beschriebene Ansatz wurde erfolgreich mit anderen Implementierungen von WS-AT und WS-Coordination getestet.The approach described in this document has been successfully tested with other implementations of WS-AT and WS-Coordination.

In der Abbildung und in der Tabelle werden vier Nachrichtenklassen vom Standpunkt der Sicherheit dargestellt:The figure and table illustrate four classes of messages from the viewpoint of security:

  • Aktivierungsnachrichten (CreateCoordinationContext und CreateCoordinationContextResponse).Activation messages (CreateCoordinationContext and CreateCoordinationContextResponse).

  • Registrierungsnachrichten (Register und RegisterResponse)Registration messages (Register and RegisterResponse)

  • Protokollnachrichten (Prepare, Rollback, Commit, Aborted usw.).Protocol messages (Prepare, Rollback, Commit, Aborted, and so on).

  • Anwendungsnachrichten.Application messages.

Die ersten drei Nachrichten werden als Transaktions-Manager-Nachrichten betrachtet, deren Bindungskonfiguration weiter unten in diesem Thema unter "Anwendungsnachrichtenaustausch" behandelt wird.The first three message classes are considered Transaction Manager messages and their binding configuration is described in the "Application Message Exchange" later in this topic. Bei der vierten Klasse von Nachrichten handelt es sich um Nachrichten von Anwendung zu Anwendung, die weiter unten in diesem Thema im Abschnitt "Nachrichtenbeispiele" beschrieben werden.The fourth class of message is application to application messages and is described in the "Message Examples" section later in this topic. Dieser Abschnitt beschreibt die protokollbindungen für jede dieser Klassen von WCF verwendet.This section describes the protocol bindings used for each of these classes by WCF.

Die folgenden XML-Namespaces und zugeordneten Präfixe werden in diesem Thema verwendet.The following XML Namespaces and associated prefixes are used throughout this document.

PräfixPrefix Namespace-URINamespace URI
s11s11 http://schemas.xmlsoap.org/soap/envelope
wsawsa http://www.w3.org/2004/08/addressing
wscoorwscoor http://schemas.xmlsoap.org/ws/2004/10/wscoor
wsatwsat http://schemas.xmlsoap.org/ws/2004/10/wsat
tt http://schemas.xmlsoap.org/ws/2005/02/trust
oo http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
xsdxsd http://www.w3.org/2001/XMLSchema

Transaktions-Manager-BindungenTransaction Manager Bindings

R1001: Transaktions-Manager müssen SOAP 1.1 und WS-Adressierung 2004/08 für den WS-AtomicTransaction- und den WS-Coordination-Nachrichtenaustausch verwenden.R1001: Transaction Managers must use SOAP 1.1 and WS-Addressing 2004/08 for WS-Atomic Transaction and WS-Coordination message exchanges.

Anwendungsnachrichten werden nicht auf diese Bindungen eingeschränkt und werden später beschrieben.Application messages are not constrained to these bindings and are described later.

HTTPS-Bindungen des Transaktions-ManagersTransaction Manager HTTPS Binding

Die HTTPS-Bindung des Transaktions-Managers richtet sich lediglich nach der Transportsicherheit, um Sicherheit zu gewährleisten und eine Vertrauenswürdigkeit zwischen den einzelnen Absender-Empfänger-Paaren in der Transaktionsstruktur herzustellen.The transaction manager HTTPS binding relies solely on transport security to achieve security and establish trust between each sender-receiver pair in the transaction tree.

HTTPS-TransportkonfigurationHTTPS Transport Configuration

X.509-Zertifikate werden verwendet, um eine Transaktions-Manager-Identität herzustellen.X.509 certificates are used to establish Transaction Manager Identity. Die Client/Server-Authentifizierung ist erforderlich, und die Client/Server-Autorisierung wird als Implementierungsdetail beibehalten:Client/server authentication is required, and client/server authorization is left as an implementation detail:

  • R1111: Über die Verbindung vorgestellte X.509-Zertifikate müssen einen Antragstellernamen aufweisen, der dem vollqualifizierten Domänennamen (FQDN) des sendenden Computers entspricht.R1111: X.509 certificates presented over the wire must have a subject name that matches the fully qualified domain name (FQDN) of the originating machine.

  • B1112: DNS muss zwischen den einzelnen Absender-Empfänger-Paaren im System funktionieren, damit eine Prüfung der X.509-Antragstellernamen erfolgreich ist.B1112: DNS must be functional between each sender-receiver pair in the system for X.509 subject name checks to succeed.

Bindungskonfiguration von Aktivierung und RegistrierungActivation and Registration Binding Configuration

WCF erfordert Anforderung/Antwort-duplexbindung mit Korrelation über HTTPS.WCF requires request/reply duplex binding with correlation over HTTPS. (Weitere Informationen über Korrelation und Beschreibungen der Anforderungs-/Antwortnachrichten-Austauschmuster finden Sie unter WS-Atomic-Transaktion, Abschnitt 8.)(For more information about correlation and descriptions of the request/reply message exchange patterns, see WS-Atomic Transaction, Section 8.)

Bindungskonfiguration des 2PC-Protokolls2PC Protocol Binding Configuration

WCF unterstützt unidirektionale (Datagramm-) Nachrichten über HTTPS.WCF supports one-way (datagram) messages over HTTPS. Korrelation unter den Nachrichten wird als Implementierungsdetail beibehalten.Correlation among the messages is left as an implementation detail.

B2131: Implementierungen müssen unterstützen wsa:ReferenceParameters wie beschrieben in WS-Adressierung, die Korrelation von WCF 2PC-Nachrichten zu erreichen.B2131: Implementations must support wsa:ReferenceParameters as described in WS-Addressing to achieve correlation of WCF’s 2PC messages.

Gemischte Sicherheitsbindung des Transaktions-ManagersTransaction Manager Mixed Security Binding

Dies ist eine alternative Bindung, verwendet transportsicherheit kombiniert mit dem WS-Coordination Issued Token-Modell zu identitätserstellungszwecken (Gemischter Modus).This is an alternate (mixed mode) binding that uses transport security combined with the WS-Coordination Issued Token model for identity establishment purposes. Aktivierung und Registrierung sind die einzigen Elemente, die sich zwischen den beiden Bindungen unterscheiden.Activation and Registration are the only elements that differ between the two bindings.

HTTPS-TransportkonfigurationHTTPS Transport Configuration

X.509-Zertifikate werden verwendet, um eine Transaktions-Manager-Identität herzustellen.X.509 certificates are used to establish Transaction Manager Identity. Die Client/Server-Authentifizierung ist erforderlich, und die Client/Server-Autorisierung wird als Implementierungsdetail beibehalten:Client/Server authentication is required, and client/server authorization is left as an implementation detail.

Bindungskonfiguration von AktivierungsnachrichtenActivation Message Binding Configuration

Aktivierungsnachrichten nehmen in der Regel nicht an der Interoperabilität teil, da sie normalerweise zwischen einer Anwendung und dem lokalen Transaktions-Manager auftreten.Activation Messages usually do not participate in interoperability because they typically occur between an application and its local Transaction Manager.

B1221: WCF verwendet duplex HTTPS-Bindung (beschrieben Messaging-Protokolle) für Aktivierungsnachrichten.B1221: WCF uses duplex HTTPS binding (described in Messaging Protocols) for Activation messages. Anforderungs- und Antwortnachrichten werden mithilfe von WS-Addressing 2004/08 korreliert.Request and Reply messages are correlated using WS-Addressing 2004/08.

In der WS-Atomic Transaktion-Spezifikation, Abschnitt 8, werden die Korrelation und die Nachrichtenaustauschmuster ausführlich beschrieben.WS-Atomic Transaction specification, Section 8, describes further details about correlation and the message exchange patterns.

  • R1222: Beim Eingang eines CreateCoordinationContext muss der Koordinator ein SecurityContextToken mit zugewiesenem geheimen STx ausgeben.R1222: Upon receiving a CreateCoordinationContext, the Coordinator must issue a SecurityContextToken with associated secret STx. Dieses Token wird entsprechend der WS-Trust-Spezifikation in einem t:IssuedTokens-Header zurückgegeben.This token is returned inside a t:IssuedTokens header following WS-Trust specification.

  • R1223: Falls die Aktivierung innerhalb eines bereits vorhandenen Koordinationskontexts stattfindet, muss der t:IssuedTokens-Header, bei dem SecurityContextToken dem bereits vorhandenem Kontext zugewiesen ist, in der CreateCoordinationContext-Nachricht fließen.R1223: If Activation occurs within an existing Coordination Context, the t:IssuedTokens header with the SecurityContextToken associated with existing Context must flow on the CreateCoordinationContext message.

Ein neues t:IssuedTokens Header generiert werden soll, zum Anfügen an den ausgehenden wscoor:CreateCoordinationContextResponse Nachricht.A new t:IssuedTokens header should be generated for attaching to the outgoing wscoor:CreateCoordinationContextResponse message.

Bindungskonfiguration von RegistrierungsnachrichtenRegistration Message Binding Configuration

B1231: WCF verwendet duplex HTTPS-Bindung (beschrieben Messaging-Protokolle).B1231: WCF uses duplex HTTPS binding (described in Messaging Protocols). Anforderungs- und Antwortnachrichten werden mithilfe von WS-Addressing 2004/08 korreliert.Request and Reply messages are correlated using WS-Addressing 2004/08.

In der WS-AtomicTransaction-Spezifikation, Abschnitt 8, werden weitere Details zur Korrelation und die Nachrichtenaustauschmuster ausführlich beschrieben.WS-AtomicTransaction, Section 8, describes further details about correlation and descriptions of the message exchange patterns.

R1232: Ausgehende wscoor:Register Nachrichten verwenden müssen die IssuedTokenOverTransport Authentifizierungsmodus in beschriebenen Sicherheitsprotokolle.R1232: Outgoing wscoor:Register messages must use the IssuedTokenOverTransport authentication mode described in Security Protocols.

Die wsse:Timestamp Element muss signiert sein, mit der SecurityContextToken``STx ausgegeben.The wsse:Timestamp element must be signed using the SecurityContextToken``STx issued. Diese Signatur ist Beweis für den Besitz des einer bestimmten Transaktion zugewiesenen Tokens und wird für die Authentifizierung einer Teilnehmerliste während der Transaktion verwendet.This signature is a proof of possession of the token associated with particular transaction and is used to authenticate a participant enlisting in the transaction. Die RegistrationResponse-Nachricht wird über HTTPS zurückgesendet.The RegistrationResponse message is sent back over HTTPS.

Bindungskonfiguration des 2PC-Protokolls2PC Protocol Binding Configuration

WCF unterstützt unidirektionale (Datagramm-) Nachrichten über HTTPS.WCF supports one-way (datagram) messages over HTTPS. Korrelation unter den Nachrichten wird als Implementierungsdetail beibehalten.Correlation among the messages is left as an implementation detail.

B2131: Implementierungen müssen unterstützen wsa:ReferenceParameters wie beschrieben in WS-Adressierung, die Korrelation von WCF 2PC-Nachrichten zu erreichen.B2131: Implementations must support wsa:ReferenceParameters as described in WS-Addressing to achieve correlation of WCF’s 2PC messages.

Austausch von AnwendungsnachrichtenApplication Message Exchange

In Anwendungen können beliebige Bindungen für Nachrichten verwendet werden, die von Anwendung zu Anwendung gesendet werden, solange die Bindung die folgenden Sicherheitsanforderungen erfüllt:Applications are free to use any particular binding for application-to-application messages, as long as the binding meets the following security requirements:

  • R2001: Nachrichten von Anwendung zu Anwendung müssen im Nachrichtenheader den t:IssuedTokens-Header zusammen mit CoordinationContext aufweisen.R2001: Application-to-application messages must flow the t:IssuedTokens header along with the CoordinationContext in the header of the message.

  • R2002: Integrität und Vertraulichkeit von t:IssuedToken müssen bereitgestellt werden.R2002: Integrity and confidentiality of t:IssuedToken must be provided.

Der CoordinationContext-Header enthält wscoor:Identifier.The CoordinationContext header contains wscoor:Identifier. Während die Definition von xsd:AnyURI ermöglicht die Verwendung der absoluten und relativen URIs WCF unterstützt nur wscoor:Identifiers, wobei es sich um absolute URIs handelt.While the definition of xsd:AnyURI allows the use of both absolute and relative URIs, WCF supports only wscoor:Identifiers, which are absolute URIs.

Wenn die wscoor:Identifier von der wscoor:CoordinationContext ist ein relativer URI-Transaktionsdiensten aus transaktionalen WCF-Dienste.If the wscoor:Identifier of the wscoor:CoordinationContext is a relative URI, faults will be returned from transactional WCF services.

NachrichtenbeispieleMessage Examples

CreateCoordinationContext-Anforderungs-/AntwortmeldungenCreateCoordinationContext Request/Response Messages

Die folgenden Nachrichten folgen einem Anforderungs-/Antwortmuster.The following messages follow a request/response pattern.

CreateCoordinationContextCreateCoordinationContext

<s:Envelope>  
  <s:Header>  
    <a:Action>http://.../ws/2004/10/wscoor/CreateCoordinationContext</Action>  
    <a:MessageID>urn:uuid:069f5104-fd88-4264-9f99-60032a82854e</MessageID>  
    <a:ReplyTo>  
      <Address>https://...</a:Address>  
    </a:ReplyTo>  
    <a:To>https://...</a:To>  
    <wsse:Security>  
      <u:Timestamp>  
        <wsu:Created>2005-12-15T23:36:09.921Z</u:Created>  
        <wsu:Expires>2005-12-15T23:41:09.921Z</u:Expires>  
      </u:Timestamp>  
    </wsse:Security>  
  </s:Header>  
  <s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">  
    <wscoor:CreateCoordinationContext>  
      <wscoor:CoordinationType>...</wscoor:CoordinationType>  
    </wscoor:CreateCoordinationContext>  
  </s:Body>  
</s11:Envelope>  

CreateCoordinationContextResponseCreateCoordinationContextResponse

<s:Envelope>  
  <!-- Data below is shown in the clear for  
       illustration purposes only. -->  
  <s:Header>  
    <a:Action>./ws/2004/10/wscoor/CreateCoordinationContextResponse </a:Action>  
    <a:RelatesTo>urn:uuid:069f5104-fd88-4264-9f99-60032a82854e</a:RelatesTo>  
    <a:To s:mustUnderstand="1">https://... </a:To>  
    <t:IssuedTokens>  
 <wst:RequestSecurityTokenResponse     
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"  
    xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"   
    xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"  
    xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc"  
    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">  
    <wst:TokenType>http://schemas.xmlsoap.org/ws/2005/02/sc/sct</wst:TokenType>  
    <wst:RequestedSecurityToken>  
      <wsc:SecurityContextToken>  
        <wssu:Identifier>  
          http://fabrikam123.com/SCTi  
        </wssu:Identifier>  
      </wsc:SecurityContextToken>   
    </wst:RequestedSecurityToken>  
    <wsp:AppliesTo>  
        http://fabrikam123.com/CCi  
    </wsp:AppliesTo>    
    <wst:RequestedAttachedReference>  
      <wsse:SecurityTokenReference >  
        <wsse:Reference   
           ValueType="http://schemas.xmlsoap.org/ws/2005/02/sc/sct"  
           URI="http://fabrikam123.com/SCTi"/>  
      </wsse:SecurityTokenReference>  
    </wst:RequestedAttachedReference>  
    <wst:RequestedUnattachedReference>  
      <wsse:SecurityTokenReference>  
        <wsse:Reference   
          ValueType="http://schemas.xmlsoap.org/ws/2005/02/sc/sct"  
          URI="http://fabrikam123.com/SCTi"/>  
      </wsse:SecurityTokenReference>  
    </wst:RequestedUnattachedReference>  
    <wst:RequestedProofToken>  
      <wst:BinarySecret   
        Type="http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey">  
        <!-- base64 encoded value -->  
      </wst:BinarySecret>  
    </wst:RequestedProofToken>  
    <wst:Lifetime>  
      <wssu:Created>2005-10-24T20:19:26.526Z</wssu:Created>  
      <wssu:Expires>2005-10-25T06:24:26.526Z</wssu:Expires>  
    </wst:Lifetime>  
    <wst:KeySize>256</wst:KeySize>  
</wst:RequestSecurityTokenResponse>  
    </t:IssuedTokens>  
    <o:Security xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">  
      <u:Timestamp u:Id="_0">  
        <u:Created>2005-12-15T23:36:12.015Z</u:Created>  
        <u:Expires>2005-12-15T23:41:12.015Z</u:Expires>  
      </u:Timestamp>  
    </o:Security>  
  </s:Header>  
  <s:Body>  
    <wscoor:CreateCoordinationContextResponse>  
      <wscoor:CoordinationContext>  
        <wscoor:Identifier>  
     http://fabrikam123.com/CCi  
      </wscoor:Identifier>  
        <wscoor:Expires>...</wscoor:Expires>  
        <wscoor:CoordinationType>...</wscoor:CoordinationType>  
        <wscoor:RegistrationService>  
          <a:Address>https://...</a:Address>  
          <a:ReferenceParameters>  
             ...  
          </a:ReferenceParameters>  
        </wscoor:RegistrationService>  
      </wscoor:CoordinationContext>  
    </wscoor:CreateCoordinationContextResponse>  
  </s:Body>  
</s:Envelope>  

RegistrierungsnachrichtenRegistration Messages

Bei den folgenden Nachrichten handelt es sich um Registrierungsnachrichten.The following messages are registration messages.

RegisterRegister

<s:Envelope>  
  <s:Header>  
    <a:Action>http://schemas.xmlsoap.org/ws/2004/10/wscoor/Register</a:Action>  
    <a:MessageID>urn:uuid:ed418b86-a75e-4aea-9d4e-a5d0cb5c088e</a:MessageID>  
    <a:ReplyTo>  
      <a:Address>https://...</a:Address>        
    </a:ReplyTo>  
    <a:To>https://...</a:To>  
    <wsse:Security   
      s:mustUnderstand="1"   
      xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"  
      xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">  
      <wssu:Timestamp wssu:Id="_0" >  
        <wssu:Created>2005-12-15T23:36:13.827Z</wssu:Created>  
        <wssu:Expires>2005-12-15T23:41:13.827Z</wssu:Expires>  
      </wssu:Timestamp>  
      <wsc:SecurityContextToken>  
      <wssu:Identifier>  
          http://fabrikam123.com/SCTi  
      </wssu:Identifier>  
      </wsc:SecurityContextToken>  
      <!-- supporting signature over the timestamp -->  
      <wsse:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">  
        <ds:SignedInfo>  
          <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>  
          <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/>  
          <ds:Reference URI="#_0">  
            <ds:Transforms>  
              <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>  
            </ds:Transforms>  
            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>  
            <ds:DigestValue>  
              alRzyhjLgoUOYoh8cx4n75eTcUk=  
            </ds:DigestValue>  
          </ds:Reference>  
        </ds:SignedInfo>  
        <ds:SignatureValue>YZYjnVvSOVasAQqQxaaviTSWtqI=</ds:SignatureValue>  
        <ds:KeyInfo>  
          <wsse:SecurityTokenReference  
            xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">  
            <wsse:Reference   
              URI="http://fabrikam123.com/SCTi"/>  
          </wsse:SecurityTokenReference>  
        </ds:KeyInfo>  
      </wsse:Signature>  
    </wsse:Security>  
  </s:Header>  
  <s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">  
    <wscoor:Register>  
      <wscoor:ProtocolIdentifier>...</wscoor:ProtocolIdentifier>  
      <wscoor:ParticipantProtocolService>  
        <a:Address>https://... </a:Address>  
      </wscoor:ParticipantProtocolService>  
    </wscoor:Register>  
  </s:Body>  
</s:Envelope>  

Register ResponseRegister Response

<s:Envelope>  
  <s:Header>  
    <a:Action>  
      http://schemas.xmlsoap.org/ws/2004/10/wscoor/RegisterResponse  
    </a:Action>  
    <a:MessageID>urn:uuid:ed418b86-a75e-4aea-9d4e-a5d0cb5c088d</a:MessageID>  
    <a:RelatesTo>  
      urn:uuid:ed418b86-a75e-4aea-9d4e-a5d0cb5c088e        
    </a:RelatesTo>  
    <a:To>https://...</a:To>  
    <wsse:Security   
      s:mustUnderstand="1"   
      xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"  
      xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">  
      <wssu:Timestamp>  
        <wssu:Created>2005-12-15T23:36:13.827Z</wssu:Created>  
        <wssu:Expires>2005-12-15T23:41:13.827Z</wssu:Expires>  
      </wssu:Timestamp>  
    </wsse:Security>  
  </s:Header>  
  <s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">  
    <wscoor:RegisterResponse>  
      <wscoor:CoordinatorProtocolService>  
        <a:Address>https://...</a:Address>  
        <a:ReferenceParameters>  
          ...  
        </a:ReferenceParameters>  
      </wscoor:CoordinatorProtocolService>  
    </wscoor:RegisterResponse>  
  </s:Body>  
</s:Envelope>  

Zweiphasen-Commit-ProtokollnachrichtenTwo Phase Commit Protocol Messages

Die folgende Nachricht bezieht sich auf das Zweiphasen-Commit-Protokoll (2PC).The following message relates to the two-phase commit (2PC) protocol.

CommitCommit

<s:Envelope>  
  <s:Header>  
    <a:Action>http://.../ws/2004/10/wsat/Commit</a:Action>  
    <a:To>https://...</a:To>  
    <wsse:Security   
      s:mustUnderstand="1"   
      xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"  
      xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">  
      <wssu:Timestamp wssu:Id="_0" >  
        <wssu:Created>2005-12-15T23:36:13.827Z</wssu:Created>  
        <wssu:Expires>2005-12-15T23:41:13.827Z</wssu:Expires>  
      </wssu:Timestamp>  
   </wsse:Security>  
  </s:Header>  
  <s:Body xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">  
    <wsat:Commit />  
  </s:Body>  
</s:Envelope>  

AnwendungsnachrichtenApplication Messages

Bei den folgenden Nachrichten handelt es sich um Anwendungsnachrichten.The following messages are application messages.

AnwendungsnachrichtenanforderungApplication message-Request

<s:Envelope>  
  <s:Header>  
<!-- Addressing headers, all signed-->  
    <wsse:Security s:mustUnderstand="1">  
      <wssu:Timestamp wssu:Id="timestamp">   
        <wssu:Created>2005-10-25T06:29:18.703Z</wssu:Created>  
        <wssu:Expires>2005-10-25T06:34:18.703Z</wssu:Expires>  
      </wssu:Timestamp>  
      <wsse:BinarySecurityToken   
          wssu:Id="IA_Certificate"   
          ValueType="...#X509v3"   
          EncodingType="...#Base64Binary">  
        <!-- IA certificate -->  
      </wsse:BinarySecurityToken>  
      <e:EncryptedKey Id="encrypted_key">  
            <!-- ephemeral key encrypted for PA certificate -->    
        <e:ReferenceList xmlns:e="http://www.w3.org/2001/04/xmlenc#">  
          <e:DataReference URI="#encrypted_body"/>  
          <e:DataReference URI="#encrypted_CCi"/>  
          <e:DataReference URI="#encrypted_issuedtokens"/>  
        </e:ReferenceList>  
      </e:EncryptedKey>  
      <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">  
        <!-- signature over Addressing headers, Timestamp, and Body -->  
      </Signature>  
    </wsse:Security>  
    <wsse11:EncryptedHeader >  
     <!-- encrypted wscoor:CoordinationContext header containing CCi -->  
    </wsse11:EncryptedHeader>  
    <wsse11:EncryptedHeader   
      <!-- encrypted wst:IssuedTokens header containing SCTi -->  
      <!-- wst:IssuedTokens header is taken verbatim from message #2 above, omitted for brevity -->  
    </wsse11:EncryptedHeader>  
  </s:Header>  
  <s:Body wssu:Id="body">  
    <!-- encrypted content of the Body element of the application message -->      
    <e:EncryptedData Id="encrypted_body"   
           Type="http://www.w3.org/2001/04/xmlenc#Content"   
           xmlns:e="http://www.w3.org/2001/04/xmlenc#">  
...  
    </e:EncryptedData>  
  </s:Body>  
</s:Envelope>