Partilhar via


Reliable Messaging Protocol versão 1.0

Este tópico aborda os detalhes da implementação do Windows Communication Foundation (WCF) para o protocolo WS-Reliable Messaging de fevereiro de 2005 (versão 1.0) necessário para a interoperação usando o transporte HTTP. O WCF segue a especificação WS-Reliable Messaging com as restrições e esclarecimentos explicados neste tópico. Observe que o protocolo WS-ReliableMessaging versão 1.0 é implementado a partir do WinFX.

O protocolo WS-Reliable Messaging de fevereiro de 2005 é implementado no WCF pelo ReliableSessionBindingElement.

Por conveniência, o tópico usa as seguintes funções:

  • Iniciador: o cliente que inicia a criação da sequência WS-Reliable Message

  • Respondente: o serviço que recebe as solicitações do iniciador

Este documento usa os prefixos e namespaces na tabela a seguir.

Prefixo Espaço de Nomes
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

Mensagens

Sequenciar mensagens de estabelecimento

WCF implementa CreateSequence e CreateSequenceResponse mensagens para estabelecer uma sequência de mensagens confiável. As seguintes restrições aplicam-se:

  • B1101: O iniciador WCF não gera o elemento opcional Expires na CreateSequence mensagem ou, nos casos em que a CreateSequence mensagem contém um Offer elemento , o elemento opcional Expires no Offer elemento .

  • B1102: Ao acessar a CreateSequence mensagem, o WCFResponder envia e recebe ambos os Expires elementos, se existirem, mas não usa seus valores.

O WS-Reliable Messaging introduz o Offer mecanismo para estabelecer as duas sequências correlacionadas que formam uma sessão.

  • R1103: Se CreateSequence contiver um Offer elemento , o Reliable Messaging Respondente deve aceitar a sequência e responder com CreateSequenceResponse que contém um wsrm:Accept elemento , formando duas sequências de converso correlacionadas ou rejeitar a CreateSequence solicitação.

  • R1104: SequenceAcknowledgement e as mensagens do aplicativo que fluem na sequência inversa devem ser enviadas para a ReplyTo referência de ponto final do CreateSequence.

  • R1105: AcksTo e ReplyTo as referências de CreateSequence ponto final no devem ter valores de endereço que correspondam ao octeto-wise.

    O Respondente WCF verifica se a parte URI do e ReplyTo EPRs são idênticas antes de AcksTo criar uma sequência.

  • R1106: AcksTo e ReplyTo as referências de ponto final no CreateSequence devem ter o mesmo conjunto de parâmetros de referência.

    O WCF não impõe, mas assume que [parâmetros de referência] de AcksTo e ReplyTo sobre CreateSequence são idênticos e usa [parâmetros de referência] da referência de ponto de extremidade para confirmações e mensagens de ReplyTo sequência inversa.

  • R1107: Quando duas sequências converse são estabelecidas usando o Offer mecanismo, SequenceAcknowledgement e as mensagens de aplicativo que fluem em sequências converse devem ser enviadas para a ReplyTo referência de ponto final do CreateSequence.

  • R1108: Quando duas sequências inversas são estabelecidas usando o mecanismo Offer, a [address]wsrm:AcksTo propriedade do elemento filho Endpoint Reference do wsrm:Accept elemento do CreateSequenceResponse deve corresponder byte-wise ao URI de destino do CreateSequence.

  • R1109: Quando duas sequências inversas são estabelecidas usando o mecanismo, as Offer mensagens enviadas pelo iniciador e as confirmações para mensagens pelo respondente devem ser enviadas para a mesma Referência de Ponto Final.

    O WCF usa o WS-Reliable Messaging para estabelecer sessões confiáveis entre o Iniciador e o Respondente. A implementação WS-Reliable Messaging do WCF fornece sessão confiável para padrões de mensagens unidirecionais, solicitação-resposta e full duplex. O mecanismo WS-Reliable Messaging Offer em CreateSequence/CreateSequenceResponse permite estabelecer duas sequências de conversação correlacionadas e fornece um protocolo de sessão adequado para todos os pontos de extremidade de mensagem. Como o WCF fornece uma garantia de segurança para essa sessão, incluindo proteção de ponta a ponta para a integridade da sessão, é prático garantir que as mensagens destinadas à mesma parte cheguem ao mesmo destino. Isso também permite pegar carona em confirmações de sequência em mensagens do aplicativo. Portanto, as restrições R1104, R1105 e R1108 se aplicam ao WCF.

