Desenvolvimento - Web Services

Desenvolvendo um Web Service com XML (parte 1)

Os Serviços Web usam SOAP (Simple Object Access Protocol) como protocolo de troca de mensagens...

por Marcus Garcia



Os Serviços Web usam SOAP (Simple Object Access Protocol) como protocolo para troca de mensagens. É uma linguagem XML relativamente simples que descreve os dados a serem transmitidos. Mas por que usar XML? XML é uma linguagem padrão voltada à compreensão humana e estruturada de tal forma que pode ser interpretada de forma programática. Vamos imaginar a reprodução de um banco de dados no cachê, se utilizarmos XML conseguimos diminuir a carga no servidor de banco de dados.

Namespace System.web.services

É o namespace de que derivam as classes do serviço Web. Ele é composto de todo as classes necessárias à criação dos serviços Web no .NET Framework

As principais classes filho

System.web.services.description

System.web.services.description contém as classes necessarias à descrição de um serviço Web usando a SDL (Service Definition Language) Microsoft. O Visual Studio.net utiliza esta classe para criar o arquivo .disco ou .vsdisco. Ela usa como parâmetro um arquivo XML e possibilita a criação de um arquivo WSDL válido

ServiceDescription MyDescription = new ServiceDescription();

ServiceDescription MyDescription = ServiceDescription.Read ("MyTestFile.xml")

System.web.services.discovery

System.web.services.discovery é composto pelas classes que permitem aos clientes do serviço web localizar os serviços Web disponíveis . No Visual Studio.NET, quando se cria uma referência Web, essas classes encontram os arquivos .vsdisco que descreve o serviço Web.

Disco file from ou Hello World example :
<?xml version="1.0"encoding="utf-8"?>

<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		
		xmlns:xsd="http://www.w3.org/2001/XMLSchema"

		xmlns ="http://schemas.xmlsoap.org/disco/">

<contractRef
	
	Ref="http://localhost/webapplication_helloworld/hello.asmx?wsdl"

	docRef="="http://localhost/webapplication_helloworld/hello.asmx"

	xmlns ="http://schemas.xmlsoap.org/disco/scl/"  />

</discovery>

System.web.services.protocols

System.web.services.protocols é composto pelas usadas na definição dos protocolos que permitem a transmissão das mesagens pelo http entre os serviços Web Asp.net e clientes do serviço Web Asp.NET. Essas classes são usadas em nossas classaes proxy WSDL.

[system.web.services.protocols.soapDocumentMethodAttribute("http://tem

puri.org/helloworld"  

use=system.web.services.description.soapBindinguse.literal , 

parameterStyle= 

system.web.services.protocols.soapParametersStyle.Wrapped)

Na próxima parte vamos ver o Marshalling de tipo, o uso de Datasets e muito mais.

Marcus Garcia

Marcus Garcia - Foi Microsoft MVP entre 2004 a 2009, faz gestão de Desenvolvimento de Software na Submarino (Grupo B2W), é autor de inúmeros artigos técnicos e livros, além de ter proferido treinamentos e palestras por todo o Brasil. Atualmente, um dos sócios do Centro de Treinamentos Profissionais Actiongroup (www.actiongroup.com.br) . Pode ser encontrado pelo e-mail marcus.garcia@actiongroup.com.br ou pode ser seguido pelo @marcusgarcia