Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Windows Communication Foundation (WCF) implementiert WS-Atomic Transaktions- und WS-Coordination Protokolle.
| Spezifikation/Dokument | Version | Verknüpfung |
|---|---|---|
| WS-Coordination | 1,0 1.1 |
https://schemas.xmlsoap.org/ws/2004/10/wscoor/ https://docs.oasis-open.org/ws-tx/wscoor/2006/06 |
| WS-AtomicTransaction | 1,0 1.1 |
https://schemas.xmlsoap.org/ws/2004/10/wsat/ https://docs.oasis-open.org/ws-tx/wsat/2006/06 |
Die Interoperabilität dieser Protokollspezifikationen ist auf zwei Ebenen erforderlich: zwischen Anwendungen und zwischen Transaktionsmanagern (siehe folgende Abbildung). Spezifikationen beschreiben ausführlich die Nachrichtenformate und den Nachrichtenaustausch für beide Interoperabilitätsebenen. Bestimmte Sicherheit, Zuverlässigkeit und Codierungen für den Anwendungs-zu-Anwendung-Austausch gelten wie bei regulärem Anwendungsaustausch. Eine erfolgreiche Interoperabilität zwischen Transaktionsmanagern erfordert jedoch eine Vereinbarung über die jeweilige Bindung, da sie in der Regel nicht vom Benutzer konfiguriert wird.
In diesem Artikel wird eine Zusammensetzung der WS-Atomic Transaktionsspezifikation (WS-AT) mit Sicherheit beschrieben und die sichere Bindung beschrieben, die für die Kommunikation zwischen Transaktionsmanagern verwendet wird. Der in diesem Artikel beschriebene Ansatz wurde erfolgreich mit anderen Implementierungen von WS-AT und WS-Coordination wie IBM, IONA, Sun Microsystems und anderen getestet.
Die folgende Abbildung zeigt die Interoperabilität zwischen zwei Transaktionsmanagern, Transaction Manager 1 und Transaction Manager 2 und zwei Anwendungen, Application 1 und Application 2:
Betrachten Sie ein typisches WS-Koordinations-/WS-Atomic Transaktionsszenario mit einem Initiator (I) und einem Teilnehmer (P). Sowohl Initiator als auch Teilnehmer verfügen über Transaktionsmanager (ITM bzw. PTM). Die zweiphasige Übergabe wird in diesem Artikel als 2PC bezeichnet.
- CreateCoordinationContext
- CreateCoordinationContextResponse
- Register (Abschluss)
- RegisterResponse
- Applikationsmeldung
- CreateCoordinationContext mit Kontext
- Register (dauerhaft)
- RegisterResponse
- CreateCoordinationContextResponse
- Register (dauerhaft)
- RegisterResponse
- Antwort auf Anwendungsnachrichten
- Commit (Abschluss)
- Vorbereiten (2PC)
- Vorbereiten (2PC)
- Vorbereitet (2PC)
- Vorbereitet (2PC)
- Commit ausgeführt (Abschluss)
- Commit (2PC)
- Commit (2PC)
- Commit ausgeführt (2PC)
- Commit ausgeführt (2PC)
Die Abbildung und Tabelle veranschaulichen vier Nachrichtenklassen aus Sicherheitsgründen:
Aktivierungsmeldungen (CreateCoordinationContext und CreateCoordinationContextResponse).
Registrierungsmeldungen (Register und RegisterResponse)
Protokollnachrichten (Prepare, Rollback, Commit, Aborted usw.).
Anwendungsnachrichten.
Die ersten drei Nachrichtenklassen gelten als Transaktions-Manager-Nachrichten, und ihre Bindungskonfiguration wird weiter unten in diesem Thema im Abschnitt "Application Message Exchange" beschrieben. 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. In diesem Abschnitt werden die Protokollbindungen beschrieben, die für jede dieser Klassen von WCF verwendet werden.
Die folgenden XML-Namespaces und zugeordneten Präfixe werden in diesem Dokument verwendet.
| Präfix | Version | Namespace-URI |
|---|---|---|
| s11 | https://schemas.xmlsoap.org/soap/envelope/ | |
| wsa | Vor 1.0 1,0 |
https://www.w3.org/2004/08/addressinghttps://www.w3.org/2005/08/addressing/ |
| wscoor | 1,0 1.1 |
https://schemas.xmlsoap.org/ws/2004/10/wscoor/ https://docs.oasis-open.org/ws-tx/wscoor/2006/06 |
| wsat | 1,0 1.1 |
https://schemas.xmlsoap.org/ws/2004/10/wsat/ https://docs.oasis-open.org/ws-tx/wsat/2006/06 |
| t | Version vor 1.3 1.3 |
https://schemas.xmlsoap.org/ws/2005/02/trust/ https://docs.oasis-open.org/ws-sx/ws-trust/200512 |
| o | https://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd | |
| xsd | https://www.w3.org/2001/XMLSchema |
Transaktions-Manager-Bindungen
R1001: Transaktionsmanager, die an einer WS-AT 1.0-Transaktion teilnehmen, müssen SOAP 1.1 und WS-Addressing 2004/08 für WS-Atomic Transaktion und WS-Coordination Nachrichtenaustausch verwenden.
R1002: Transaktionsmanager, die an einer WS-AT 1.1-Transaktion teilnehmen, müssen SOAP 1.1 und WS-Addressing 2005/08 für WS-Atomic Transaktion und WS-Coordination Nachrichtenaustausch verwenden.
Anwendungsnachrichten sind nicht auf diese Bindungen beschränkt und werden später beschrieben.
HTTPS-Bindungen des Transaktions-Managers
Die HTTPS-Bindung des Transaktions-Managers basiert ausschließlich auf der Transportsicherheit, um Sicherheit zu erzielen und eine Vertrauensstellung zwischen jedem Absenderempfängerpaar in der Transaktionsstruktur herzustellen.
HTTPS-Transportkonfiguration
X.509-Zertifikate werden verwendet, um die Transaktions-Manager-Identität einzurichten. Die Client-/Server-Authentifizierung ist erforderlich, und die Client-/Server-Autorisierung bleibt als Implementierungsdetails erhalten:
R1111: X.509-Zertifikate, die über das Netzwerk gesendet werden, müssen einen Subjektnamen haben, der dem vollqualifizierten Domänennamen (FQDN) der ursprünglichen Maschine entspricht.
B1112: DNS muss zwischen jedem Absender-Empfänger-Paar im System funktionsfähig sein, damit die Überprüfung der X.509-Subjektnamen erfolgreich durchgeführt werden kann.
Aktivierungs- und Registrierungsbindungskonfiguration
WCF erfordert eine Anforderungs-/Antwortduplexbindung mit Korrelation über HTTPS. (Weitere Informationen zu Korrelation und Beschreibungen der Austauschmuster für Anforderungs-/Antwortnachrichten finden Sie unter WS-Atomic Transaktion, Abschnitt 8.)
Bindungskonfiguration des 2PC-Protokolls
WCF unterstützt Unidirektionale (Datagramm)-Nachrichten über HTTPS. Die Korrelation zwischen den Nachrichten bleibt als Implementierungsdetail übrig.
B1131: Implementierungen müssen wsa:ReferenceParameters wie in WS-Addressing beschrieben unterstützen, um eine Korrelation der 2PC-Nachrichten von WCF zu erreichen.
Gemischte Sicherheitsbindung des Transaktions-Managers
Hierbei handelt es sich um eine alternative Bindung (gemischter Modus), der die Transportsicherheit kombiniert mit dem WS-Coordination Issued Token-Modell zu Identitätserstellungszwecken verwendet. Aktivierung und Registrierung sind die einzigen Elemente, die sich zwischen den beiden Bindungen unterscheiden.
HTTPS-Transportkonfiguration
X.509-Zertifikate werden verwendet, um die Transaktions-Manager-Identität einzurichten. Die Client-/Server-Authentifizierung ist erforderlich, und die Client-/Server-Autorisierung bleibt als Implementierungsdetails erhalten.
Konfiguration der Bindung von Aktivierungsnachrichten
Aktivierungsmeldungen nehmen in der Regel nicht an der Interoperabilität teil, da sie in der Regel zwischen einer Anwendung und dem lokalen Transaktions-Manager auftreten.
B1221: WCF verwendet duplex HTTPS-Bindung (in Messagingprotokollen beschrieben) für Aktivierungsnachrichten. Anforderungs- und Antwortnachrichten werden mit WS-Addressing 2004/08 für WS-AT 1,0 und WS-Addressing 2005/08 für WS-AT 1.1 korreliert.
WS-Atomic Transaktionsspezifikation, Abschnitt 8, beschreibt weitere Details zur Korrelation und den Nachrichtenaustauschmustern.
R1222: Beim Eingang eines
CreateCoordinationContextmuss der Koordinator einSecurityContextTokenmit zugewiesenem geheimenSTxausgeben. Dieses Token wird innerhalb einest:IssuedTokensHeader zurückgegeben, der der WS-Trust Spezifikation folgt.R1223: Falls die Aktivierung innerhalb eines bereits vorhandenen Koordinationskontexts stattfindet, muss der
t:IssuedTokens-Header, bei demSecurityContextTokendem bereits vorhandenem Kontext zugewiesen ist, in derCreateCoordinationContext-Nachricht fließen.
Zum Anfügen an die ausgehende t:IssuedTokens Nachricht sollte eine neue wscoor:CreateCoordinationContextResponse Kopfzeile generiert werden.
Bindungskonfiguration von Registrierungsnachrichten
B1231: WCF verwendet duplex HTTPS-Bindung (in Messaging-Protokollen beschrieben). Anforderungs- und Antwortnachrichten werden mit WS-Addressing 2004/08 für WS-AT 1,0 und WS-Addressing 2005/08 für WS-AT 1.1 korreliert.
WS-AtomicTransaction, Abschnitt 8, beschreibt weitere Details zu Korrelation und Beschreibungen der Nachrichtenaustauschmuster.
R1232: Ausgehende wscoor:Register Nachrichten müssen den IssuedTokenOverTransport in Sicherheitsprotokollen beschriebenen Authentifizierungsmodus verwenden.
Das wsse:Timestamp-Element muss mit dem ausgestellten SecurityContextToken STx signiert werden. Diese Signatur ist ein Nachweis des Besitzes des Tokens, das einer bestimmten Transaktion zugeordnet ist, und wird verwendet, um einen Teilnehmer bei der Transaktion zu authentifizieren. Die RegistrationResponse-Nachricht wird über HTTPS zurückgesendet.
Bindungskonfiguration des 2PC-Protokolls
WCF unterstützt Unidirektionale (Datagramm)-Nachrichten über HTTPS. Die Korrelation zwischen den Nachrichten bleibt als Implementierungsdetail übrig.
B1241: Implementierungen müssen wsa:ReferenceParameters unterstützen, wie in WS-Addressing beschrieben, um eine Korrelation der 2PC-Nachrichten von WCF zu erzielen.
Nachrichtenaustausch für Anwendungen
Anwendungen können jede bestimmte Bindung für Anwendungs-zu-Anwendung-Nachrichten verwenden, solange die Bindung die folgenden Sicherheitsanforderungen erfüllt:
R2001: Nachrichten von Anwendung zu Anwendung müssen im Nachrichtenheader den
t:IssuedTokens-Header zusammen mitCoordinationContextaufweisen.R2002: Integrität und Vertraulichkeit von
t:IssuedTokenmüssen bereitgestellt werden.
Der CoordinationContext-Header enthält wscoor:Identifier. Während die Definition von xsd:AnyURI die Verwendung von sowohl absoluten als auch relativen URIs erlaubt, unterstützt WCF nur wscoor:Identifiers absolute URIs.
B2003: Falls es sich bei wscoor:Identifier von wscoor:CoordinationContext um einen relativen URI handelt, werden von den WCF-Transaktionsdiensten Fehler gemeldet.
Nachrichtenbeispiele
CreateCoordinationContext-Anforderungs-/Antwortnachrichten
Die folgenden Nachrichten folgen einem Anforderungs-/Antwortmuster.
CreateCoordinationContext mit WSCoor 1.0
<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</wsu:Created>
<wsu:Expires>2005-12-15T23:41:09.921Z</wsu: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>
</s:Envelope>
ErstelleKoordinationskontext mit WSCoor 1.1
<s:Envelope>
<s:Header>
<a:Action>http://docs.oasis-open.org/ws-tx/wscoor/2006/06/CreateCoordinationContext
</a: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</wsu:Created>
<wsu:Expires>2005-12-15T23:41:09.921Z</wsu: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>
</s:Envelope>
CreateCoordinationContextResponse mit Vertrauenswürdigkeit vor 1.3 und WSCoor 1.0
<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>
CreateCoordinationContextResponse mit Vertrauenswürdigkeit vor 1.3 und WSCoor 1.1
<s:Envelope>
<!-- Data below is shown in the clear for illustration purposes only. -->
<s:Header>
<a:Action>http://docs.oasis-open.org/ws-tx/wscoor/2006/06/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://docs.oasis-open.org/ws-sx/ws-trust/200512"
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://docs.oasis-open.org/ws-sx/ws-trust/200512/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>
Registrierungsnachrichten
Die folgenden Nachrichten sind Registrierungsmeldungen.
Registrieren bei WSCoor 1.0
<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>
Registrieren bei WSCoor 1.1
<s:Envelope>
<s:Header>
<a:Action>http://docs.oasis-open.org/ws-tx/wscoor/2006/06/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>
Registrieren der Antwort mit WSCoor 1.0
<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>
Registrieren der Antwort bei WSCoor 1.1
<s:Envelope>
<s:Header>
<a:Action> http://docs.oasis-open.org/ws-tx/wscoor/2006/06/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-Protokollnachrichten
Die folgende Meldung bezieht sich auf das Zwei-Phasen-Commit-Protokoll (2PC).
Commit mit WSAT 1.0
<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>
Commit mit WSAT 1.1
<s:Envelope>
<s:Header>
<a:Action>http://docs.oasis-open.org/ws-tx/wsat/2006/06</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>
Anwendungsnachrichten
Die folgenden Nachrichten sind Anwendungsmeldungen.
Anwendungsnachricht-Anforderung
<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>