Artigo .net Magazine 62 - XML e Web Services

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

Saiba como passar parâmetros no formato XML para um Web Service.

Esse artigo faz parte da revista .NET Magazine edição 62. Clique aqui para ler todos os artigos desta edição

 

 

 

XML e Web Services

Passagem de parâmetros no formato XML para um Web Service

 

A linguagem XML – abreviatura para eXtensible Markup Language ou Linguagem de Marcação Extensível – é uma linguagem definida principalmente para carregar dados e facilitar a compreensão do seu significado. É bastante semelhante ao HTML, pois assim como este, é composto por TAGS, mas apresenta um diferencial onde essas TAGS  não são previamente definidas sendo possível que o usuário crie suas próprias.

A XML foi desenvolvido para ser auto-descritiva, ou seja, ao olharmos para um documento destes o seu significado é facilmente compreendido, embora seja possível criar documentos extremamente complexos. Na Listagem 1 temos um exemplo de um documento simples que é um registro de dados cadastrais de uma pessoa.

 

Listagem 1. Exemplo de documento XML

    1   <?xml version="1.0" encoding="iso-8859-1"?>

    2 <empresa>

    3   <cnpj>00.000.000/0000-00</cnpj>

    4   <inscricao>000.000000</inscricao>

    5   <RazaoSocial>R.V. Atacadista Ltda</RazaoSocial>

    6   <fundacao>01/02/1986</fundacao>

    7   <faturamento>1000000,00</faturamento>

    8   <telefone>99-9999-9999</telefone>

    9   <email>rvatacadista@rvatac.com</email>

   10 </empresa>

 

Olhando rapidamente é fácil entender o significado dos dados e como estão estruturados. Note que a XML não executa nenhuma ação sendo usado apenas para estruturar, armazenar e eventualmente transportar dados.

Podem-se escrever aplicações especiais que ao ler os arquivos XML dêem algum significado especial para os dados armazenados entre as TAGS. Um exemplo dentro do nosso contexto é o arquivo WEB.CONFIG usado tanto por aplicações Web Services como ASP.NET. Na Listagem 2 temos um exemplo de um arquivo WEB.CONFIG.

 

Listagem 2. Arquivo Web.Config

    1 <?xml version="1.0"?>

    

    3 <configuration>

    4 

    5     <appSettings/>

    6     <connectionStrings/>

    7 

    8     <system.web>

    9         <!--

   10             Set compilation debug="true" to insert debugging

   11             symbols into the compiled page. Because this

   12             affects performance, set this value to true only

   13             during development.

   14         -->

   15         <compilation debug="true" />

   16         <!--

   17             The <authentication> section enables configuration

   18             of the security authentication mode used by

   19             ASP.NET to identify an incoming user.

   20         -->

   21         <authentication mode="Windows" />

   22         <!--

   23             The <customErrors> section enables configuration

   24             of what to do if/when an unhandled error occurs

   25             during the execution of a request. Specifically,

   26             it enables developers to configure html error pages

   27             to be displayed in place of a error stack trace.

   28 

   29         <customErrors mode="RemoteOnly"  defaultRedirect="GenericErrorPage.htm">

   30             <error statusCode="403" redirect="NoAccess.htm" />

   31             <error statusCode="404" redirect="FileNotFound.htm" />

   32         </customErrors>

   33         -->

   34     </system.web>

   35 </configuration>

 

Cada TAG existente no arquivo da Listagem 2 representa uma configuração a ser aplicada em Web Service ou site ASP.NET. Não entrarei em detalhes do que cada configuração faz porque foge do escopo do artigo.

 

Estrutura do documento XML

Não existe nenhuma TAG XML pré-definida. Você pode criar suas próprias livremente, porém é necessário obedecer-se a algumas regras. Os documentos XML são compostos por uma estrutura em forma de árvore, sendo possíveis várias ramificações até se chegar ao nó final. Considere novamente a Listagem 1.

A primeira linha é a declaração padrão do XML. Define sua versão, 1.0 e a codificação usada para o texto. A próxima linha define o elemento raiz do documento, que conterá as informações e no nosso caso é algo como se dissesse que este documento contém dados de empresa:

 

<empresa>

 

As próximas linhas armazenam os dados do elemento raiz:

 

  <cnpj>00.000.000/0000-00</cnpj>

  <inscricao>000.000000</inscricao>

  <RazaoSocial>R.V. Atacadista Ltda</RazaoSocial>

  <fundacao>01/02/1986</fundacao>

  <faturamento>1000000,00</faturamento>

  <telefone>99-9999-9999</telefone>

  <email>rvatacadista@rvatac.com</email>

 

E finalmente temos a TAG que encerra o elemento raiz:

 

</empresa>

 

Um documento XML pode possuir múltiplos níveis formando um documento mais ou menos complexo. Cada TAG pode ter um conjunto de TAGS aninhadas e pode conter atributos também. Vamos considerar o exemplo da Listagem 3.

 

Listagem 3. Documento XML com nós aninhados

    1 <?xml version="1.0" encoding="utf-8"?>

    2 <discoteca>

    3   <cd Titulo="Música Brasileira">

    4     <musicas>

    5       <titulo>Aquarela Brasileira</titulo>

    6       <autor>Ary Barroso</autor>

    7     </musicas>

    8     <musicas>

    9       <titulo>Garota de Ipanema</titulo>

   10       <autor>Tom Jobim</autor>

   11     </musicas>

   12     <musicas>

   13       <titulo>Felicidade</titulo>

   14       <autor>Lupicínio Rodrigues</autor>

   15     </musicas>

   16   </cd>

   17   <cd Titulo="The Beatles Revisited">

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?