Criação de um Web Services em.net



Documentos relacionados
Criação de um Web Services em.net

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca

Web Services Novembro de 2011

XM X L M L WE W B E B Se S r e vices e 0

Web Services na plataforma.net

Sistemas Empresariais Integrados

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0. Autor: Angelo Bestetti Junior

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Estendida (Física) Versão: 1.0. Autor: Angelo Bestetti Junior

Cálculo Remoto de Preços e Prazos de Encomendas

Nota Fiscal Paulista. Manual para Envio de Arquivo de Cupons Fiscais via Webservice GOVERNO DO ESTADO DE SÃO PAULO

Webservice LerChaveAutenticadora

Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais

LAB 18: ASP.NET e Web Services

SOAP. Web Services & SOAP. Tecnologias de Middleware 2004/2005. Simple Object Access Protocol. Simple Object Access Protocol SOAP

Conteúdo da Aula de Hoje. Web Services. Avaliação da Disciplina. O que é um web service? O que é um web service? Vantagens

Connection String usada por uma Class Library

A interface do Microsoft Visual Studio 2005

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: Serviços de Informação. Produto: CEP. Versão: 1.0. Autor: Angelo Bestetti Junior

Guia Desenvolvedor WebService SisConsulta - v2.0.5

Cálculo Remoto de Preços e Prazos de Encomendas

Forms Authentication em ASP.NET

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Consulta de endereço através do Cep

Sistemas Paralelos e Distribuídos /2004 Curso: Matemática /Informática Sistemas Distribuídos /2004 Curso: Ensino da Informática

Web Services em Java. Web Services JAX-WS. NetBeans 5.5. Criação de WS no NetBeans 5.5. Criação de WS no NetBeans 5.5

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Simplificada (Juridica) Versão: 1.0. Autor: Angelo Bestetti Junior

Projeto SNGPC para Farmácias e Drogarias

WSDL e UDDI. Pedro Miguel Martins Nunes WSDL. WSDL Exemplo prático Resumo UDDI. Serviço UDDI Estruturas de dados UDDI e WSDL API Resumo

BC CORREIO SISTEMA DE CORREIO ELETRÔNICO DO BANCO CENTRAL DO BRASIL. Manual do Web Service

Criação de uma aplicação Web ASP.NET MVC usando Code First

Guia e Utilização do Visual Studio 6.0

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Extracto on Line Aplicação Local Guia do Administrador

APLICAÇÕES E SERVIÇOS WEB

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos

Manual de Administração Intranet BNI

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

UNIVERSIDADE. Sistemas Distribuídos

Tarefa Orientada 2 Visual Studio 2005 e Visual C#

Laboratório de Programação I

6127. Redes comunicação de dados. 2014/2015. Acesso à Internet.

Licenciatura em Engenharia Informática Exame de Ambientes de Desenvolvimento 9.Fevereiro.2005

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

Descrição de um problema de integração: Sistema de vendas online

EAI Manual do Administrador

1 Code::Blocks Criação de projetos


tecnologias web e gestão de identidade

Tutorial exe elearning XHTML editor (versão 1.0x)

Prática em Laboratório N.01 Criando um Serviço Web via Console

Manual de Integração WebService

Sistemas Distribuídos

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

UFG - Instituto de Informática

Minicurso Web Services com PHP

Web Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004

Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.

Ajax Asynchronous JavaScript and Xml

Java. Marcio de Carvalho Victorino

Software Adobe DreamWeaver. Requisitos para criar aplicações Web

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Vodafone Conferencing Como criar uma reunião

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

O AMBIENTE DE TRABALHO DO WINDOWS

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Departamento de Engenharia Electrotécnica e de Computadores Instituto Superior Técnico Universidade Técnica de Lisboa.

Sistemas distribuídos. Prof. Emiliano Monteiro

Introdução ao ASP.NET

Módulo 3936 ASP.NET. Financiado pelo FSE

ASP.NET Gerando relatórios com o ReportViewer

Programação para Internet I. 2. O protocolo HTTP. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Manual técnico. v /10

Solutions for Information Technologies. BIS-Navegador. Manual de Instalação para Microsoft SQL Server

Trabalho Prático Nº1 Introdução ao C#.NET

Passo a Passo. WebSphere Message Broker. Fluxo como WebService

Gerador de Web Services para cadeias de tranformações de documentos XML

Manual de Implantação do WebService de Aposentadoria, Pensão e Retificações.

Ferramentas Web, Web 2.0 e Software Livre em EVT

Grupo I [6,6v] Responda com os valores que se observam depois da chamada acontecer. 1 Falta na mensagem de resposta. Valor retornado na chamada

ZS Rest. Manual Profissional. Instalação do Software. v2011

Universidade da Beira Interior. Sistemas Distribuídos /2015 Curso: Engª Informática. Folha 11. JAX-RS: Java API for RESTful Web Services

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI

Criação de Filmes em Windows Movie Maker Nível B3

Engenharia de Software Sistemas Distribuídos

Direct100 API Manual de utilização da API Direct100

Criar uma aplicação JPA2 com EclipseLink e H2

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments

Criação de Páginas Web - MS Word 2000

Engenharia de Software. Enunciado da Primeira Parte do Projecto

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

ANEXO V Edital nº 03508/2008

Transcrição:

Web Service em.net 1 Criação de um Web Services em.net 1. Criar um novo projecto do tipo ASP.NET Web Service, de acordo com a figura seguinte. O.Net cria um directório virtual com os ficheiros indicados É no ficheiro.asmx.cs que será implementado o código do serviço. 2. Visualizar o código do ficheiro Service1.asmx.cs O.net cria um namespace DatasService e uma classe Service1 que implementa a classe System.Web.Services.WebService

