Protocole de messagerie fiable version 1.0
Cette rubrique couvre en détail l’implémentation Windows Communication Foundation (WCF) pour le protocole WS-ReliableMessaging de février 2005 (version 1.0) qui est nécessaire pour l'interopérabilité en utilisant le transport HTTP. WCF suit la spécification WS-ReliableMessaging avec les contraintes et les éclaircissements présentés dans cette rubrique. Notez que le protocole WS-ReliableMessaging version 1.0 est implémenté à partir de WinFX.
Le protocole WS-ReliableMessaging de février 2005 est implémenté dans WCF par ReliableSessionBindingElement.
Pour plus de simplicité, la rubrique utilise les rôles suivants :
Initiateur : client qui initialise la création de la séquence de message WS-Reliable.
Répondeur : service qui reçoit les demandes de l'initiateur.
Ce document utilise les préfixes et les espaces de noms répertoriés dans le tableau suivant.
Préfixe | Espace de noms |
---|---|
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 |
Messagerie
Messages d'établissement de séquence
WCF implémente les messages CreateSequence
et CreateSequenceResponse
pour établir une séquence de messagerie fiable. Les contraintes suivantes s’appliquent :
B1101 : l'initiateur WCF ne génère pas l'élément Expires facultatif dans le message
CreateSequence
ou, lorsque le messageCreateSequence
contient un élémentOffer
, l'élémentExpires
facultatif dans l'élémentOffer
.B1102 : quand il accède au message
CreateSequence
, leResponder
WCF envoie et reçoit les deux élémentsExpires
s'ils existent, mais il n'utilise pas leurs valeurs.
La messagerie WS-Reliable introduit le mécanisme Offer
pour établir deux séquences corrélées réciproques qui forment une session.
R1103 : si
CreateSequence
contient un élémentOffer
, le répondeur de messagerie fiable doit soit accepter la séquence et répondre avecCreateSequenceResponse
contenant un élémentwsrm:Accept
, formant deux séquences réciproques corrélées, soit rejeter la demandeCreateSequence
.R1104 : l'
SequenceAcknowledgement
et les messages d'application qui passent sur la séquence réciproque doivent être envoyés à la référence de point de terminaisonReplyTo
deCreateSequence
.R1105 : les références de point de terminaison
AcksTo
etReplyTo
dansCreateSequence
doivent avoir des valeurs d'adresse qui correspondent au niveau des octets.Le répondeur WCF vérifie que la partie URI des ERP
AcksTo
etReplyTo
est identique avant de créer une séquence.R1106 : les références de point de terminaison
AcksTo
etReplyTo
dansCreateSequence
doivent avoir le même jeu de paramètres de référence.WCF n'applique pas, mais suppose que les [paramètres de référence] de
AcksTo
etReplyTo
surCreateSequence
sont identiques. Il utilise les [paramètres de référence] de la référence de point de terminaisonReplyTo
pour les accusés de réception et les messages de séquence réciproque.R1107 : lorsque deux séquences réciproques sont établies à l'aide du mécanisme
Offer
, l'SequenceAcknowledgement
et les messages d'application qui traversent les séquences réciproques doivent être envoyés à la référence de point de terminaisonReplyTo
deCreateSequence
.R1108 : lorsque deux séquences réciproques sont établies à l'aide du mécanisme Offer, la propriété
[address]
de l'élément enfantwsrm:AcksTo
de la référence de point de terminaison de l'élémentwsrm:Accept
de laCreateSequenceResponse
doit correspondre octet par octet à l'URI de destination deCreateSequence
.R1109 : lorsque deux séquences réciproques sont établies à l'aide du mécanisme
Offer
, les messages envoyés par l'initiateur et les accusés de réception des messages envoyés par le répondeur doivent être envoyés à la même référence de point de terminaison.WCF utilise WS-ReliableMessaging pour établir des sessions fiables entre l'initiateur et le répondeur. L’implémentation WCF de WS-ReliableMessaging fournit une session fiable pour les modèles de messagerie de type duplex intégral, demande-réponse et unidirectionnels. Le mécanisme WS-ReliableMessaging
Offer
surCreateSequence
/CreateSequenceResponse
vous permet d'établir deux séquences réciproques corrélées. Il fournit un protocole de session qui convient à tous les points de terminaison de message. Comme WCF fournit une garantie de sécurité pour ce type de session incluant la protection de bout en bout de l'intégrité de la session, c’est un moyen pratique de s'assurer que les messages prévus pour la même partie arrivent à la même destination. Cela permet également la superposition des accusés de réception de séquence sur les messages d'application. Par conséquent, les contraintes R1104, R1105 et R1108 s’appliquent à WCF.
Exemple de message CreateSequence
.
<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>
Exemple de message CreateSequenceResponse
.
<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>
Séquence
Voici une liste des contraintes qui s'appliquent aux séquences :
B1201 : WCF génère des numéros de séquence et accède à ceux qui ne dépassent pas la valeur maximale de
xs:long
, à savoir 9223372036854775807.B1202: WCF génère toujours un dernier message au corps vide et l’URI d’action
http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage
.B1203 : WCF reçoit et remet un message avec un en-tête Sequence qui contient un élément
LastMessage
tant que l'URI d’action n'est pashttp://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage
.
Exemple d'en-tête Sequence.
<wsrm:Sequence>
<wsrm:Identifier>
urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
</wsrm:Identifier>
<wsrm:MessageNumber>
10
</wsrm:MessageNumber>
<wsrm:LastMessage/>
</wsrm:Sequence>
En-tête AckRequested
WCF utilise l'en-tête AckRequested
comme un mécanisme persistant. WCF ne génère pas l'élément facultatif MessageNumber
. Quand il reçoit un message avec un en-tête AckRequested
contenant l'élément MessageNumber
, WCF ignore la valeur de l'élément MessageNumber
, comme le montre l'exemple suivant.
<wsrm:AckRequested>
<wsrm:Identifier>
urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
</wsrm:Identifier>
</wsrm:AckRequested>
En-tête SequenceAcknowledgement
WCF utilise un mécanisme de portage (« piggy-back ») pour les accusés de réception de séquence fournis dans WS-ReliableMessaging.
R1401 : lorsque deux séquences réciproques sont établies à l'aide du mécanisme
Offer
, l'en-têteSequenceAcknowledgement
peut être inclus dans tout message d'application transmis au destinataire souhaité.B1402 : lorsque WCF doit générer un accusé de réception avant de recevoir un message de séquence (par exemple, pour satisfaire à un message
AckRequested
), WCF génère un en-têteSequenceAcknowledgement
qui contient la plage 0-0, comme indiqué dans l'exemple suivant.<wsrm:SequenceAcknowledgement> <wsrm:Identifier> urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36 </wsrm:Identifier> <wsrm:AcknowledgementRange Upper="0" Lower="0"/> </wsrm:SequenceAcknowledgement>
B1403 : WCF ne génère pas d'en-têtes
SequenceAcknowledgement
contenant un élémentNack
, mais prend en charge les élémentsNack
.
Erreurs de la messagerie WS-Reliable
Voici une liste des contraintes qui s'appliquent à l'implémentation WCF des erreurs WS-ReliableMessaging :
B1501 : WCF ne génère pas d'erreurs
MessageNumberRollover
.B1502 : le point de terminaison WCF peut générer des erreurs
CreateSequenceRefused
comme cela est décrit dans la spécification.B1503 : lorsque le point de terminaison de service atteint sa limite de connexion et ne peut pas traiter de nouvelles connexions, WCF génère un sous-code d'erreur
CreateSequenceRefused
supplémentaire,netrm:ConnectionLimitReached
, comme indiqué dans l'exemple suivant.<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>
Erreurs WS-Addressing
Étant donné que WS-ReliableMessaging utilise WS-Addressing, l'implémentation WCF de WS-ReliableMessaging peut générer des erreurs WS-Addressing. Cette section traite des erreurs WS-Addressing que WCF génère explicitement au niveau de la couche WS-ReliableMessaging :
B1601 : WCF génère l'erreur Message Addressing Header Required quand l'une des conditions suivantes est vraie :
Un message n'a pas d'en-tête
Sequence
ni d'en-têteAction
.Un message
CreateSequence
n'a pas d'en-têteMessageId
.Un message
CreateSequence
n'a pas d'en-têteReplyTo
.
B1602 : WCF génère l'erreur Action Not Supported en réponse à un message qui n'a pas d'en-tête
Sequence
et a un en-têteAction
non reconnu dans la spécification WS-ReliableMessaging.B1603 : WCF génère l'erreur Endpoint Unavailable pour indiquer que le point de terminaison ne traite pas la séquence au terme de l'examen des en-têtes d'adressage du message
CreateSequence
.
Composition du protocole
Composition avec WS-Addressing
WCF prend en charge deux versions de WS-Addressing : WS-Addressing 2004/08 [WS-ADDR] et W3C WS-Addressing 1.0 Recommendations [WS-ADDR-CORE] et [WS-ADDR-SOAP].
Bien que la spécification de la messagerie WS-Reliable mentionne WS-Addressing 2004/08 uniquement, cela ne constitue pas une restriction en ce qui concerne la version WS-Addressing à utiliser. Voici une liste des contraintes qui s'appliquent à WCF :
R2101 : aussi bien WS-Addressing 2004/08 que WS-Addressing 1.0 peuvent être utilisés avec la messagerie WS-Reliable.
R2102 : une version unique de WS-Addressing doit être utilisée dans l'ensemble d'une séquence WS-ReliableMessaging ou dans une paire de séquences réciproques corrélées à l'aide du mécanisme
wsrm:Offer
.
Composition avec SOAP
WCF prend en charge l'utilisation combinée de SOAP 1.1 et SOAP 1.2 avec WS-ReliableMessaging.
Composition avec WS-Security et WS-SecureConversation
WCF protège les séquences WS-ReliableMessaging en utilisant le transport sécurisé (HTTPS), la composition avec WS-Security et la composition avec WS-Secure Conversation. Voici une liste des contraintes qui s'appliquent à WCF :
R2301 : pour protéger l'intégrité d'une séquence WS-ReliableMessaging en plus de l'intégrité et de la confidentialité des messages individuels, WCF requiert l'utilisation de WS-Secure Conversation.
R2302 :unesession WS-Secure Conversation doit être établie avant d'établir la ou les séquences de messagerie WS-Reliable.
R2303 : si la durée de vie de la séquence de messagerie WS-Reliable dépasse celle de la session WS-Secure Conversation, le
SecurityContextToken
établi à l'aide de WS-Secure Conversation doit être renouvelé par le biais de la liaison WS-Secure Conversation Renewal correspondante.B2304 :la séquence de messagerie WS-Reliable ou une paire de séquences réciproques corrélées est toujours liée à une session WS-SecureConversation unique.
La source WCF génère l'élément
wsse:SecurityTokenReference
dans la section extensibilité des éléments du messageCreateSequence
.R2305 : lorsqu'il est composé avec WS-Secure Conversation, un message
CreateSequence
doit contenir l'élémentwsse:SecurityTokenReference
.
Assertion WS-Policy de la messagerie WS-Reliable
WCF utilise l'assertion WS-Policy wsrm:RMAssertion
de WS-ReliableMessaging pour décrire les fonctionnalités des points de terminaison. Voici une liste des contraintes qui s'appliquent à WCF :
B3001 : WCF attache l'assertion WS-Policy
wsrm:RMAssertion
aux élémentswsdl:binding
. WCF prend en charge les attachements aux élémentswsdl:binding
etwsdl:port
.B3002 : WCF prend en charge les propriétés facultatives suivantes de l'assertion WS-ReliableMessaging, et assure leur contrôle sur l’élément WCF
ReliableMessagingBindingElement
:wsrm:InactivityTimeout
wsrm:AcknowledgementInterval
Voici un exemple.
<wsrm:RMAssertion> <wsrm:InactivityTimeout Milliseconds="600000" /> <wsrm:AcknowledgementInterval Milliseconds="200" /> </wsrm:RMAssertion>
Extension de messagerie WS-Reliable pour le contrôle de flux
WCF utilise l'extensibilité de WS-ReliableMessaging pour fournir un moyen facultatif de contrôle plus poussé sur le flux des messages de séquence.
Le contrôle de flux s’active en définissant la propriété ReliableSessionBindingElement.FlowControlEnabled à la valeur true
. Voici une liste des contraintes qui s'appliquent à WCF :
B4001 : lorsque le contrôle de flux de la messagerie fiable est activé, WCF génère un élément
netrm:BufferRemaining
dans la section extensibilité des éléments de l'en-têteSequenceAcknowledgement
.B4002 : lorsque le contrôle de flux de la messagerie fiable est activé, WCF n’exige pas la présence d'un élément
netrm:BufferRemaining
dans l'en-têteSequenceAcknowledgement
, comme indiqué dans l'exemple suivant.<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 utilise
netrm:BufferRemaining
pour spécifier le nombre de nouveaux messages que la destination de messagerie fiable peut mettre en mémoire tampon.B4004 : le service de messagerie fiable de WCF limite le nombre de messages transmis lorsque la destination de messagerie fiable ne peut pas recevoir les messages rapidement. La destination de la messagerie fiable met en mémoire tampon les messages et la valeur de l’élément tombe à 0.
B4005 : WCF génère des valeurs entières
netrm:BufferRemaining
comprises dans la plage inclusive de 0 à 4096 et lit des valeurs entières comprises dans la plage inclusive de 0 à la valeurmaxInclusive
214748364 pourxs:int
.
Modèles d’échange de messages
Cette section décrit le comportement de WCF lorsque WS-ReliableMessaging est utilisé dans différents modèles d’échange de messages. Pour chaque modèle d'échange de messages, les deux scénarios de déploiements suivants sont considérés :
Initiateur non adressable : l'initiateur est derrière un pare-feu ; le répondeur peut remettre des messages à celui-ci uniquement sur les réponses HTTP.
Initiateur adressable : l'initiateur et le répondeur peuvent tous les deux recevoir des requêtes HTTP ; en d'autres termes, deux connexions HTTP réciproques peuvent être établies.
Initiateur unidirectionnel, non adressable
Liaison
WCF fournit un modèle unidirectionnel d'échange de messages qui utilise une séquence sur un canal HTTP. WCF utilise les requêtes HTTP pour transmettre tous les messages du RMS au RMD, et la réponse HTTP pour transmettre tous les messages du RMD au RMS.
Échange CreateSequence
L'initiateur WCF génère un message CreateSequence
sans offre. Le répondeur WCF s'assure que CreateSequence
ne contient pas d’offre avant de créer une séquence. Le répondeur WCF retourne un message CreateSequenceResponse
en réponse à la requête HTTP CreateSequence
.
SequenceAcknowledgement
L'initiateur WCF traite les accusés de réception sur la réponse de tous les messages à l’exception du message CreateSequence
et des messages d'erreur. Le répondeur WCF génère toujours un accusé de réception autonome dans la réponse à la séquence et aux messages AckRequested
.
Message TerminateSequence
WCF traite TerminateSequence
comme une opération unidirectionnelle, ce qui signifie que la réponse HTTP présente un corps vide et le code d'état HTTP 202.
Initiateur unidirectionnel, adressable
Liaison
WCF fournit un modèle unidirectionnel d'échange de messages qui utilise une séquence sur un canal HTTP entrant et un sortant. WCF utilise les requêtes HTTP pour transmettre tous les messages. Toutes les réponses HTTP ont un corps vide et le code d'état HTTP 202.
Échange CreateSequence
L'initiateur WCF génère un message CreateSequence
sans offre. Le répondeur WCF s'assure que CreateSequence
ne contient pas d’offre avant de créer une séquence. Le répondeur WCF transmet le message CreateSequenceResponse
sur une requête HTTP adressée avec la référence de point de terminaison ReplyTo
.
Initiateur duplex, adressable
Liaison
WCF fournit un modèle d'échange de messages bidirectionnel et entièrement asynchrone qui utilise deux séquences sur un canal HTTP entrant et un sortant. WCF utilise les requêtes HTTP pour transmettre tous les messages. Toutes les réponses HTTP ont un corps vide et le code d'état HTTP 202.
Échange CreateSequence
L'initiateur WCF génère un message CreateSequence
avec une offre. Le répondeur WCF s'assure que CreateSequence
contient une offre avant de créer une séquence. WCF envoie le message CreateSequenceResponse
sur la requête HTTP adressée à la référence de point de terminaison ReplyTo
de CreateSequence
.
Durée de vie de séquence
WCF traite les deux séquences comme une seule session duplex intégral.
Lorsqu’une erreur est générée et fait échouer une séquence, WCF s'attend à ce que le point de terminaison distant mette les deux séquences en échec. À la lecture d'une erreur qui fait échouer une séquence, WCF met les deux séquences en échec.
WCF peut fermer sa séquence sortante et poursuivre le traitement des messages sur sa séquence entrante. Inversement, WCF peut traiter la fermeture de la séquence entrante et continuer d’envoyer des messages sur sa séquence sortante.
Initiateur demande-réponse, non adressable
Liaison
WCF fournit un modèle unidirectionnel d'échange de messages de type demande-réponse qui utilise deux séquences sur un canal HTTP. WCF utilise les requêtes HTTP pour transmettre les messages de la séquence de demande, et les réponses HTTP pour transmettre les messages de la séquence de réponse.
Échange CreateSequence
L'initiateur WCF génère un message CreateSequence
avec une offre. Le répondeur WCF s'assure que CreateSequence
contient une offre avant de créer une séquence. Le répondeur WCF retourne un message CreateSequenceResponse
en réponse à la requête HTTP CreateSequence
.
Message unidirectionnel
Pour réussir un protocole d’échange de messages unidirectionnel, l'initiateur WCF transmet un message de séquence de demande sur la requête HTTP et reçoit un message SequenceAcknowledgement
autonome sur la réponse HTTP. SequenceAcknowledgement
doit accepter le message transmis.
Le répondeur WCF peut répondre à la demande en retournant un accusé de réception, une erreur ou bien une réponse présentant un corps vide et le code d'état HTTP 202.
Messages bidirectionnels
Pour réussir un échange de messages bidirectionnel, l'initiateur WCF transmet un message de séquence de demande sur la requête HTTP et reçoit un message de séquence de réponse sur la réponse HTTP. La réponse doit contenir un SequenceAcknowledgement
qui accuse réception du message de séquence de demande transmis.
Le répondeur WCF peut répondre à la demande en retournant une réponse d'application, une erreur ou bien une réponse présentant un corps vide et le code d'état HTTP 202.
En raison de la présence de messages unidirectionnels et du délai d'attente des réponses d'application, le numéro de séquence du message de séquence de demande et le numéro de séquence du message de réponse n'ont aucune corrélation.
Nouvelles tentatives de réponses
WCF repose sur la corrélation demande-réponse HTTP pour la corrélation de protocole d'échange de messages bidirectionnel. De ce fait, l'initiateur WCF n’arrête pas les tentatives de transmission d’un message de séquence de demande lorsque ce message a fait l’objet d’un accusé de réception, mais les arrête quand la réponse HTTP contient un accusé de réception, un message utilisateur ou une erreur. Le répondeur WCF refait des tentatives de réponse sur le tronçon de requête HTTP de la demande à laquelle la réponse est corrélée.
Échange LastMessage
L'initiateur WCF génère et transmet un dernier message au corps vide sur le tronçon de requête HTTP. WCF requiert une réponse, mais ignore le message de réponse réel. Le répondeur WCF répond au dernier message au corps vide de la séquence de demande en retournant le dernier message au corps vide de la séquence de réponse.
Si le répondeur WCF reçoit un dernier message qui ne contient pas l'URI d’action http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage
, il retourne un dernier message en réponse. Dans le cas d'un protocole d'échange de messages bidirectionnel, le dernier message contient le message d'application ; dans le cas d'un protocole d'échange de messages unidirectionnel, le dernier message est vide.
Le répondeur WCF ne requiert pas d'accusé de réception pour le dernier message au corps vide de la séquence de réponse.
Échange TerminateSequence
Lorsque toutes les demandes ont reçu une réponse valide, l'initiateur WCF génère et transmet le message TerminateSequence
de la séquence de demande sur le tronçon de requête HTTP. WCF requiert une réponse, mais ignore le message de réponse réel. Le répondeur WCF répond au message TerminateSequence
de la séquence de demande en retournant le message TerminateSequence
de la séquence de réponse.
Dans une séquence d'arrêt normale, les deux messages TerminateSequence
incluent un SequenceAcknowledgement
complet.
Initiateur demande/réponse, adressable
Liaison
WCF fournit un modèle d'échange de messages de type demande-réponse qui utilise deux séquences sur un canal HTTP entrant et un sortant. WCF utilise les requêtes HTTP pour transmettre tous les messages. Toutes les réponses HTTP ont un corps vide et le code d'état HTTP 202.
Échange CreateSequence
L'initiateur WCF génère un message CreateSequence
avec une offre. Le répondeur WCF s'assure que CreateSequence
contient une offre avant de créer une séquence. WCF envoie le message CreateSequenceResponse
sur la requête HTTP adressée à la référence de point de terminaison ReplyTo
de CreateSequence
.
Corrélation demande/réponse
L’initiateur WCF s'assure que tous les messages de demande d'application contiennent un élément MessageId
et une référence de point de terminaison ReplyTo
. L'initiateur WCF applique la référence de point de terminaison ReplyTo
du message CreateSequence
sur chaque message de demande d'application. Le répondeur WCF requiert que les messages de demande entrants contiennent un élément MessageId
et un élément ReplyTo
. Le répondeur WCF s'assure que l'URI de la référence de point de terminaison du message CreateSequence
et de tous les messages de demande d'application est identique.