Professional Documents
Culture Documents
i uma forma para resolver meu problema e atravs desde tutorial estarei compartilhando, vamos l. Criao do WebService Para criao do WebService utilizei a IDE Netbeans a qual fornece muita facilidade para desenvolvimento de servios web. Abaixo mostro instrues de como proceder para criao do projeto:
Clique em Arquivo e escolha a opo Novo Projeto
Feito isto o Assistente ir para a prximo parte onde teremos que determinar o nome de nosso projeto:
A prxima parte ter que escolher o Servidor que ir hospedar nosso WebService em meu caso utilizou o Apache Tomcat 6.0.26:
Agora temos duas escolhas clicar no boto Prximo e ir para a ultima parte do Assistente parte, na qual podemos escolher algum tipo de Framework ou clicar no boto Finalizar em meu caso no utilizarei nenhum Framework. Clicando no boto Finalizar temos ento a visualizao na IDE Netbeans do projeto criado:
Nosso projeto .
Maravilha podemos dizer que temos 50% de nosso projeto pronto, mais ainda temos muito cho pela frente, vale lembrar que o Servio WEB ainda no foi criado, vamos fazer isso agora.
Para criarmos nosso WebService clique com o boto direito em cima do projeto Android, no menu que aparece escolha a opo Novo logo aps opo Outro, veja a figura abaixo:
Logo aps clicar na opo Outro ser apresentado o Assistente para Novo Arquivo:
Aps escolher a opo Servios Web clique sobre a opo Servio Web
Aps fazer a escolha das opes clique no boto Prximo, ento teremos a prxima etapa do assistente onde vamos colocar o nome do nosso WebService e tambm um pacote os cdigos fontes iro ficar:
Nome do Pacote
Clicando no boto Finalizar temos ento nosso WebService agora teremos que implementar algum mtodo que ser disponibilizado para acesso externo em nosso caso para acesso por um projeto para Android.
Observe que a IDE Netbeans est reclamando um erro para ser corrigido, fique calmo isso normal quando criamos no servio web para resolver este problema temos que criar um mtodo que ser acessado externamente quando colocarmos no AR nosso WebService. Para isso clique boto esquerdo do mouse sobre o cone da lmpada amarela logo lhe ser apresentado uma opo veja figura abaixo:
E nesta parte onde voc ir colocar o nome do mtodo o tipo de retorno e tambm os parmetros, para adicionar parmetro em seu mtodo basta clicar sobre o boto Adicionar, veja figura:
possvel adicionar vrios parmetro e escolher tambm o tipo de cada um, por exemplo um parmetro com o nome de NUMERO com o tipo int, e assim por diante, na prxima figura deixarei o mtodo todo configurado veja:
Basta clicar na opo OK e pronto temos nosso primeiro mtodo criado para ser acessado externamente, este mtodo basicamente ir receber dois parmetro tipo inteiro e ir retornar a soma deles.
Mas para que este mtodo retorne a soma de dois inteiros temos que realizar ainda algumas modificaes veja a prxima figura:
No retorno passamos o n1+n2 com isso realizamos a soma dos dois numero que sero enviado para nosso webService.
Bem agora falta apenas publicar nosso servio no Servidor Tomcat e test-lo para ver se est funcionando. Na prxima etapa de nosso tutorial estaremos realizando este procedimento.
PUBLICANDO NOSSO SERVIO Bem temos tudo pronto agora basta publicar este procedimento muito simples veja a figura abaixo:
Clique com o boto direito em cima de projeto Android e escolha a opo Executar, realizando este procedimento estamos publicando nosso servio no servidor Tomcat.
Agora basta esperar um pouco at que seja apresentado uma pagina no internet Explorer ou outro navegador o qual voc esteja utilizando um pgina de Hello World!, igual a figura abaixo:
Com isso podemos ento realizar um teste para verificar se nosso servio web est funcionando, para isso veja a figura abaixo:
Procure a pasta Servios Web em nosso projeto Android
Localize o arquivo web que nosso WebService ento clique com o boto direito do mouse sobre ele, logo aparecer tela com algumas opes escolha a opo Testar servio Web.
Se tudo ocorreu bem deve aparecer em seu navegador um pagina semelhante a est:
PRONTO OPERAO FINALIZADA COM SUCESSO TEMOS NOSSO WEBSERVICE IMPLEMENTADO AGORA FALTA CRIAR O PROJETO PARA
O ANDROID PASSAR PARAMETROS E OBTER O RETORNO DO WEBSERVICE. PROJETO ANDROID Bem finalizamos nosso projeto na IDE Netbeans onde criamos nosso WebService, agora vamos mudar de IDE vamos para o ECLIPSE onde vamos criar um projeto Android para conectar no webService. Estou usando o Eclipse Pulsar IDE voltada para desenvolvimento Mobile com o Eclipce aberto clique na opo FILE ---NEW---OTHER, veja figura abaixo:
Clique em Next. Na prxima etapa do Assistente devemos colocar o nome em nosso projeto, definir a API alm de criar um pacote onde ir ficar os arquivos fontes de nosso projeto e tambm definir a primeira classe Activity, a figura abaixo mostra todos estes elementos configurados:
Feito as devidas configuraes basta clicar na opo Finish. OBS: VALE LEMBRAR QUE AS APIS DO ANDROID DEVEM ESTAR CONFIGURADAS CORRETAMENTE . Agora temos nosso projeto pronto para trabalhar:
Nosso projeto
USANDO A BIBLIOTECA KSOP2 Para que a conexo funcione devemos utilizar a biblioteca KSOAP2 , esta biblioteca est disponvel junto com os projetos que podem ser baixado junto com o tutorial. Vamos ver agora como fazemos para adicionar esta biblioteca em nosso projeto:
Clique com o boto direito em cima do projeto TesteWebService, escolha a opo Build Path e logo depois a opo Configura Build Path
LIB do KSOP2
Tudo certa basta clicar no boto OK. Pronto com isso pode trabalhar sem problemas em nosso projeto.
CODIFICANDO NOSSO PROJETO Bem uma das partes mais interessantes do tutorial a conexo com o WebService vamos para a codificao veja figura:
No cdigo acima temos trs variveis estticas como o nome de OPERATION, NAMESPACE e SITE, as quais so de extrema importncia para o sucesso de nosso projeto: OPERATION = est varivel est inicializado com uma String chamada SOMA, isso porque foi o nome atribudo ao mtodo que criamos em nosso WebService lembram, foi criado no WebService um mtodo chamado SOMA que retornava a soma de dois inteiros; NAMESPACE = est varivel est inicializada com uma String chamada HTTP://WEBSERVICE/, isso porque em nosso arquivo XML que foi gerado quando realizamos o teste para verificar se o nosso WebService estava funcionando corretamente mostrou veja a figura abaixo:
Tem relao com o nome do pacote que demos quando criamos o projeto WebService, pacote o qual ficar armazenados os cdigos fontes do WebService.
SITE = est varivel est inicializada com uma String chamada http://localhost:8084/Android/web?wsdl o qual obtida tambm quando realizamos o teste do nosso WebService veja figura abaixo:
IMPORTANTE: Se vocs deixarem como localhost no ir funcionar isso porque o Android funciona como um dispositivo na rede, portanto deve haver rede para acessar o WebService, vamos supor que voc esteja com um situao onde no tem conexo com internet como proceder ento, em meu caso resolvi isso criando um rede entre meu NOTEBOOK E UMA OUTRO COMOUTADOR, e configurando um endereo IP para meu NOTEBOOK da ento em vez de usar localhost uso o endereo IP que defini nas configuraes de rede, a nova URL DE CONEXO: http://192.168.0.1:8084/Android/web?wsdl". Em vermelho est o endereo IP que atribui a meu NOTEBOOK, o resto continua igual.
MAIS CODIGO
Envia os parmetros para o WebService, OBS: cada propriedade deve ser igual ao parmetro criado no mtodo do WebService caso contrario no funciona
POSSIVEL ERRO: Cdigo envio.addProperty("n", 1); envio.addProperty("n2", 2); Note que no primeiro parmetro foi passado n sabemos que em nosso mtodo o parmetro est como n1 se passarmos apenas n este parmetro no ser aceito e a conexo no funciona. CONFIGURAO ANDROID MANIFEST Antes de executar o projeto devemos realizar um configurao bsica no android manifest para que nosso projeto funcione, devemos adicionar a seguinte linha: <uses-permission permission> android:name="android.permission.INTERNET"></uses-
Clique com o boto direito do mouse sobre o projeto TesteWebService e escolha a opo Run As aps isso opo Android Application.
Feito isso s esperar o EMULADOR aparecer e mostrar o resultado veja figura abaixo:
Bem, acho que seria isso espero que tenham gostado do tutorial tentei ser o mais explicativo possvel, alm desse tutorial estou disponibilizando o cdigo fonte desse projeto e tambm o cdigo fonte do projeto que faz conexo com o banco de dados MYSQL, qualquer dvida entrar em contato pelo e-mail: fernandoesmaniotto@gmail.com Autor: Fernando Jos Esmaniotto Data: 19/03/2011