İşlem Protokolleri

Windows Communication Foundation (WCF), WS-Atomic Transaction ve WS-Coordination protokollerini uygular.

Belirtim/Belge Sürüm Bağlantı
WS-Koordinasyon 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

Bu protokol belirtimlerinde birlikte çalışabilirlik iki düzeyde gereklidir: uygulamalar arasında ve işlem yöneticileri arasında (aşağıdaki şekilde bakın). Belirtimler, her iki birlikte çalışabilirlik düzeyi için ileti biçimlerini ve ileti değişimini ayrıntılı olarak açıklar. Uygulamadan uygulamaya değişim için belirli güvenlik, güvenilirlik ve kodlamalar, normal uygulama değişiminde olduğu gibi uygulanır. Ancak, işlem yöneticileri arasında başarılı bir birlikte çalışabilirlik, genellikle kullanıcı tarafından yapılandırılmadığından, belirli bir bağlama üzerinde anlaşma gerektirir.

Bu makalede, WS-Atomic Transaction (WS-AT) belirtiminin güvenlikle bir bileşimi açıklanır ve işlem yöneticileri arasındaki iletişim için kullanılan güvenli bağlama açıklanmaktadır. Bu makalede açıklanan yaklaşım IBM, IONA, Sun Microsystems ve diğerleri dahil olmak üzere diğer WS-AT ve WS-Coordination uygulamalarıyla başarıyla test edilmiştir.

Aşağıdaki şekilde, transaction manager 1 ve Transaction Manager 2 gibi iki işlem yöneticisi ile Uygulama 1 ve Uygulama 2 gibi iki uygulama arasındaki birlikte çalışabilirlik gösterilmektedir:

Screenshot that shows interaction between transaction managers.

Bir Başlatıcı (I) ve bir Katılımcı (P) ile tipik bir WS-Koordinasyon/WS-Atomik İşlem senaryosu düşünün. Hem Başlatıcı hem de Katılımcı İşlem Yöneticilerine (sırasıyla ITM ve PTM) sahiptir. bu makalede iki aşamalı işleme 2PC olarak adlandırılır.

  1. CreateCoordinationContext
  2. CreateCoordinationContextResponse
  3. Kaydet (Tamamlama)
  4. RegisterResponse
  5. Uygulama İletisi
  6. Bağlam ile CreateCoordinationContext
  7. Register (Dayanıklı)
  8. RegisterResponse
  9. CreateCoordinationContextResponse
  10. Register (Dayanıklı)
  11. RegisterResponse
  12. Uygulama İletisi Yanıtı
  13. İşleme (Tamamlama)
  14. Hazırlama (2PC)
  15. Hazırlama (2PC)
  16. Hazırlandı (2PC)
  17. Hazırlandı (2PC)
  18. Kabul Edildi (Tamamlanma)
  19. İşleme (2PC)
  20. İşleme (2PC)
  21. Kabul Edilen (2PC)
  22. Kabul Edilen (2PC)

Şekil ve tablo, güvenlik açısından dört ileti sınıfını gösterir:

  • Etkinleştirme iletileri (CreateCoordinationContext ve CreateCoordinationContextResponse).

  • Kayıt iletileri (Register ve RegisterResponse)

  • Protokol iletileri (Hazırlama, Geri Alma, İşleme, Durduruldu vb.).

  • Uygulama iletileri.

İlk üç ileti sınıfı Transaction Manager iletileri olarak kabul edilir ve bağlama yapılandırması bu konunun devamında yer alan "Uygulama İleti Değişimi" bölümünde açıklanmıştır. İletinin dördüncü sınıfı, uygulama iletilerine uygulamadır ve bu konunun devamında yer alan "İleti Örnekleri" bölümünde açıklanmıştır. Bu bölümde, WCF tarafından bu sınıfların her biri için kullanılan protokol bağlamaları açıklanmaktadır.

Bu belgenin her alanında aşağıdaki XML Ad Alanları ve ilişkili ön ekler kullanılır.

Önek Sürüm Ad Alanı URI'si
s11 https://schemas.xmlsoap.org/soap/envelope/
Wsa 1.0 Öncesi

1.0
https://www.w3.org/2004/08/addressing

