Artigo: 892951 - Última revisão: quarta-feira, 18 de Abril de 2007 - Revisão: 2.1

Quando a propriedade Response.Charset é definida como NULL numa página Web do ASP.NET, o código de origem da página Web é devolvido em vez do corpo do conteúdo da resposta se tentar abrir um formulário no Office InfoPath

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

Visita uma página Microsoft ASP.NET Web que contém a propriedade Response.Charset definida como NULL. Quando tenta abrir um formulário no Microsoft Office InfoPath 2007 ou no Microsoft Office InfoPath 2003 a partir da página Web, receberá uma mensagem de erro semelhante à seguinte:
O InfoPath não consegue abrir o ficheiro seguinte: YourWebForm.aspx.
O ficheiro não é um ficheiro XML válido.
Quando clicar em Mostrar detalhes , recebe uma mensagem de erro semelhante à seguinte:
O formulário contém XML não pode ser analisada:
Um nome foi iniciado com um carácter inválido.

Linha 1, posição 2
<% @ Idioma página = "c#" Codebehind = "AutoEventWireup YourWebForm1.aspx.cs "="false"inherits =" YourWebApp. YourWebForm "% >
-^
Nota Esta mensagem de erro, YourWebForm.aspx é o nome do formulário Web que está a tentar abrir. YourWebApp é o nome da aplicação Web do ASP.NET.

Nota Na caixa Mostrar detalhes , repare que é o código de origem da página Web do ASP.NET.

Causa

Este problema ocorre quando leu e escrever as permissões no ficheiro no computador que está a executar a aplicação Web do ASP.NET. Normalmente, este problema ocorre quando tem direitos de administrador ou se for membro do grupo VS programadores no computador que está a executar a aplicação Web do ASP.NET. Quando tenta abrir o formulário no InfoPath, o código de origem real da página Web do ASP.NET é devolvido.

Nota Apenas os utilizadores que estiverem a desenvolver a aplicação irão detectar este comportamento. Os utilizadores que não estiverem a desenvolver a aplicação e apenas estão a abrir a página .aspx não irão detectar este comportamento.

Como contornar

Para contornar este problema e para carregar correctamente o formulário do InfoPath, deve aceder a aplicação Web ASP.NET utilizando uma conta que não tenha leitura e escrita permissões sobre a página Web do ASP.NET.

Ponto Da Situação

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

Mais Informação

Passos para reproduzir o problema

  1. Inicie o Microsoft Visual Studio .NET 2003.
  2. No menu ficheiro , clique em Novo , clique em Visual C# Projects e, em seguida, clique em ASP.NET Web Application .
  3. Na caixa localização , escreva InfoPathTest e, em seguida, clique em OK .
  4. No painel Solution Explorer , clique com o botão direito do rato em WebForm1.aspx e, em seguida, clique em Ver código .
  5. Adicione o seguinte código Visual C# para o método Page_load :
    Response.Charset = "";
    Response.ContentType = "text/xml";
    Response.Write("<?xml version=\"1.0\" encoding=\"UTF-8\"?><?mso-infoPathSolution solutionVersion=\"1.0.0.1\" href=\"<path to Manifest.xsf or to a .xsn file>\"  PIVersion=\"1.0.0.0\" productVersion=\"11.0.5120\" ?><?mso-application progid=\"InfoPath.Document\"?><my:myFields xmlns:my=\"http://schemas.microsoft.com/office/infopath/2003/myXSD/2003-03-25T19:43:06\" xml:lang=\"en-us\"><my:field1>some text</my:field1></my:myFields>");
    
  6. No menu Debug , clique em Iniciar .
  7. Quando clica em Abrir , receberá a mensagem de erro mencionada na secção "Sintomas".

A informação contida neste artigo aplica-se a:
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003
  • Microsoft Office InfoPath 2003, Service Pack 1 (SP1)
Palavras-chave: 
kbmt kberrmsg kbaspnet kbbug kbnofix kbtshoot kbprb KB892951 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: 892951  (http://support.microsoft.com/kb/892951/en-us/ )