Um exemplo de uma CreateSequence mensagem.

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

Um exemplo de uma CreateSequenceResponse mensagem.

<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

Segue-se uma lista de restrições que se aplicam a sequências:

  • B1201:WCF gera e acessa números de sequência não superiores ao valor máximo inclusivo de xs:long', 9223372036854775807.

  • B1202:WCF sempre gera uma última mensagem de corpo vazio com a ação URI de http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage.

  • B1203: WCF recebe e entrega uma mensagem com um cabeçalho de sequência que contém um LastMessage elemento desde que a ação URI não http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessageé .

Um exemplo de um cabeçalho de sequência.

<wsrm:Sequence>
  <wsrm:Identifier>
    urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
  </wsrm:Identifier>
  <wsrm:MessageNumber>
    10
  </wsrm:MessageNumber>
  <wsrm:LastMessage/>
 </wsrm:Sequence>

Cabeçalho AckRequested

WCF usa AckRequested Header como um mecanismo keep-alive. WCF não gera o elemento opcional MessageNumber . Ao receber uma mensagem com um AckRequested cabeçalho que contém o elemento , o MessageNumber WCF ignora o MessageNumber valor do elemento, conforme mostrado no exemplo a seguir.

<wsrm:AckRequested>
  <wsrm:Identifier>
    urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
  </wsrm:Identifier>
</wsrm:AckRequested>

Cabeçalho SequenceAcknowledgement

O WCF usa o mecanismo piggy-back para confirmações de sequência fornecidas no WS-Reliable Messaging.

  • R1401: Quando são estabelecidas duas sequências inversas utilizando o Offer mecanismo, o SequenceAcknowledgement cabeçalho pode ser incluído em qualquer mensagem de aplicação transmitida ao destinatário pretendido.

  • B1402: Quando o WCF deve gerar uma confirmação antes de receber qualquer mensagem de sequência (por exemplo, para satisfazer uma AckRequested mensagem), o WCF gera um SequenceAcknowledgement cabeçalho que contém o intervalo 0-0, conforme mostrado no exemplo a seguir.

    <wsrm:SequenceAcknowledgement>
      <wsrm:Identifier>
        urn:uuid:addabbbf-60cb-44d3-8c5b-9e0841629a36
      </wsrm:Identifier>
      <wsrm:AcknowledgementRange Upper="0" Lower="0"/>
    </wsrm:SequenceAcknowledgement>
    
  • B1403: WCF não gera SequenceAcknowledgement cabeçalhos que contêm um Nack elemento mas suporta Nack elementos.

Falhas WS-ReliableMessaging

A seguir está uma lista de restrições que se aplicam à implementação WCF de falhas WS-Reliable Messaging:

  • B1501: WCF não gera MessageNumberRollover falhas.

  • B1502: O ponto de extremidade WCF pode gerar CreateSequenceRefused falhas conforme descrito na especificação.

  • B1503:Quando o ponto de extremidade do serviço atinge seu limite de conexão e não pode processar novas conexões, o WCF gera um subcódigo de falha adicional CreateSequenceRefused , netrm:ConnectionLimitReached, conforme mostrado no exemplo a seguir.

    <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-Endereçamento de falhas

Como o WS-Reliable Messaging usa WS-Addressing, a implementação do WS-Reliable Messaging do WCF pode gerar falhas no WS-Addressing. Esta seção aborda as falhas WS-Addressing que o WCF gera explicitamente na camada WS-Reliable Messaging:

  • B1601:WCF gera a falha Message Addressing Header Required quando uma das seguintes opções for verdadeira:

    • Uma mensagem está faltando um Sequence cabeçalho e um Action cabeçalho.

    • Uma CreateSequence mensagem está faltando um MessageId cabeçalho.

    • Uma CreateSequence mensagem está faltando um ReplyTo cabeçalho.

  • B1602:WCF gera a ação de falha não suportada em resposta a uma mensagem que está faltando um Sequence cabeçalho e tem um Action cabeçalho que não é reconhecido na especificação WS-Reliable Messaging.

  • B1603:WCF gera a falha Endpoint Unavailable para indicar que o endpoint não processa a sequência com base no exame dos cabeçalhos de endereçamento da CreateSequence mensagem.

Composição do Protocolo

Composição com WS-Addressing

