Deletado em 6 de janeiro de 2009

Web Services – Parte 2

Feliz ano novo! Vamos ao nosso novo Web Service (WS)...

Bom, para o projeto estou usando o Visual Studio 2008 (VS), Framework 3.5, entretanto presumo que não seja tão diferente em versões anteriores.

Ao abrir o Visual Sudio, vamos criar um novo projeto do tipo Web Service Application (ctrl + shift + N -> Web -> ASP.NET Web Service Application), vamos nomear a camada de Noticias e o projeto de MyFirstWS.

Ok, nosso amigo VS criou um projeto e já colocou um .asmx lá pra gente. Obrigado VS... Mas vamos deletar esse .asmx para ver que nada há de diferença entre um projeto ASP.Net de um projeto Web Service Application. Ao deletar, adicione um novo item e escolha o WS, de o nome de WsNoticias.

Criado!

O VS já deixa como exemplo um Web Method para nós. Então se executarmos teremos a seguinte tela:

Nessa tela temos em azul no topo o nome do nosso WS, abaixo serão listados todos nossos métodos (o que nos importa) e a página abaixo é apenas explicando que cada WS precisa ter seu namespace, é o que vai diferenciar seus WSs quando eles se tornarem públicos para consumo. Por default é colocado o http://tempuri.org/ (por causa dele que a página de explicação fica abaixo). Bom, escolha um namespace apropriado ao seu WS. Como o meu é para o site http://www.morcegosweb.com/ este então será meu Namespace.

Agora então, vamos criar um novo método. Para diferenciar um método comum que nosso WS pode ter de um método Web, coloca-se [WebMethod] antes do início da declaração do método.

Vamos criar um método SUUUUPER diferente, um método para somar 2 valores =P

[WebMethod]
public int SomaDoisValores(int valorA, int valorB)
{
     return valorA + valorB;
}

Vamos pensar um pouco... Pode existir um WebMethod privado?

Sim, você pode criar...

[WebMethod]
private string Teste()
{
     return "Pq eu existo???";
}

Mas ele não aparecerá na nossa lista de métodos para consumir, sendo assim ninguém acessa a não ser outros métodos da página, então não precisa ser um WebMethod... Falo isso para deixar claro que meu WS pode ter métodos como uma aplicação ASP.Net normal.

Ok, algo mais avançadinho, vamos criar uma classe noticia, criar um método que retorne uma lista de noticias. Assim, vamos criar um método que pegue essa lista.


[WebMethod]
public System.Collections.Generic.List<Noticia> ListarNoticias()
{
     Noticia noticias = new Noticia();
     return noticias.ListarNoticias();
}

Ao executar, lá esta nosso método bonitinho. Clicando nele e invocando, podemos ver que é retornado nosso XML conforme abaixo:

Só isso??? Está criado meu WS???

Basicamente sim, este é o conceito simples de criação de um Web Service.

Jogado no Lixoooo... para baixar o projeto clique aqui. Até mais!

1 comentários:

Anônimo disse...

Boa Pirikas, já estou baixando!

Postar um comentário

Jogue sua opinião na lixeira!

Topo