Reliable Messaging Protocol versie 1.0
In dit onderwerp worden de implementatiedetails van Windows Communication Foundation (WCF) beschreven voor het WS-Reliable Messaging-protocol van februari 2005 (versie 1.0) dat nodig is voor interoperation met behulp van het HTTP-transport. WCF volgt de WS-Reliable Messaging-specificatie met de beperkingen en verduidelijkingen die in dit onderwerp worden uitgelegd. Houd er rekening mee dat het WS-ReliableMessaging-protocol versie 1.0 wordt geïmplementeerd vanaf winFX.
Het WS-Reliable Messaging-protocol van februari 2005 wordt geïmplementeerd in WCF door de ReliableSessionBindingElement.
Voor het gemak gebruikt het onderwerp de volgende rollen:
Initiator: de client waarmee WS-Reliable Message-reeks wordt gemaakt
Responder: de service die de aanvragen van de initiator ontvangt
In dit document worden de voorvoegsels en naamruimten in de volgende tabel gebruikt.
Voorvoegsel | Naamruimte |
---|---|
Wsrm | http://schemas.xmlsoap.org/ws/2005/02/rm |
netrm | http://schemas.microsoft.com/ws/2006/05/rm |
s | http://www.w3.org/2003/05/soap-envelope |
wsa | http://schemas.xmlsoap.org/ws/2005/08/addressing |
Wsse | http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssecurity-secext-1.0.xsd |
Berichten
Berichten van sequentie-instelling
WCF implementeert CreateSequence
en CreateSequenceResponse
berichten om een betrouwbare berichtenreeks tot stand te brengen. De volgende beperkingen zijn van toepassing:
B1101: De WCF-initiator genereert niet het optionele element Verloopt in het
CreateSequence
bericht of, in de gevallen waarin hetCreateSequence
bericht eenOffer
element bevat, het optioneleExpires
element in hetOffer
element.B1102: Bij het openen van het
CreateSequence
bericht verzendt en ontvangt de WCFResponder
beideExpires
elementen als deze bestaan, maar gebruikt de bijbehorende waarden niet.
WS-Reliable Messaging introduceert het mechanisme voor het Offer
tot stand brengen van de twee gecorreleerde reeksen die een sessie vormen.
R1103: Als
CreateSequence
dit eenOffer
element bevat, moet de Reliable Messaging Responder de reeks accepteren en erop reageren metCreateSequenceResponse
eenwsrm:Accept
element, waarbij twee gecorreleerde omgekeerde reeksen worden gevormd of deCreateSequence
aanvraag wordt geweigerd.R1104:
SequenceAcknowledgement
en toepassingsberichten die op de omgekeerde volgorde stromen, moeten worden verzonden naar deReplyTo
eindpuntverwijzing van deCreateSequence
.R1105:
AcksTo
enReplyTo
eindpuntverwijzingen in deCreateSequence
moeten adreswaarden bevatten die overeenkomen met de octet.De WCF Responder controleert of het URI-gedeelte van de
AcksTo
enReplyTo
EPR's identiek zijn voordat een reeks wordt gemaakt.R1106:
AcksTo
enReplyTo
eindpuntverwijzingen in deCreateSequence
moeten dezelfde set referentieparameters hebben.WCF dwingt niet af, maar gaat ervan uit dat [referentieparameters] van
AcksTo
enReplyTo
opCreateSequence
identiek zijn en [verwijzingsparameters] vanReplyTo
eindpuntverwijzing gebruikt voor bevestigingen en omgekeerde reeksberichten.R1107: Wanneer er twee omgekeerde reeksen worden vastgesteld met behulp van het
Offer
mechanisme enSequenceAcknowledgement
toepassingsberichten die op omgekeerde reeksen stromen, moeten worden verzonden naar deReplyTo
eindpuntverwijzing van deCreateSequence
.R1108: Wanneer twee omgekeerde reeksen worden vastgesteld met behulp van het mechanisme Aanbieding, moet de
[address]
eigenschap van hetwsrm:AcksTo
onderliggende element eindpuntverwijzing van het element van hetwsrm:Accept
CreateSequenceResponse
element bytegewijs overeenkomen met de doel-URI van deCreateSequence
.R1109: Wanneer er twee omgekeerde reeksen worden vastgesteld met behulp van het
Offer
mechanisme, moeten berichten die door initiator worden verzonden en bevestigingen aan berichten door de responder worden verzonden naar dezelfde eindpuntreferentie.WCF maakt gebruik van WS-Reliable Messaging om betrouwbare sessies tot stand te brengen tussen de initiator en responder. WS-Reliable Messaging-implementatie van WCF biedt een betrouwbare sessie voor eenrichtings-, aanvraag-antwoord- en full duplex-berichtenpatronen. Met het WS-Reliable Messaging-mechanisme
Offer
CreateSequence
/CreateSequenceResponse
kunt u twee gecorreleerde omgekeerde reeksen tot stand brengen en een sessieprotocol bieden dat geschikt is voor alle berichteindpunten. Omdat WCF een beveiligingsgarantie biedt voor een dergelijke sessie, inclusief end-to-end-beveiliging voor sessie-integriteit, is het praktisch om ervoor te zorgen dat berichten die zijn bedoeld voor dezelfde partij op dezelfde bestemming aankomen. Hierdoor kan ook piggy-backing van reeksbevestigingen voor toepassingsberichten worden toegestaan. Daarom zijn beperkingen R1104, R1105 en R1108 van toepassing op WCF.
Een voorbeeld van een CreateSequence
bericht.
<s:Envelope>
<s:Header>
<a:Action s:mustUnderstand="1">
http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence
</a:Action>
<a:ReplyTo>
<a:Address>
http://Business456.com/clientA
</a:Address>
</a:ReplyTo>
<a:MessageID>
urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
</a:MessageID>
<a:To s:mustUnderstand="1">
http://Business456.com/clientA
</a:To>
</s:Header>
<s:Body>
<wsrm:CreateSequence>
<wsrm:AcksTo>
<wsa:Address>
http://Business456.com/clientA
</wsa:Address>
</wsrm:AcksTo>
<wsrm:Offer>
<wsrm:Identifier>
urn:uuid:0afb8d36-bf26-4776-b8cf-8c91fddb5496
</wsrm:Identifier>
</wsrm:Offer>
</wsrm:CreateSequence>
</s:Body>
</s:Envelope>
Een voorbeeld van een CreateSequenceResponse
bericht.
<s:Envelope>
<s:Header>
<a:Action s:mustUnderstand="1">
http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse
</a:Action>
<a:RelatesTo>
urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
</a:RelatesTo>
<a:To s:mustUnderstand="1">
http://Business456.com/clientA
</a:To>
</s:Header>
<s:Body>
<wsrm:CreateSequenceResponse>
<Identifier>
urn:uuid:eea0a36c-b38a-43e8-8c76-2fabe2d76386
</Identifier>
<Accept>
<AcksTo>
<a:Address>
http://BusinessABC.com/serviceA
</a:Address>
</AcksTo>
</Accept>
</wsrm:CreateSequenceResponse>
</s:Body>
</s:Envelope>
Sequence
Hier volgt een lijst met beperkingen die van toepassing zijn op reeksen:
B1201:WCF genereert en opent volgnummers die niet hoger zijn dan
xs:long
de maximale inclusieve waarde, 9223372036854775807.B1202:WCF genereert altijd een leeg bericht met de actie-URI van
http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage
.B1203: WCF ontvangt en levert een bericht met een reeksheader die een
LastMessage
element bevat zolang de actie-URI niethttp://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage
is.
Een voorbeeld van een reekskoptekst.
<wsrm:Sequence>
<wsrm:Identifier>
urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
</wsrm:Identifier>
<wsrm:MessageNumber>
10
</wsrm:MessageNumber>
<wsrm:LastMessage/>
</wsrm:Sequence>
AckRequested Header
WCF maakt gebruik van AckRequested
Header als een keep-alive-mechanisme. WCF genereert het optionele MessageNumber
element niet. Wanneer u een bericht ontvangt met een AckRequested
koptekst die het MessageNumber
element bevat, negeert WCF de waarde van het MessageNumber
element, zoals wordt weergegeven in het volgende voorbeeld.
<wsrm:AckRequested>
<wsrm:Identifier>
urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
</wsrm:Identifier>
</wsrm:AckRequested>
SequenceAcknowledgement-header
WCF maakt gebruik van piggy-back-mechanisme voor reeksbevestigingen die worden geleverd in WS-Reliable Messaging.
R1401: Wanneer er twee omgekeerde reeksen worden vastgesteld met behulp van het
Offer
mechanisme, kan deSequenceAcknowledgement
header worden opgenomen in elk toepassingsbericht dat naar de beoogde ontvanger wordt verzonden.B1402: Wanneer WCF een bevestiging moet genereren voordat u eventuele reeksberichten ontvangt (bijvoorbeeld om aan een
AckRequested
bericht te voldoen), genereert WCF eenSequenceAcknowledgement
koptekst die het bereik 0-0 bevat, zoals wordt weergegeven in het volgende voorbeeld.<wsrm:SequenceAcknowledgement> <wsrm:Identifier> urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36 </wsrm:Identifier> <wsrm:AcknowledgementRange Upper="0" Lower="0"/> </wsrm:SequenceAcknowledgement>
B1403: WCF genereert
SequenceAcknowledgement
geen headers die eenNack
element bevatten, maar ondersteuntNack
elementen.
WS-ReliableMessaging-fouten
Hier volgt een lijst met beperkingen die van toepassing zijn op de WCF-implementatie van WS-Reliable Messaging-fouten:
B1501: WCF genereert
MessageNumberRollover
geen fouten.B1502:WCF-eindpunt kan fouten genereren
CreateSequenceRefused
zoals beschreven in de specificatie.B1503:Wanneer het service-eindpunt de verbindingslimiet bereikt en nieuwe verbindingen niet kan verwerken, genereert WCF een extra
CreateSequenceRefused
foutsubcode,netrm:ConnectionLimitReached
zoals wordt weergegeven in het volgende voorbeeld.<s:Envelope> <s:Header> <wsa:Action> http://schemas.xmlsoap.org/ws/2005/08/addressing/fault </wsa:Action> </s:Header> <s:Body> <s:Fault> <s:Code> <s:Value> s:Receiver </s:Value> <s:Subcode> <s:Value> wsrm:CreateSequenceRefused </s:Value> <s:Subcode> <s:Value> netrm:ConnectionLimitReached </s:Value> </s:Subcode> </s:Subcode> </s:Code> <s:Reason> <s:Text xml:lang="en"> [Reason] </s:Text> </s:Reason> </s:Fault> </s:Body> </s:Envelope>
WS-adresseringsfouten
Omdat WS-Reliable Messaging gebruikmaakt van WS-Addressing, kan WS-Reliable Messaging-implementatie WS-Reliable Messaging fouten genereren. In deze sectie worden de WS-Adresseringsfouten beschreven die wcF expliciet genereert op de WS-Reliable Messaging-laag:
B1601:WCF genereert de berichtadresseringskop die is vereist als een van de volgende waar is:
Er ontbreekt een bericht in een
Sequence
koptekst en eenAction
koptekst.Er
CreateSequence
ontbreekt een bericht in eenMessageId
koptekst.Er
CreateSequence
ontbreekt een bericht in eenReplyTo
koptekst.
B1602:WCF genereert de foutactie niet ondersteund als antwoord op een bericht dat een
Sequence
header ontbreekt en een header heeftAction
die niet wordt herkend in de WS-Reliable Messaging-specificatie.B1603:WCF genereert het fouteindpunt niet beschikbaar om aan te geven dat het eindpunt de volgorde niet verwerkt op basis van het onderzoek van de adresseringsheaders van het
CreateSequence
bericht.
Protocolsamenstelling
Samenstelling met WS-Adressering
WCF ondersteunt twee versies van WS-Addressing: WS-Addressing 2004/08 [WS-ADDR] en W3C WS-Addressing 1.0 Aanbevelingen [WS-ADDR-CORE] en [WS-ADDR-SOAP].
Hoewel in de WS-Reliable Messaging-specificatie alleen WS-Addressing 2004/08 wordt vermeld, wordt de WS-Adresseringsversie niet beperkt tot gebruik. Hier volgt een lijst met beperkingen die van toepassing zijn op WCF:
R2101:WS-Addressing 2004/08 en WS-Addressing 1.0 kunnen worden gebruikt met WS-Reliable Messaging.
R2102:Een enkele versie van WS-Addressing moet worden gebruikt in een bepaalde WS-Reliable Messaging-reeks of een paar omgekeerde reeksen die zijn gecorreleerd met behulp van het
wsrm:Offer
mechanisme.
Samenstelling met SOAP
WCF ondersteunt het gebruik van zowel SOAP 1.1 als SOAP 1.2 met WS-Reliable Messaging.
Samenstelling met WS-Security en WS-SecureConversation
WCF biedt bescherming voor WS-Reliable Messaging-reeksen met behulp van secure Transport (HTTPS), samenstelling met WS-Security en samenstelling met WS-Secure Conversation. Hier volgt een lijst met beperkingen die van toepassing zijn op WCF:
R2301:Om de integriteit van een WS-Reliable Messaging-reeks te beschermen, naast de integriteit en vertrouwelijkheid van afzonderlijke berichten, moet WS-Secure Conversation worden gebruikt.
R2302:AWS-Secure Conversation-sessie moet tot stand worden gebracht voordat U WS-Reliable Messaging-reeks(en) tot stand hebt gebracht.
R2303: Als de levensduur van de WS-Reliable Messaging-reeks de levensduur van de WS-Secure-gesprekssessie overschrijdt, moet het
SecurityContextToken
bestaande gesprek met WS-Secure Conversation worden vernieuwd met behulp van de bijbehorende WS-Secure Conversation Renewal-binding.B2304:WS-Reliable Messaging-reeks of een paar gecorreleerde omgekeerde reeksen zijn altijd gebonden aan één WS-SecureConversation-sessie.
De WCF-bron genereert het
wsse:SecurityTokenReference
element in de sectie over de uitbreidbaarheid van het element van hetCreateSequence
bericht.R2305:Wanneer een bericht is samengesteld met WS-Secure Conversation, moet een
CreateSequence
bericht hetwsse:SecurityTokenReference
element bevatten.
WS-Reliable Messaging WS-Policy Assertion
WCF maakt gebruik van WS-Reliable Messaging WS-Policy Assertion wsrm:RMAssertion
om de mogelijkheden van eindpunten te beschrijven. Hier volgt een lijst met beperkingen die van toepassing zijn op WCF:
B3001: WCF koppelt
wsrm:RMAssertion
WS-Policy Assertion aanwsdl:binding
elementen. WCF ondersteunt zowel bijlagen alswsdl:binding
wsdl:port
elementen.B3002: WCF ondersteunt de volgende optionele eigenschappen van WS-Reliable Messaging-assertie en biedt controle over deze eigenschappen op de WCF
ReliableMessagingBindingElement
:wsrm:InactivityTimeout
wsrm:AcknowledgementInterval
Hier volgt een voorbeeld.
<wsrm:RMAssertion> <wsrm:InactivityTimeout Milliseconds="600000" /> <wsrm:AcknowledgementInterval Milliseconds="200" /> </wsrm:RMAssertion>
WS-reliable messaging-extensie voor stroombeheer
WCF maakt gebruik van WS-Reliable Messaging-uitbreidbaarheid om optionele extra strakkere controle over de sequentieberichtstroom te bieden.
Stroombeheer is ingeschakeld door de ReliableSessionBindingElement.FlowControlEnabled eigenschap in te stellen op true
. Hier volgt een lijst met beperkingen die van toepassing zijn op WCF:
B4001: Wanneer Reliable Messaging Flow Control is ingeschakeld, genereert WCF een
netrm:BufferRemaining
element in de element-uitbreidbaarheid van deSequenceAcknowledgement
header.B4002: Wanneer Reliable Messaging Flow Control is ingeschakeld, is voor WCF geen element
SequenceAcknowledgement
in de header vereistnetrm:BufferRemaining
, zoals wordt weergegeven in het volgende voorbeeld.<wsrm:SequenceAcknowledgement> <wsrm:Identifier> http://fabrikam123.com/abc </wsrm:Identifier> <wsrm:AcknowledgementRange Upper="1" Lower="1"/> <netrm:BufferRemaining> 8 </netrm:BufferRemaining> </wsrm:SequenceAcknowledgement>
B4003: WCF gebruikt
netrm:BufferRemaining
om aan te geven hoeveel nieuwe berichten de Reliable Messaging Destination kan bufferen.B4004:De WCF Reliable Messaging-service beperkt het aantal berichten dat wordt verzonden wanneer de doeltoepassing Reliable Messaging geen berichten snel kan ontvangen. De Reliable Messaging-bestemming buffert berichten en de waarde van het element daalt naar 0.
B4005: WCF genereert
netrm:BufferRemaining
gehele getallen tussen 0 en 4096 inclusief en leest gehele getallen tussen 0 enxs:int
'smaxInclusive
waarde 214748364 inclusief.
Berichtuitwisselingspatronen
In deze sectie wordt het gedrag van WCF beschreven wanneer WS-Reliable Messaging wordt gebruikt voor verschillende Berichtuitwisselingspatronen. Voor elk Message Exchange-patroon worden de volgende twee implementatiescenario's overwogen:
Niet-adresseerbare initiator: Initiator bevindt zich achter de firewall; Responder kan berichten alleen aan Initiator bezorgen op HTTP-antwoorden.
Adresseerbare initiator: initiator en responder kunnen beide HTTP-aanvragen verzenden; met andere woorden, twee omgekeerde HTTP-verbindingen kunnen tot stand worden gebracht.
Eenmalige, niet-adresseerbare initiator
Binding
WCF biedt een eenrichtingspatroon voor het uitwisselen van berichten met één reeks via één HTTP-kanaal. WCF gebruikt de HTTP-aanvragen om alle berichten van de RMS naar de RMD en het HTTP-antwoord te verzenden om alle berichten van de RMD naar de RMS te verzenden.
CreateSequence Exchange
De WCF-initiator genereert een CreateSequence
bericht zonder aanbieding. De WCF Responder zorgt ervoor dat de CreateSequence
aanbieding niet beschikbaar is voordat u een reeks maakt. De WCF Responder beantwoordt de CreateSequence
aanvraag met een CreateSequenceResponse
bericht.
SequenceAcknowledgement
De WCF Initiator verwerkt bevestigingen voor het beantwoorden van alle berichten, met uitzondering van het bericht en de CreateSequence
foutberichten. De WCF Responder genereert altijd een zelfstandige bevestiging in het antwoord op zowel volgorde AckRequested
als berichten.
Beëindigingsbericht
WCF wordt behandeld als een eenrichtingsbewerking TerminateSequence
, wat betekent dat het HTTP-antwoord een lege hoofdtekst en HTTP 202-statuscode heeft.
Eén manier, adresseerbare initiator
Binding
WCF biedt een eenrichtingspatroon voor het uitwisselen van berichten met behulp van één reeks via een binnenkomend en uitgaand Http-kanaal. WCF gebruikt de HTTP-aanvragen om alle berichten te verzenden. Alle HTTP-antwoorden hebben een lege hoofdtekst en HTTP 202-statuscode.
CreateSequence Exchange
De WCF-initiator genereert een CreateSequence
bericht zonder aanbieding. De WCF Responder zorgt ervoor dat er CreateSequence
geen aanbieding is voordat u een reeks maakt. De WCF Responder verzendt het CreateSequenceResponse
bericht op een HTTP-aanvraag die is geadresseerd met de ReplyTo
eindpuntreferentie.
Duplex, adresseerbare initiator
Binding
WCF biedt een volledig asynchroon tweerichtingsberichtuitwisselingspatroon met behulp van twee reeksen via een inkomend en uitgaand HTTP-kanaal. WCF gebruikt de HTTP-aanvragen om alle berichten te verzenden. Alle HTTP-antwoorden hebben een lege hoofdtekst en HTTP 202-statuscode.
CreateSequence Exchange
De WCF-initiator genereert een CreateSequence
bericht met een aanbieding. De WCF Responder zorgt ervoor dat de CreateSequence
aanbieding een aanbieding heeft voordat u een reeks maakt. WCF verzendt de CreateSequenceResponse
op de HTTP-aanvraag die is geadresseerd aan de CreateSequence
ReplyTo
eindpuntreferentie.
Levensduur van reeks
WCF behandelt de twee reeksen als één volledig dubbelzijdige sessie.
Bij het genereren van een fout die één reeks fouten aangeeft, verwacht WCF dat het externe eindpunt beide reeksen fouteert. Bij het lezen van een fout die één reeks fouten maakt, worden beide reeksen door WCF-fouten uitgevoerd.
WCF kan de uitgaande volgorde sluiten en berichten blijven verwerken op de binnenkomende volgorde. Omgekeerd kan WCF de sluiting van de inkomende reeks verwerken en berichten blijven verzenden op de uitgaande volgorde.
Aanvraag-antwoord, niet-adresseerbare initiator
Binding
WCF biedt een eenrichtings- en aanvraagantwoord-berichtuitwisselingspatroon met behulp van twee reeksen via één HTTP-kanaal. WCF gebruikt de HTTP-aanvragen om de berichten van de aanvraagreeks te verzenden en gebruikt de HTTP-antwoorden om de berichten van de antwoordreeks te verzenden.
CreateSequence Exchange
De WCF-initiator genereert een CreateSequence
bericht met een aanbieding. De WCF Responder zorgt ervoor dat de CreateSequence
aanbieding een aanbieding heeft voordat u een reeks maakt. De WCF Responder beantwoordt de CreateSequence
aanvraag met een CreateSequenceResponse
bericht.
Eenrichtingsbericht
De WCF-initiator verzendt een aanvraagvolgordebericht op de HTTP-aanvraag en ontvangt een zelfstandig bericht op het HTTP-antwoord om een eenrichtingsprotocol SequenceAcknowledgement
voor het uitwisselen van berichten te voltooien. Het SequenceAcknowledgement
bericht moet worden bevestigd.
De WCF Responder kan de aanvraag beantwoorden met een bevestiging, een fout of een antwoord met een lege hoofdtekst en HTTP 202-statuscode.
Tweerichtingsberichten
De WCF-initiator verzendt een aanvraagvolgordebericht op de HTTP-aanvraag en ontvangt een antwoordreeksbericht op het HTTP-antwoord om een tweerichtingsuitwisselingsprotocol te voltooien. Het antwoord moet een SequenceAcknowledgement
bevestiging bevatten van het verzoekreeksbericht dat wordt verzonden.
De WCF Responder kan de aanvraag beantwoorden met een toepassingsantwoord, een fout of een antwoord met een lege hoofdtekst en HTTP 202-statuscode.
Vanwege de aanwezigheid van berichten in één richting en de timing van antwoorden van toepassingen, heeft het volgnummer van het aanvraagreeksbericht en het volgnummer van het antwoordbericht geen correlatie.
Antwoorden opnieuw proberen
WCF is afhankelijk van http-aanvraag-antwoordcorrelatie voor correlatie van tweerichtingsberichtenuitwisselingsprotocollen. Daarom stopt de WCF-initiator niet met het opnieuw proberen van een aanvraagvolgordebericht wanneer het aanvraagvolgordebericht wordt bevestigd, maar wanneer het HTTP-antwoord een bevestiging, gebruikersbericht of fout bevat. De WCF Responder probeert antwoorden opnieuw uit te voeren op de HTTP-aanvraag van de aanvraag waarop het antwoord is gecorreleerd.
LastMessage Exchange
De WCF-initiator genereert en verzendt een leeg, laatste bericht op het HTTP-aanvraagbeen. WCF vereist een antwoord, maar negeert het werkelijke antwoordbericht. De WCF Responder reageert op het lege laatste bericht van de aanvraagreeks met het lege laatste bericht van de antwoordreeks.
Als de WCF Responder een laatste bericht ontvangt waarin de actie-URI niet http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage
is, reageert WCF met een laatste bericht. In het geval van een tweerichtingsprotocol voor het uitwisselen van berichten, draagt het laatste bericht het toepassingsbericht; in het geval van een eenrichtingsprotocol voor het uitwisselen van berichten is het laatste bericht leeg.
De WCF Responder vereist geen bevestiging voor het lege laatste bericht van de antwoordreeks.
TerminateSequence Exchange
Wanneer alle aanvragen een geldig antwoord hebben ontvangen, genereert en verzendt de WCF-initiator het bericht van TerminateSequence
de aanvraagreeks op de HTTP-aanvraagvoet. WCF vereist een antwoord, maar negeert het werkelijke antwoordbericht. De WCF Responder beantwoordt het bericht van TerminateSequence
de aanvraagreeks met het bericht van TerminateSequence
de antwoordreeks.
In een normale afsluitvolgorde hebben beide TerminateSequence
berichten een volledig bereik SequenceAcknowledgement
.
Aanvraag/antwoord, adresseerbare initiator
Binding
WCF biedt een patroon voor het uitwisselen van berichten op aanvraag met behulp van twee reeksen via een binnenkomend en uitgaand HTTP-kanaal. WCF gebruikt de HTTP-aanvragen om alle berichten te verzenden. Alle HTTP-antwoorden hebben een lege hoofdtekst en HTTP 202-statuscode.
CreateSequence Exchange
De WCF-initiator genereert een CreateSequence
bericht met een aanbieding. De WCF Responder zorgt ervoor dat de CreateSequence
aanbieding een aanbieding heeft voordat u een reeks maakt. WCF verzendt de CreateSequenceResponse
op de HTTP-aanvraag die is geadresseerd aan de CreateSequence
ReplyTo
eindpuntreferentie.
Correlatie van aanvragen/antwoorden
De WCF-initiator zorgt ervoor dat alle toepassingsaanvraagberichten een MessageId
en een ReplyTo
eindpuntreferentie hebben. De WCF-initiator past de eindpuntreferentie van ReplyTo
het CreateSequence
bericht toe op elk toepassingsaanvraagbericht. De WCF Responder vereist dat binnenkomende aanvraagberichten een MessageId
en een ReplyTo
. De WCF Responder zorgt ervoor dat de URI van de eindpuntreferentie van zowel de CreateSequence
als alle toepassingsaanvraagberichten identiek zijn.