Web Service em.net 2 namespace DatasService public class Service1 : System.Web.Services.WebService public Service1() InitializeComponent(); 3. Alterar o nome do ficheiro Service1.asmx para DemoServices.asmx usando o rename no Solution Explorer e alterar o nome da classe para DemoService namespace DatasService public class DemoService : System.Web.Services.WebService public DemoService() InitializeComponent(); O ficheiro.asmx tem a directiva WebService e contém uma referência para a classe que implementa o serviço <%@ WebService Language="c#" Codebehind="DemoService.asmx.cs" Class="DatasService.DemoService" %> 4. Criar na classe um método CalculaDias que recebe uma data e devolve um long com o número de dias que passaram até ao dia de hoje. [WebMethod] public long CalculaDias(DateTime dt) System.TimeSpan diff=datetime.now.subtract(dt); long dias=(long) diff.totaldays; return dias; Este método deve ter o atributo [WebMethod] para ser reconhecido como um método do serviço Web e poder ser chamado por outra aplicação. 5. Utilizar o atributo [WebService] na classe que implementa o serviço, para alterar o namespace da classe que por omissão é http://tempuri.org/ O código completo do serviço deve ser o seguinte: namespace DatasService [WebService(Namespace="dei.isep.demoservice")] public class DemoService : System.Web.Services.WebService public DemoService()

Web Service em.net 3 InitializeComponent(); [WebMethod] public long DiasdeVida(DateTime dt) System.TimeSpan diff=datetime.now.subtract(dt); long dias=(long) diff.totaldays; return dias; 6. Compilar o código como resultado da compilação o.net cria um assembly no directório bin do projecto DataService.dll 7. Testar o serviço implementado O.Net permite testar o serviço fazendo View in Browser no Solution Explorer ou usando no Internet Explorer o url: http://localhost/datasservice/demoservice.asmx A página seguinte é apresentada: Esta página é criada pela framework.net e permite testar o serviço implementado. Se seguir o link CalculaDias será apresentada a página seguinte:

Web Service em.net 4 Se introduzir na caixa de texto uma data válida (ano/mês/dia) o serviço retornará um longo resultado da chamada do método.

Web Service em.net 5 Criação de uma aplicação cliente do serviço 1. Criar um novo projecto do tipo ASP.NET Web Application, de acordo com a figura seguinte, com o nome ClienteDatas. 2. Criar uma página aspx muito simples, tendo como objectivo invocar o serviço criado anteriormente Crie os controlos de acordo com a figura seguinte:

Web Service em.net 6 3. Ligação ao Web Service Para invocar o serviço é necessário acrescentar uma Web Reference ao projecto, utilizando no item References do Solution Explorer a opção Add Web references Usando a opção Web Services on the local machine seleccione o Web Service anteriormente implementado e carregue no botão Add Reference. O.Net acrescenta ao projecto um directório Web References que contém um ficheiro DemoService.wsdl que descreve o serviço.

Web Service em.net 7 Implemente o seguinte código no evento click do botão CalculaDias private void Button1_Click(object sender, System.EventArgs e) localhost.demoservice ws=new ClienteDatas.localhost.DemoService(); DateTime dt=new DateTime(2004,1,1); long dias=ws.calculadias(dt); Label3.Text=dias.ToString(); Label3.Visible=true; Faça Build do projecto e em seguida View in Browser e deverá ter como resultado a seguinte página:

Web Service em.net 8 Framework.Net para Web Service A figura seguinte mostra o conjunto de eventos que acontecem quando é chamado um método de um serviço Web. Anatomy of an XML Web Service Lifetime -.NET Framework Developer's Guide 1. O cliente cria uma nova instância da classe proxy do serviço web. localhost.demoservice ws=new ClienteDatas.localhost.DemoService(); A classe proxy é criada pela platafoma.net através da descrição do serviço no ficheiro.wsdl. Esta classe está no ficheiro Reference.cs no directório Web References Extracto do Reference.cs [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="DemoServiceSoap ", Namespace="dei.isep.demoservice")] public class DemoService : System.Web.Services.Protocols.SoapHttpClientProtocol public DemoService() this.url = "http://localhost/datasservice/demoservice.asmx"; public long CalculaDias(System.DateTime dt) object[] results = this.invoke("calculadias", new object[] dt); return ((long)(results[0]));

Web Service em.net 9 2. O cliente invoca um método da classe proxy long dias=ws.calculadias(dt); 3. A plataforma no cliente formata (serialize) os argumentos do método numa mensagem SOAP e envia a mensagem através da rede usando o protocolo HTTP para o computador onde reside o serviço Web. Exemplo de uma mensagem SOAP: POST /DatasService/DemoService.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "dei.isep.demoservice/calculadias" <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <CalculaDias xmlns="dei.isep.demoservice"> <dt>o valor do argumento</dt> </CalculaDias> </soap:body> </soap:envelope> O mapeamento é realizado usando o nome do método como elemento no XML - <CalculaDias> - e como sub-elementos os argumentos do método -<dt> Existem vários atributos para alterar o modo como este mapeamento é realizado 4. O serviço Web recebe a mensagem SOAP e deserialize o XML recebido. Cria uma instância da classe que implementa o serviço e invoca o método do serviço. 5. O serviço executa o código e serialize o resultado enviando uma mensagem de resposta para o cliente. HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?>

Web Service em.net 10 <soap:envelope xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body> <CalculaDiasResponse xmlns="dei.isep.demoservice"> <CalculaDiasResult>o valor do resultado</calculadiasresult> </CalculaDiasResponse> </soap:body> </soap:envelope> O mapeamento da resposta é realizado acrescentando ao nome do método a palavra Response - <CalculaDiasResponse>