O WCF suporta duas versões do WS-Addressing: WS-Addressing 2004/08 [WS-ADDR] e W3C WS-Addressing 1.0 Recommendations [WS-ADDR-CORE] e [WS-ADDR-SOAP].

Embora a especificação WS-Reliable Messaging mencione apenas o WS-Addressing 2004/08, ela não restringe a versão WS-Addressing a ser usada. A seguir está uma lista de restrições que se aplicam ao WCF:

  • R2101: Tanto o WS-Addressing 2004/08 quanto o WS-Addressing 1.0 podem ser usados com o WS-Reliable Messaging.

  • R2102:Uma única versão do WS-Addressing deve ser usada em toda uma determinada sequência WS-Reliable Messaging ou um par de sequências inversas correlacionadas usando o wsrm:Offer mecanismo.

Composição com SOAP

O WCF suporta o uso de SOAP 1.1 e SOAP 1.2 com WS-Reliable Messaging.

Composição com WS-Security e WS-SecureConversation

O WCF fornece proteção para sequências WS-Reliable Messaging usando Transporte seguro (HTTPS), composição com WS-Security e composição com WS-Secure Conversation. A seguir está uma lista de restrições que se aplicam ao WCF:

  • R2301:Para proteger a integridade de uma sequência WS-Reliable Messaging, além da integridade e confidencialidade de mensagens individuais, o WCF requer que o WS-Secure Conversation seja usado.

  • R2302:A sessão do AWS-Secure Conversation deve ser estabelecida antes de estabelecer a(s) sequência(s) WS-Reliable Messaging.

  • R2303: Se o tempo de vida da sequência WS-Reliable Messaging exceder o tempo de vida da sessão WS-Secure Conversation, o estabelecido usando WS-Secure Conversation deverá ser renovado SecurityContextToken usando a associação WS-Secure Conversation correspondente.

  • B2304:WS-A sequência de mensagens confiáveis ou um par de sequências de conversação correlacionadas estão sempre vinculados a uma única sessão WS-SecureConversation.

    A fonte WCF gera o wsse:SecurityTokenReference elemento na seção de extensibilidade do elemento da CreateSequence mensagem.

  • R2305: Quando composta com WS-Secure Conversation, uma CreateSequence mensagem deve conter o wsse:SecurityTokenReference elemento .

WS-Reliable Messaging WS-Policy Assertion

O WCF usa WS-Reliable Messaging WS-Policy Assertion wsrm:RMAssertion para descrever os recursos de endpoints. A seguir está uma lista de restrições que se aplicam ao WCF:

  • B3001: WCF anexa wsrm:RMAssertion WS-Policy Assertion a wsdl:binding elementos. O WCF suporta anexos wsdl:binding e wsdl:port elementos.

  • B3002: WCF suporta as seguintes propriedades opcionais da asserção WS-Reliable Messaging e fornece controle sobre elas no WCFReliableMessagingBindingElement:

    • wsrm:InactivityTimeout

    • wsrm:AcknowledgementInterval

    A seguir encontra-se um exemplo.

    <wsrm:RMAssertion>
      <wsrm:InactivityTimeout Milliseconds="600000" />
      <wsrm:AcknowledgementInterval Milliseconds="200" />
    </wsrm:RMAssertion>
    

Controle de fluxo WS-Reliable Messaging Extension

O WCF usa a extensibilidade WS-Reliable Messaging para fornecer controle adicional opcional mais rígido sobre o fluxo de mensagens de sequência.

O controle de fluxo é habilitado definindo a ReliableSessionBindingElement.FlowControlEnabled propriedade como true. A seguir está uma lista de restrições que se aplicam ao WCF:

  • B4001: Quando o controle de fluxo de mensagens confiável está habilitado, o WCF gera um netrm:BufferRemaining elemento na extensibilidade do elemento do SequenceAcknowledgement cabeçalho.

  • B4002: Quando o controle de fluxo de mensagens confiável está habilitado, o WCF não requer que um netrm:BufferRemaining elemento esteja presente no SequenceAcknowledgement cabeçalho, conforme mostrado no exemplo a seguir.

    <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 usa netrm:BufferRemaining para indicar quantas novas mensagens o destino de mensagens confiáveis pode armazenar em buffer.

  • B4004: O WCF Reliable Messaging Service limita o número de mensagens transmitidas quando o aplicativo de destino Reliable Messaging não pode receber mensagens rapidamente. O destino Mensagens confiáveis armazena mensagens em buffer e o valor do elemento cai para 0.

  • B4005: WCF gera netrm:BufferRemaining valores inteiros entre 0 e 4096 inclusive, e lê valores inteiros entre 0 e xs:into valor de 's maxInclusive 214748364 inclusive.

