ID do artigo: 924638 - Última revisão: quinta-feira, 15 de novembro de 2007 - Revisão: 2.5

Mensagens podem ser suspenso quando você usa o adaptador HTTP para enviar várias mensagens para um servidor Web Apache, e a seguinte mensagem de erro pode ocorrer no BizTalk Server 2006: "A conexão subjacente estava fechada"

Download do hotfix está disponívelDownload do Hotfix Disponível
Visualizar e solicitar downloads 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 | Recolher tudo

Sintomas

Considere o seguinte cenário. No Microsoft BizTalk Server 2006, você usa o adaptador HTTP para enviar várias mensagens para um servidor Web Apache. O servidor Web Apache remoto está configurado para fechar a conexão depois que cada mensagem é recebida.

Nesse cenário, uma ou mais mensagens podem ser suspenso no BizTalk Server 2006. Além disso, você receberá uma mensagem de erro semelhante à seguinte:
Base de conexão foi fechada

Causa

Esse problema ocorre porque você não pode definir o cabeçalho HTTP KeepAlive propriedade para false quando você usa o adaptador HTTP para enviar uma mensagem.

Resolução

Informações sobre o hotfix

Um hotfix suportado está disponível no Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Se o hotfix está disponível para download, há uma seção "Download de Hotfix disponível" na parte superior neste artigo da Base de dados de Conhecimento. Se esta seção não for exibida, contate o atendimento e suporte para obter o hotfix.

Observação Se ocorrerem problemas adicionais ou se qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone de suporte e Atendimento Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Observação O formulário "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.

Pré-requisitos

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

Requisitos de reinicialização

Não é necessário reiniciar o computador após aplicar esse hotfix.

Informações sobre a substituição do hotfix

Esse hotfix não substitui outros hotfixes.

Informações sobre o arquivo

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempo
Microsoft.BizTalk.httptransport.dll3.5.1621.072,51201 De setembro de 200618: 46
Observação Devido às dependências do arquivo, o hotfix mais recente que contém esses arquivos também pode conter arquivos adicionais.

Situação

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

Como Contornar

Para contornar esse problema, enviar os dados do BizTalk Server 2006 para uma página .aspx personalizada no servidor Web Microsoft Internet Information Services (IIS) local. Na página .aspx personalizada, use a classe System.NET.HttpWebRequest para definir a propriedade KeepAlive para false quando você lança os dados para o servidor Web Apache. O exemplo de código a seguir demonstra como fazer isso.
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ções

Depois de aplicar o hotfix descrito neste artigo, use um dos seguintes métodos para definir a propriedade KeepAlive :
  • Crie um esquema de propriedade para definir a propriedade KeepAlive . Para fazer isso, execute as seguintes etapas:
    1. Crie um esquema de propriedade.
    2. Adicione uma propriedade de contexto KeepAlive .
    3. Defina o namespace do esquema para o seguinte:
      http://schemas.Microsoft.com/BizTalk/2003/HTTP-Properties
      Observação Não é recomendável que você implantar este esquema como atualizações futuras do BizTalk Server podem incluir um esquema HTTP para definir a propriedade KeepAlive .
  • Crie um pipeline de envio personalizada para definir a propriedade KeepAlive como false. No pipeline de envio personalizada, use 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 terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684  (http://support.microsoft.com/kb/824684/LN/ ) Descrição da terminologia padrão que é usada para descrever as atualizações de software
Os produtos de terceiros mencionados neste artigo são fabricados por empresas que são independentes da Microsoft. Microsoft não oferece garantia, implícita ou não, sobre o desempenho ou confiabilidade desses 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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/ )