Artigo: 924638 - Última revisão: quinta-feira, 15 de Novembro de 2007 - Revisão: 2.5

As mensagens podem ser suspenso quando utiliza a placa HTTP para enviar múltiplas mensagens para um servidor Web Apache e a seguinte mensagem de erro pode ocorrer no BizTalk Server 2006: "Subjacentes a ligação foi fechada"

Está disponível transferência de hotfixDisponível transferência de hotfix
Ver e solicitar transferências de hotfix
Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Considere o seguinte cenário. No Microsoft BizTalk Server 2006, utilize a placa HTTP para enviar múltiplas mensagens para um servidor Web Apache remoto. O servidor Web Apache remoto está configurado para fechar a ligação depois de cada mensagem é recebida.

Neste cenário, uma ou mais mensagens podem ser suspenso no BizTalk Server 2006. Além disso, poderá receber uma mensagem de erro semelhante à seguinte:
Ligação subjacente foi fechada

Causa

Este problema ocorre porque não pode definir o cabeçalho HTTP KeepAlive propriedade como false quando utiliza a placa HTTP para enviar uma mensagem.

Resolução

Informações sobre a correcção

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentado, contacte o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Não pré-requisitos são necessários.

Requisito de reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras correcções.

Informações do ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item data e hora no painel de controlo.
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempo
Microsoft.BizTalk.httptransport.dll3.5.1621.072,51201-Set-200618: 46
Nota Devido a dependências de ficheiros, a correcção mais recente que contenha estes ficheiros também poderão conter ficheiros adicionais.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Como contornar

Para contornar este problema, regista os dados a partir do BizTalk Server 2006 a uma página .aspx personalizada no servidor Web dos serviços de informação Internet (IIS) da Microsoft local. Na página .aspx personalizada, utilize a classe System.Net.HttpWebRequest para definir a propriedade KeepAlive como false quando regista os dados para o servidor Web Apache. O exemplo de código seguinte demonstra como efectuar este procedimento.
HttpWebRequest HttpWRequest = 
(HttpWebRequest)WebRequest.Create("<http://ApacheServer/WritePostedDocument.asp>");


HttpWRequest.Method = "POST";
HttpWRequest.ContentType = "application/x-www-form-urlencoded";
HttpWRequest.KeepAlive =false;
byte[] PostData = Request.BinaryRead(Request.TotalBytes);
HttpWRequest.ContentLength = PostData.Length;
Stream tempStream = HttpWRequest.GetRequestStream();
tempStream.Write(PostData,0,PostData.Length);
tempStream.Close();
HttpWebResponse HttpWResponse;
HttpWResponse = (HttpWebResponse)HttpWRequest.GetResponse();
Response.Write (HttpWResponse.StatusCode);
HttpWResponse.Close();
}

Mais Informação

Depois de aplicar a correcção descrita neste artigo, utilize um dos seguintes métodos para definir a propriedade KeepAlive :
  • Crie um esquema de propriedades para definir a propriedade KeepAlive . Para o fazer, siga estes passos:
    1. Crie um esquema de propriedade.
    2. Adicione uma propriedade de contexto de KeepAlive .
    3. Defina o espaço de nomes do esquema para o seguinte:
      http://schemas.Microsoft.com/BizTalk/2003/http-Properties
      Nota Não recomendamos que implemente este esquema porque futuras actualizações do BizTalk Server podem incluir um esquema HTTP para definir a propriedade KeepAlive .
  • Crie uma tubagem de envio personalizadas para definir a propriedade KeepAlive como false. No pipeline enviar personalizado, utilize o seguinte exemplo de código no método IComponent.Execute :
    public Microsoft.BizTalk.Message.Interop.IBaseMessage Execute(Microsoft.BizTalk.Component.Interop.IPipelineContext pc, Microsoft.BizTalk.Message.Interop.IBaseMessage inmsg)
            {
                 inmsg.Context.Write("KeepAlive","http://schemas.microsoft.com/BizTalk/2003/http-properties", false);
                return inmsg;
            }

Referências

Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/LN/ ) Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft
Os produtos de outros fabricantes explicado neste artigo são fabricados por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, expressa ou implícita, sobre o desempenho ou fiabilidade destes produtos.

A informação contida neste artigo aplica-se a:
  • Microsoft BizTalk Server 2006 Standard Edition
  • Microsoft BizTalk Server 2006 Enterprise Edition
  • Microsoft BizTalk Server 2006 Developer Edition
Palavras-chave: 
kbmt kbautohotfix kbbtsadapters kbbiztalk2006presp1fix kbbtsadapters kbbts kbbug kbfix kbpubtypekc kbhotfixserver kbqfe KB924638 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 924638  (http://support.microsoft.com/kb/924638/en-us/ )