https://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 1.3 Öncesi

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

Transaction Manager Bağlamaları

R1001: WS-AT 1.0 işlemine katılan İşlem Yöneticileri, WS Atomik İşlem ve WS-Koordinasyon ileti değişimleri için SOAP 1.1 ve WS-Addressing 2004/08 kullanmalıdır.

R1002: WS-AT 1.1 işlemine katılan İşlem Yöneticileri, WS Atomik İşlem ve WS-Koordinasyon ileti değişimleri için SOAP 1.1 ve WS-Addressing 2005/08 kullanmalıdır.

Uygulama iletileri bu bağlamalarla kısıtlanmaz ve daha sonra açıklanır.

Transaction Manager HTTPS Bağlama

İşlem yöneticisi HTTPS bağlaması, güvenliği sağlamak ve işlem ağacındaki her gönderen-alıcı çifti arasında güven oluşturmak için yalnızca aktarım güvenliğine dayanır.

HTTPS Aktarım Yapılandırması

X.509 sertifikaları Transaction Manager Kimliğini oluşturmak için kullanılır. İstemci/sunucu kimlik doğrulaması gereklidir ve uygulama ayrıntısı olarak istemci/sunucu yetkilendirmesi bırakılır:

  • R1111: Tel üzerinden sunulan X.509 sertifikaları, kaynak makinenin tam etki alanı adıyla (FQDN) eşleşen bir konu adına sahip olmalıdır.

  • B1112: X.509 konu adı denetimlerinin başarılı olması için sistemdeki her gönderen-alıcı çifti arasında DNS işlevsel olmalıdır.

Etkinleştirme ve Kayıt Bağlama Yapılandırması

WCF, HTTPS üzerinden bağıntı ile istek/yanıt çift yönlü bağlama gerektirir. (İstek/yanıt iletisi değişim desenlerinin bağıntı ve açıklamaları hakkında daha fazla bilgi için bkz. WS-Atomic Transaction, Bölüm 8.)

2PC Protokolü Bağlama Yapılandırması

WCF, HTTPS üzerinden tek yönlü (veri birimi) iletileri destekler. İletiler arasındaki bağıntı, uygulama ayrıntısı olarak bırakılır.

B1131: WCF'nin 2PC iletilerinin bağıntısını elde etmek için uygulamalar WS-Addressing'de açıklandığı gibi desteklenmelidir wsa:ReferenceParameters .

Transaction Manager Karma Güvenlik Bağlaması

Bu, kimlik oluşturma amacıyla WS-Coordination Verilen Belirteç modeliyle birlikte aktarım güvenliğini kullanan alternatif bir (karma mod) bağlamadır. Etkinleştirme ve Kayıt, iki bağlama arasında farklılık gösteren tek öğelerdir.

HTTPS Aktarım Yapılandırması

X.509 sertifikaları Transaction Manager Kimliğini oluşturmak için kullanılır. İstemci/Sunucu kimlik doğrulaması gereklidir ve uygulama ayrıntısı olarak istemci/sunucu yetkilendirmesi bırakılır.

Etkinleştirme İletisi Bağlama Yapılandırması

Etkinleştirme İletileri genellikle birlikte çalışabilirliğe katılmaz çünkü bunlar genellikle bir uygulama ile yerel Transaction Manager arasında gerçekleşir.

B1221: WCF, Etkinleştirme iletileri için çift yönlü HTTPS bağlaması (Mesajlaşma Protokolleri bölümünde açıklanmıştır) kullanır. İstek ve Yanıt iletileri, WS-AT 1.0 için WS-Addressing 2004/08 ve WS-AT 1.1 için WS-Addressing 2005/08 kullanılarak ilişkilendirilir.

WS-Atomic Transaction belirtimi, Bölüm 8, bağıntı ve ileti değişimi desenleri hakkında daha fazla ayrıntı açıklar.

  • R1222: Bir CreateCoordinationContextaldıktan sonra, Koordinatör ilişkili gizli dizi STxile bir SecurityContextToken oluşturmalıdır. Bu belirteç, WS-Trust belirtiminin ardından bir t:IssuedTokens üst bilgi içinde döndürülür.

  • R1223: Etkinleştirme mevcut bir Koordinasyon Bağlamı içinde gerçekleşirse, t:IssuedTokens var olan Bağlamla SecurityContextToken ilişkili üst bilgi iletide CreateCoordinationContext akmalıdır.

