You are on page 1of 14

Criando e consumindo Web Service em C-Sharp

Em mais um artigo, vou explicar como criar nosso primeiro Web service e ainda consumilo tanto em uma aplicao Windows Form quanto em um Web Form. Como primeira parte dessa publicao iremos criar nosso Web service. Mais o que vem a ser o Web service? Web service uma soluo utilizada na integrao de sistemas e na comunicao entre aplicaes diferentes. Com esta tecnologia possvel que novas aplicaes possam interagir com aquelas que j existem e que sistemas desenvolvidos em plataformas diferentes sejam compatveis. Os Web services so componentes que permitem s aplicaes enviar e receber dados em formato XML. Cada aplicao pode ter a sua prpria linguagem, que traduzida para uma linguagem universal, o formato XML. (fonte: Wikipdia) Um Web service nada mais que uma Classe seja ela em C-Sharp quanto VB.NET. Essa classe ou Web service pode ser consumido por uma aplicao Web Form, Windows Form ou at mesmo outros Web service e detalhe, independente da linguagem que eles foram criados. Suponhamos que voc tenha criado um Web service em VB.NET com todas as regras de negocio da sua empresa onde suas aplicaes Web Form ir consumi-lo, e se futuramente voc pretende disponibiliza-lo para parceiros ou clientes isso no ser problema, mesmo que seus parceiros possuam aplicaes em C-Sharp, Java, Delphi ou qualquer outra linguagem que venha a surgir e tenha a capacidade de consumir um Web Service. Ento agora vamos ao que interessa. 1- Abra o Visual Studio. 2- Crie um novo ASP.NET Web Service em File > New > Web Site

Seu cdigo inicialmente ser igual ao cdigo abaixo. view source

print?
01 using System; 02 using System.Web;

03 using System.Web.Services; 04 using System.Web.Services.Protocols;

05 06 [WebService(Namespace = "http://tempuri.org/")]

07 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 08 public class Service : System.Web.Services.WebService

09 { 10 public Service()

11 12

{ //Uncomment the following line if using designed components

13 14 }

//InitializeComponent();

15 16 [WebMethod]

17 18

public string HelloWorld() {

19 20 }

return "Hello World";

21 }

Iremos criar um WebMetodo que possibilita a uma aplicao realizar as 4 Operaes Bsicas da Matemtica, mais o detalhe que daremos a possibilidade de se escolher qual delas usar no mesmo WebMetodo. Para isso crie uma nova classe do tipo Enum e nosso cdigo ficar como o exemplo abaixo: view source print?
01 using System; 02 using System.Web;

03 using System.Web.Services; 04 using System.Web.Services.Protocols;

05 06 [WebService(Namespace = "http://tempuri.org/")]

07 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 08 public class Service : System.Web.Services.WebService

09 { 10 public Service()

11 12

{ //Uncomment the following line if using designed components

13 14 }

//InitializeComponent();

15 16 [WebMethod]

17 18

public string HelloWorld() {

19 20 }

return "Hello World";

21 } 22

23 public enum OperacoesBasicas 24 {

25 26

Adicao = 0, Divisao = 1,

27 28

Multiplicacao = 2, Subtracao = 3

29 }

Feito isso iremos criar ento um novo WebMetodo chamado Calculadora onde iremos informar 2 valores do Tipo Decimal, a Tipo da Operao e ser retornado um outro valor do tipo Decimal. Veja o cdigo abaixo: view source print?
01 [WebMethod] 02 public decimal Calculadora(decimal ValorA, decimal ValorB, OperacoesBasicas TipoOperacao)

03 { 04 decimal ResultadoAB = 0;

05 06 switch (TipoOperacao)

07

08

case OperacoesBasicas.Adicao:

09 10

{ ResultadoAB = decimal.Add(ValorA, ValorB);

11 12 }

break;

13 14

case OperacoesBasicas.Divisao: {

15 16

ResultadoAB = decimal.Divide(ValorA, ValorB); break;

17 18

} case OperacoesBasicas.Multiplicacao:

19 20

{ ResultadoAB = decimal.Multiply(ValorA, ValorB);

21 22 }

break;

23 24

case OperacoesBasicas.Subtracao: {

25 26

ResultadoAB = decimal.Subtract(ValorA, ValorB); break;

27 28 }

29 30 return ResultadoAB;

31 }

Pronto, nosso bsico Web Service est pronto. Agora execute o Web Service e ser aberto uma pgina com a lista de WebMetodos do seu Web Service. Clique no link Calculadora e ser aberto outra pgina para entrada dos valores.

Para realizar as operaes voc dever informar o TipoOperacao. Adicao ou 0 Divisao ou 1 Multiplicacao ou 2 Subtracao ou 3

Ser aberto uma outra pgina com o resultado.

Vamos ao que interessa. 1- Abra o projeto anterior, quem no tiver poder fazer o download aqui. 2- Clique com o boto direito em cima do Solution no Solution Explorer do Visual Studio > Add > New Project

3- Na janela que ira abrir, escolha Windows Application, defina um nome TesteMeuWebService

4- Agora adicionaremos referencia ao nosso WebService j criado. Clique com o boto direito em cima do Project no Solution Explorer do Visual Studio > Add Web Reference

5- Vamos listar os Web Services inclusos em nosso Solution.

6- Selecionamos o nosso Web Service

7- Adicionamos como referencia ao projeto.

8- Agora vamos ao WinForm. Adicione 3 Labels, 3 TextBox, 1 ComboBox e 1 Button

9- Adicione a lista de operaes no ComboBox conforme imagem abaixo. Adio Diviso Multiplicao Subtrao

10- Agora de um duplo clique no Button para adicionarmos o evento Click e o cdigo abaixo.
private void button1_Click(object sender, EventArgs e) { decimal ValorA; decimal ValorB; localhost.OperacoesBasicas operacao = localhost.OperacoesBasicas.Adicao; decimal Resultado; decimal.TryParse(textBox1.Text, out ValorA); decimal.TryParse(textBox2.Text, out ValorB); switch (comboBox1.SelectedIndex) { case 0: operacao = localhost.OperacoesBasicas.Adicao; break; case 1: operacao = localhost.OperacoesBasicas.Divisao; break; case 2: operacao = localhost.OperacoesBasicas.Multiplicacao; break;

case 3: operacao = localhost.OperacoesBasicas.Subtracao; break; default: operacao = localhost.OperacoesBasicas.Adicao; break;

localhost.Service MeuWebService = new localhost.Service(); Resultado = MeuWebService.Calculadora(ValorA, ValorB, operacao); } textBox3.Text = Resultado.ToString();

Pronto, mais se formos executar o nosso projeto, ele no ser executado, pois o projeto que esta definido como principal o WebService, ento clique com o boto direito em cima do Project do WinForm > Set as StartUp Project

Agora sim, s executar nosso projeto.


Parte inferior do formulrio

You might also like