Padrões de troca de mensagens

Esta seção descreve o comportamento do WCF quando o WS-Reliable Messaging é usado para diferentes padrões de troca de mensagens. Para cada Padrão de Troca de Mensagens, os dois cenários de implantação a seguir são considerados:

  • Iniciador não endereçável: o iniciador está protegido por firewall; O Respondente pode entregar mensagens ao Iniciador somente em respostas HTTP.

  • Iniciador endereçável: tanto o iniciador quanto o respondente podem receber solicitações HTTP; em outras palavras, duas conexões HTTP inversas podem ser estabelecidas.

Iniciador unidirecional e não endereçável

Enlace

O WCF fornece um padrão de troca de mensagens unidirecional usando uma sequência em um canal HTTP. O WCF usa as solicitações HTTP para transmitir todas as mensagens do RMS para o RMD e a resposta HTTP para transmitir todas as mensagens do RMD para o RMS.

CreateSequence Exchange

O Iniciador WCF gera uma CreateSequence mensagem sem oferta. O Respondente WCF garante que o CreateSequence não tem oferta antes de criar uma sequência. O Respondente WCF responde à CreateSequence solicitação com uma CreateSequenceResponse mensagem.

SequenceAgradecimento

O Iniciador do WCF processa confirmações na resposta de todas as mensagens, exceto a mensagem e as CreateSequence mensagens de falha. O Respondente WCF sempre gera uma confirmação autônoma na resposta à sequência e AckRequested às mensagens.

Mensagem TerminateSequence

WCF trata TerminateSequence como uma operação unidirecional, o que significa que a resposta HTTP tem um corpo vazio e código de status HTTP 202.

Iniciador endereçável unidirecional

Enlace

O WCF fornece um padrão de troca de mensagens unidirecional usando uma sequência em um canal Http de entrada e de saída. WCF usa as solicitações HTTP para transmitir todas as mensagens. Todas as respostas HTTP têm um corpo vazio e um código de status HTTP 202.

CreateSequence Exchange

O Iniciador WCF gera uma CreateSequence mensagem sem oferta. O Respondente WCF garante que o não tenha nenhuma oferta antes de CreateSequence criar uma sequência. O Respondente WCF transmite a CreateSequenceResponse mensagem em uma solicitação HTTP endereçada com a referência de ReplyTo ponto de extremidade.

Duplex, iniciador endereçável

Enlace

O WCF fornece um padrão de troca de mensagens bidirecionais totalmente assíncrono usando duas sequências em um canal HTTP de entrada e de saída. WCF usa as solicitações HTTP para transmitir todas as mensagens. Todas as respostas HTTP têm um corpo vazio e um código de status HTTP 202.

CreateSequence Exchange

O Iniciador WCF gera uma CreateSequence mensagem com uma oferta. O Respondente WCF garante que o CreateSequence tenha uma oferta antes de criar uma sequência. O WCF envia a CreateSequenceResponse solicitação on HTTP endereçada CreateSequenceà referência de ponto de extremidade do .ReplyTo

Tempo de vida da sequência

O WCF trata as duas sequências como uma sessão totalmente duplex.

Ao gerar uma falha que falha uma sequência, o WCF espera que o ponto de extremidade remoto falhe ambas as sequências. Ao ler uma falha que falha uma sequência, o WCF falha ambas as sequências.

WCF pode fechar sua sequência de saída e continuar a processar mensagens em sua sequência de entrada. Por outro lado, o WCF pode processar o fechamento da sequência de entrada e continuar a enviar mensagens em sua sequência de saída.

Solicitação-resposta, iniciador não endereçável

Enlace

O WCF fornece um padrão de troca de mensagens unidirecionais e solicitação-resposta usando duas sequências em um canal HTTP. O WCF usa as solicitações HTTP para transmitir as mensagens da sequência de solicitação e usa as respostas HTTP para transmitir as mensagens da sequência de resposta.

CreateSequence Exchange

O Iniciador WCF gera uma CreateSequence mensagem com uma oferta. O Respondente WCF garante que o CreateSequence tenha uma oferta antes de criar uma sequência. O Respondente WCF responde à CreateSequence solicitação com uma CreateSequenceResponse mensagem.