Giden wscoor:CreateCoordinationContextResponse iletiye eklemek için yeni t:IssuedTokens bir üst bilgi oluşturulmalıdır.

Kayıt İletisi Bağlama Yapılandırması

B1231: WCF çift yönlü HTTPS bağlaması kullanır (Mesajlaşma Protokolleri bölümünde açıklanmıştır). İstek ve Yanıt iletileri, WS-AT 1.0 için WS-Addressing 2004/08 ve WS-AT 1.1 için WS-Addressing 2005/08 kullanılarak ilişkilendirilir.

WS-AtomicTransaction, Bölüm 8, ileti değişimi desenlerinin bağıntı ve açıklamaları hakkında daha fazla ayrıntı açıklar.

R1232: Giden wscoor:Register iletiler Güvenlik Protokolleri'nde açıklanan kimlik doğrulama modunu kullanmalıdırIssuedTokenOverTransport.

wsse:Timestamp öğesi verilen kullanılarak SecurityContextToken STx imzalanmalıdır. Bu imza, belirli bir işlemle ilişkili belirtecin sahip olduğunun kanıtıdır ve işlemde kayıt olan bir katılımcının kimliğini doğrulamak için kullanılır. RegistrationResponse iletisi HTTPS üzerinden geri gönderilir.

2PC Protokolü Bağlama Yapılandırması

WCF, HTTPS üzerinden tek yönlü (veri birimi) iletileri destekler. İletiler arasındaki bağıntı, uygulama ayrıntısı olarak bırakılır.

B1241: WcF'nin 2PC iletilerinin bağıntısını elde etmek için uygulamalar WS-Addressing'de açıklandığı gibi desteklenmelidir wsa:ReferenceParameters .

Uygulama İletisi Değişimi

Bağlama aşağıdaki güvenlik gereksinimlerini karşılıyorsa uygulamalar uygulamadan uygulamaya iletiler için herhangi bir bağlamayı kullanabilir:

  • R2001: Uygulamadan uygulamaya iletiler, iletinin t:IssuedTokens üst bilgisindekiyle CoordinationContext birlikte üst bilgi akışı yapmalıdır.

  • R2002: Bütünlüğü ve gizliliği t:IssuedToken sağlanmalıdır.

CoordinationContext Üst bilgi içerirwscoor:Identifier. tanımı xsd:AnyURI hem mutlak hem de göreli URI'lerin kullanılmasına izin verirken, WCF yalnızca wscoor:Identifiersmutlak URI'leri destekler.

B2003: öğesinin wscoor:Identifierwscoor:CoordinationContext değeri göreli bir URI ise, hatalar işlem wcf hizmetlerinden döndürülür.

İleti Örnekleri

CreateCoordinationContext İsteği/Yanıt İletileri

Aşağıdaki iletiler bir istek/yanıt desenini izler.

WSCoor 1.0 ile CreateCoordinationContext

<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>  

WSCoor 1.1 ile CreateCoordinationContext

<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>  

Güven Pre-1.3 ve WSCoor 1.0 ile CreateCoordinationContextResponse

<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>  

Güven 1.3 ve WSCoor 1.1 ile CreateCoordinationContextResponse

<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>  

Kayıt İletileri

Aşağıdaki iletiler kayıt iletileridir.

WSCoor 1.0'a kaydolma

<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>  

WSCoor 1.1'e kaydolma

<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>  

WSCoor 1.0 ile Yanıt Kaydetme

<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>  

WSCoor 1.1 ile Yanıt Kaydetme

<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>  

İki Aşamalı İşleme Protokolü İletileri

Aşağıdaki ileti iki aşamalı işleme (2PC) protokolüyle ilgilidir.

WSAT 1.0 ile işleme

<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>  

WSAT 1.1 ile işleme

<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>  

Uygulama İletileri

Aşağıdaki iletiler uygulama iletileridir.

Uygulama iletisi-İsteği

<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>