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

Falha do objecto ServerXMLHTTP quando URL contém mais do que dois espaços

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

Se um URL contém mais do que dois espaços, o objecto ServerXMLHTTP poderá falhar com a seguinte mensagem de erro:
Run-time error '-2147012891 (80072ee5)' O URL é inválido

Resoluçã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.A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. 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 na ferramenta Data e hora no painel de controlo.
   Date        Version       Size       File Name     Platform
   -----------------------------------------------------------
   4-May-2002  8.20.9703.0   1,120,768  Msxml3.dll    x86
				

Como contornar

Para contornar este problema, substitua cada espaço no URL com o carácter de escape de URL padrão (20 %).

Ponto Da Situação

A Microsoft confirmou que este erro ocorre nos produtos da Microsoft listados no início deste artigo.

Mais Informação

Passos para reproduzir o comportamento

  1. Cole o seguinte código num ficheiro de texto e, em seguida, guarde o ficheiro como C:\Inetpub\wwwroot\Test.asp:
    <%
    Response.write Request.Querystring("data")
    Response.end
    %>
    					
  2. No Microsoft Visual Basic 6.0, crie um novo projecto EXE padrão. Por predefinição, o Form1 é adicionada ao projecto.
  3. Cole o seguinte código no evento carregar do formulário:
    Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
    
    ' Line 1
    xmlhttp.Open "GET", "http://localhost/test.asp?data=select * from customers", False
    
    ' Line 2
    'xmlhttp.Open "GET", "http://localhost/test.asp?data=select%20*%20from%20customers", False
    
    xmlhttp.setRequestHeader "Content-type", "text/xml" '"application/xml"
    xmlhttp.send
    MsgBox xmlhttp.responsetext
    Debug.Print xmlhttp.responsetext
    MsgBox "Completed HTTP GET using ServerXMLHTTP Object"
    					
  4. Execute o projecto. Repare que é apresentada a mensagem de erro listada na secção "Sintomas" deste artigo.
  5. Pare o projecto.
  6. Comentário de linha após a linha 1 e uncomment, em seguida, a linha após a linha 2.
  7. Execute o projecto. Note que uma caixa de mensagem apresenta "Concluído HTTP GET using objecto ServerXMLHTTP." Repare que o URL utiliza o carácter de escape URL (% 20) em vez dos espaços.

A informação contida neste artigo aplica-se a:
  • Microsoft XML Parser 3.0 Service Pack 2
Palavras-chave: 
kbmt kbautohotfix kbhotfixserver kbqfe kbbug kbfix kbqfe KB312989 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: 312989  (http://support.microsoft.com/kb/312989/en-us/ )