Mensagem unidirecional

Para concluir um protocolo de troca de mensagens unidirecionais com êxito, o Iniciador WCF transmite uma mensagem de sequência de solicitação na solicitação HTTP e recebe uma mensagem autônoma SequenceAcknowledgement na resposta HTTP. O SequenceAcknowledgement deve reconhecer a mensagem transmitida.

O Respondente WCF pode responder à solicitação com uma confirmação, uma falha ou uma resposta com um corpo vazio e código de status HTTP 202.

Mensagens bidirecionais

Para concluir um protocolo de troca de mensagens bidirecionais com êxito, o Iniciador WCF transmite uma mensagem de sequência de solicitação na solicitação HTTP e recebe uma mensagem de sequência de resposta na resposta HTTP. A resposta deve conter uma SequenceAcknowledgement mensagem de confirmação da sequência de pedidos transmitida.

O Respondente WCF pode responder à solicitação com uma resposta de aplicativo, uma falha ou uma resposta com um corpo vazio e código de status HTTP 202.

Devido à presença de mensagens unidirecionais e ao tempo das respostas do aplicativo, o número de sequência da mensagem de sequência de solicitação e o número de sequência da mensagem de resposta não têm correlação.

Repetindo respostas

O WCF depende da correlação solicitação-resposta HTTP para correlação de protocolo de troca de mensagens bidirecional. Devido a isso, o iniciador WCF não para de tentar novamente uma mensagem de sequência de solicitação quando a mensagem de sequência de solicitação é confirmada, mas sim quando a resposta HTTP carrega uma confirmação, mensagem de usuário ou falha. O Respondente do WCF tenta novamente respostas no trecho de solicitação HTTP da solicitação à qual a resposta está correlacionada.

Troca LastMessage

O Iniciador WCF gera e transmite uma última mensagem vazia no trecho de solicitação HTTP. WCF requer uma resposta, mas ignora a mensagem de resposta real. O Respondente WCF responde à última mensagem de corpo vazio da sequência de solicitação com a última mensagem de corpo vazio da sequência de resposta.

Se o Respondente do WCF receber uma última mensagem na qual o URI da ação não http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessageé , o WCF responderá com uma última mensagem. No caso de um protocolo de troca de mensagens bidirecional, a última mensagem carrega a mensagem do aplicativo; No caso de um protocolo de troca de mensagens unidirecional, a última mensagem está vazia.

O Respondente WCF não requer uma confirmação para a última mensagem vazia da sequência de resposta.

TerminateSequence Exchange

Quando todas as solicitações tiverem recebido uma resposta válida, o Iniciador do WCF gerará e transmitirá a mensagem da sequência de TerminateSequence solicitações no trecho da solicitação HTTP. WCF requer uma resposta, mas ignora a mensagem de resposta real. O Respondente WCF responde à mensagem da sequência de TerminateSequence solicitação com a mensagem da sequência de TerminateSequence resposta.

Em uma sequência de desligamento normal, ambas as TerminateSequence mensagens carregam um alcance SequenceAcknowledgementcompleto.

Solicitação/resposta, iniciador endereçável

Enlace

O WCF fornece um padrão de troca de mensagens de solicitação-resposta usando duas sequências em um canal HTTP de entrada e de saída. WCF usa as solicitações HTTP para transmitir todas as mensagens. Todas as respostas HTTP têm um corpo vazio e um código de status HTTP 202.

CreateSequence Exchange

O Iniciador WCF gera uma CreateSequence mensagem com uma oferta. O Respondente WCF garante que o CreateSequence tenha uma oferta antes de criar uma sequência. O WCF envia a CreateSequenceResponse solicitação on HTTP endereçada CreateSequenceà referência de ponto de extremidade do .ReplyTo

Correlação Solicitação/Resposta

O Iniciador do WCF garante que todas as mensagens de solicitação de aplicativo tenham uma referência e MessageId uma referência de ReplyTo ponto de extremidade. O Iniciador WCF aplica a referência de ponto de ReplyTo extremidade da CreateSequence mensagem em cada mensagem de solicitação de aplicativo. O Respondente WCF requer que as mensagens de solicitação de entrada tenham a MessageId e a ReplyTo. O Respondente do WCF garante que o URI da referência de ponto de extremidade das mensagens CreateSequence de solicitação do aplicativo e de todas as mensagens sejam idênticas.