Artigo: 826996 - Última revisão: terça-feira, 30 de Janeiro de 2007 - Revisão: 3.3

Como associar um controlo de caixa de rich text a um elemento que é devolvido a partir de um serviço Web no InfoPath e Visual Studio .NET 2003

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

Sumário

Este artigo descreve como associar um controlo de caixa de rich text num formulário do Microsoft Office InfoPath 2007 ou num formulário do Microsoft Office InfoPath 2003 a um elemento XML que é devolvido a partir de um serviço Web.

Para um controlo de caixa de rich text ligar a um elemento XML que é devolvido a partir de um serviço Web, o controlo de caixa de rich text tem de conter conteúdo XHTML. O elemento tem de ter o seguinte esquema XML:
	<xsd:element name="[elementname]">
	  <xsd:complexType mixed="true">
	    <xsd:sequence>
	      <xsd:any namespace="http://www.w3.org/1999/xhtml" processContents="lax"
		minOccurs="0" maxOccurs="unbounded"/>
	    </xsd:sequence>
	  </xsd:complexType>
	</xsd:element>
o <elementname> é o nome do elemento XML que é devolvido do serviço Web.

O InfoPath pode detectar automaticamente se um elemento é um elemento XHTML consultando o elemento para um valor de exemplo, quando o InfoPath liga à origem de dados serviço Web pela primeira vez. Este artigo descreve como criar um serviço Web que devolve XHTML válido. Este artigo também descreve como apresentar o XHTML é devolvido do serviço Web num controlo de caixa de rich text no formulário do InfoPath.

Criar o serviço da Web

  1. Inicie o Microsoft Visual Studio NET..
  2. No menu ficheiro , clique em Novo e, em seguida, clique em projecto .
  3. Na lista de Tipos de projecto , clique em Visual C# Projects . Na lista modelos , clique em Serviço Web do ASP.NET .
  4. Na caixa localização , escreva <server> http:// <servidor>/RichTextService onde <SERVER> é o nome do servidor Web e, em seguida, clique em OK .
  5. Clique com o botão direito do rato Service1.asmx e, em seguida, clique em Código .
  6. Adicione o método de serviço Web que se segue à classe Service1 :
    	[WebMethod]
    	public System.Xml.XmlNode GetXHTMLRichText()
    	{
             //Create a temporary XmlDocument object to generate nodes.
             System.Xml.XmlDocument tempDocument = new System.Xml.XmlDocument();
    	   
             //Create a wrapper node for the data.  This is necessary so InfoPath 
             //correctly detects the XHTML content
             System.Xml.XmlElement theNode = (System.Xml.XmlElement)tempDocument.CreateNode(
                System.Xml.XmlNodeType.Element, "theNode", "http://somearbitrarynamespace/" );
             
             //Create a "font" element in the xhtml namespace.
             System.Xml.XmlElement theFontNode = (System.Xml.XmlElement)tempDocument.CreateNode( 
                System.Xml.XmlNodeType.Element, "font", "http://www.w3.org/1999/xhtml" );
             theFontNode.InnerText= "Red Text";
    	  
             //Add a color attribute.
             System.Xml.XmlAttribute colorAttribute = tempDocument.CreateAttribute( 
                "color" );
             colorAttribute.Value = "#ff0000";
             theFontNode.Attributes.Append( colorAttribute );
    	  
             //Append the font node to the wrapper node
             theNode.AppendChild( theFontNode );
    
             //Return the wrapper element.
             return theNode;
    	}
  7. No menu criar , clique em Criar soluções .
  8. Saída Visual Studio .NET.

Criar formulário do InfoPath

No InfoPath 2003

  1. Inicie o InfoPath 2003.
  2. No menu ficheiro , clique em Estruturar um formulário .
  3. Na estrutura um painel de tarefas do formulário, clique em Novo a partir de ligação de dados... .

    Os Dados origem programa de configuração do assistente é iniciado.
  4. A origem de dados de configuração da seguinte forma:
    1. Clique em Serviço Web para a origem de dados e, em seguida, clique em seguinte .
    2. Clique em receber dados e, em seguida, clique em seguinte .
    3. Escreva <server> http:// <servidor> /RichTextService/Service1.asmx para a localização da Web do serviço e, em seguida, clique em seguinte .
    4. Na lista Seleccionar uma operação , clique em GetXHTMLRichText e, em seguida, clique em seguinte .
    5. Clique em Concluir .
  5. Mude para o painel de tarefas origem de dados e, em seguida, expanda o grupo ' dataFields ' .
  6. Expanda o grupo GetXHTMLRichTextResponse e mova o elemento GetXHTMLRichTextResult ao formulário.

    O InfoPath adiciona uma caixa de rich text controlo para a vista.

No InfoPath 2007

  1. Inicie o InfoPath 2007.
  2. No painel esquerdo da caixa de diálogo Introdução , clique em estrutura de um modelo de formulário .
    Na estrutura uma janela modelo de formulário, clique em branco e, em seguida, clique em OK .
  3. No menu Ferramentas , clique em Ligações de dados .
  4. Na janela ligações de dados, clique em Adicionar .

    Os Dados origem programa de configuração do assistente é iniciado.
  5. Configurar a origem de dados da seguinte forma:
    1. Clique para seleccionar a criar uma nova ligação , clique para seleccionar receber dados e, em seguida, clique em seguinte .
    2. Clique para seleccionar Serviço Web para a origem de dados e, em seguida, clique em seguinte .
    3. Escreva <server> http:// <servidor> /RichTextService/Service1.asmx para a localização da Web do serviço e, em seguida, clique em seguinte .
    4. Na lista Seleccionar uma operação , clique em GetXHTMLRichText e, em seguida, clique em seguinte .
    5. Clique em Concluir .
  6. Mude para o painel de tarefas origem de dados e, em seguida, expanda o grupo ' dataFields ' .
  7. Expanda o grupo GetXHTMLRichTextResponse e mova o elemento GetXHTMLRichTextResult ao formulário.

    O InfoPath adiciona uma caixa de rich text controlo para a vista.

Experimente-

  1. Na lista pendente do painel de tarefas, clique em vistas .
  2. Na lista vistas , clique em consulta . Clique com o botão direito do rato na consulta e clique em Predefinir .
  3. No menu ficheiro , aponte para Pré-visualizar formulário e, em seguida, clique em predefinição .
  4. Clique em executa consulta .
  5. No menu Ver , clique em Introdução de dados .

    Repare o valor do controlo de caixa de rich text no formulário. O valor devolvido pelo serviço da Web for Texto vermelho e o valor é formatado vermelho.

A informação contida neste artigo aplica-se a:
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003, Service Pack 1 (SP1)
  • Microsoft Office InfoPath 2003
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
Palavras-chave: 
kbmt kbhowtomaster kbwebservices kbhowto KB826996 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: 826996  (http://support.microsoft.com/kb/826996/en-us/ )