Como consumir web service?

Olá a todos!
Estou fazendo uma aplicação em CDC usando o CDC Tool Kit da sun, que deve acessar um web service implementado no axis2 que eu mesmo fiz.
Fiz um cliente desktop e tudo funciona perfeitamente.

Estou com dificuldades para conseguir usar o stub gerado pelo “stub generator” do “wireless tool kit”,
Primeiro que, depois de muitas pesquisas em varios fóruns, só achei o jar da jsr172 para o pacote javax.microedition.xml.rpc.*
baixando o j2mePolish e o extraino de suas libraries. Talvez eu apenas não tenha procurado no lugar certo! :smiley:

E agora que tudo está certo, aparentemente no netbeans, sem erros de referencia. Agora o problema é que
ocorre um erro de execução, acontece um “No such method error”, ou seja não foi encontrado um método, é quando
é tentado instanciar um Element desse pacote citado acima, javax.microedition.xml.rpc.Element…
Acredito que essa jsr172 que usei foi modificada, ou algo do tipo, sei que dei um chute, mas estou sem muitas opções!

Também fiz testes com o ksoap2, mas encontrei problemas, então baixei o source dele e estou tentando modificar o xml soap enviado, pois o ksoap monta
de uma forma errada e sempre resulta em um “bad request” pelo server.

Se alguém puder dar uma dica eu ficarei grato!

Abraços!

Ja pensou em usar uma implementação da JavaEE para criar um WebService?

De uma olhada neste artigo:

http://blog.caelum.com.br/2007/07/11/webservices-sem-servidor-de-aplicacao-no-java-6/

Existem outros, mas com esse vc tera uma ideia, usando um WebContainer ou um Servidor de Aplicação.

[ ]s,

Ok, obrigado pela rápida resposta!

Vou fazer um teste com sua dica.

Mas talvez eu não tenha sido claro, estou com problemas com meu cliente jme, o serviço está ok, não tenho problema alguma em trabalhar com o axis2 + tomcat…
Optei pelo axis2 e tomcat pois já trabalho com eles há um tempo. Faço aplicações em totalcross onde trabalho, usando axis1.4 e tomcat. Tudo perfeito.
Estou usando a ferramenta TKN Mobile Studio for TotalCross para desenvolver para totalcross, se tiver interesse olhe em: http://www.tekann.com.br

Estou usando o netbeans e tem um plugin para o axis2 e tomcat, fica moleza apesar de alguns bugs!

Ainda assim farei um teste com o servidor de aplicação glassfish.

Agradeço novamente.

Esqueci de comentar, se é que é válido, que essa aplicação que estou fazendo é para meu TCC…

Abraços

Gostaria de perguntar para você: conseguiu consumir algum webservice usando o stub generator do J2ME Wireless Tool Kit 2.2? Se sim, quais o passos (.jars de depencia para a jsr172) se puder citar.

Desde já agradeço.
Abraços

Continuando os estudos, todo dia, toda noite! heheh
Encontrei o seguinte link: http://www.hcilab.org/documents/tutorials/JSR172/jsr172.html
No item 3: Using the web service from the MIDlet
A partir disso sai a pesquisar os tais jars (j2me_rpc_ri.jar and j2me_xml_ri.jar) e encontrei o
seguinte link: http://i.aut.bme.hu/onlab/KirchTamas/Diploma/Doksik/j2me-ws-1.0/doc/install/html/Chap1.html
e vi que eh necessario baixar o JWSDP e usa-lo para fazer um build para gerar os tais jars que a principio devo usar
para poder suprir o requisito do pacote javax.microedition.xml.rpc.*
Gostaria de saber se isto tudo que vi eh verdade? :smiley:

Ou seja, alguem por ai jah conseguiu consumir um web service usando CDC e o stub generator do J2ME WTK?

Espero que alguem possa me dizer se estou no caminho certo, errado. Pois pra mim isso parece custoso demais.
Desculpem os erros de acentuacao, apenas nao tirei um tempo pra configurar meu novo ubuntu! :wink:

Assim que eu conseguir resultados eu posto aqui.

Abs

[quote=gui.jfrantz]Continuando os estudos, todo dia, toda noite! heheh
Encontrei o seguinte link: http://www.hcilab.org/documents/tutorials/JSR172/jsr172.html
No item 3: Using the web service from the MIDlet
A partir disso sai a pesquisar os tais jars (j2me_rpc_ri.jar and j2me_xml_ri.jar) e encontrei o
seguinte link: http://i.aut.bme.hu/onlab/KirchTamas/Diploma/Doksik/j2me-ws-1.0/doc/install/html/Chap1.html
e vi que eh necessario baixar o JWSDP e usa-lo para fazer um build para gerar os tais jars que a principio devo usar
para poder suprir o requisito do pacote javax.microedition.xml.rpc.*
Gostaria de saber se isto tudo que vi eh verdade? :smiley:

Ou seja, alguem por ai jah conseguiu consumir um web service usando CDC e o stub generator do J2ME WTK?

Espero que alguem possa me dizer se estou no caminho certo, errado. Pois pra mim isso parece custoso demais.
Desculpem os erros de acentuacao, apenas nao tirei um tempo pra configurar meu novo ubuntu! :wink:

Assim que eu conseguir resultados eu posto aqui.

Abs[/quote]

Claro que é custoso mas é o que vc quer usar então aguenta.

Agora se fosse um webservice em REST, tudo seria mais fácil. Bem, escolhas são escolhas… :?

Ok, obrigado!
Espero não parecer estar reclamando, na verdade estou gostando de conhecer tudo isso que estou pesquisando sobre jme.
Está muito legal.
Só estava a pensar que talvez eu pudesse estar indo por um caminho errado!

Sou usuário linux a tempos, gosto de desafios!

Valeu pela resposta!

Abraços

Saudações!

Obtive um pequeno progresso. É pequeno porque fiz funcionar minha aplicação, mas apenas com o ksoap versão j2se: ksoap2-j2se-full-2.1.2.jar
Que baixei em: http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/k/ks/ksoap2/

E segui o seguinte exemplo: http://ksoap2.wiki.sourceforge.net/Stadiums+at+the+World+Cup+Example

O estranho é que com o ksoap-jme não consigo fazer funcionar. Até baixei o source do ksoap e alterei o código tentando otimizar o soap que é enviado, passei de um bad request para um internal error, melhorou! heheh

Caso eu consiga mais progressos postarei aqui.
Talvez sirva para alguém!

Abraços

[quote]Caso eu consiga mais progressos postarei aqui.
Talvez sirva para alguém! [/quote]

Você teve mais algum progresso.

As libs estçao quase todas bugadas…???

Você me informar quais libs você teve que importar para o projeto.

Obrigado.

Opa!
Tenho tudo funcionando, mas apenas com o ksoap-j2se. Meu webservice envia um array de bytes que é um xml e no client cdc leio esse byteArrayStream
e tudo está uma maravilha agora! Estou usando o kxml para fazer o parse.

Quando chegar em casa a noite posto as libs que tentei usar para o caso do stub generator.

Valeu, abraços.

Qual é o emulador que você está utilizando para fazer os testes:

Veja só este tópico criado por mim: http://www.guj.com.br/posts/list/0/123597.java#668346

Agradeço de puder ajudar, pois não estou conseguindo testar minha aplicação.

Obrigado.

Opa!
Estou usando o emulador da sun, o CDC Tool Kit 1.1 pelo netbeans. Criei um projeto CDC.

Quanto a jsr172, eu usei os jars que achei no j2me polish e nos SDKs da sun para JME que baixei, mas não consegui fazer funcionar com nenhum deles.
Qual jar pra jsr172 você está usando?

A solução da minha dúvida quando a usabilidade do emulador está aqui: http://www.guj.com.br/posts/list/0/123597.java#670937

Quando a JSR 172, eu estou utilizando a implementação de referência, e neste caso quando um celular já suporta a JSR não é necessário utilizar mais nenhuma lib, pois o celular já traz a implementação de referência imbutido.

Até mais.

Ok, valeu, somente agora pude ver a resposta!
Mas agradeço!

Abraços

gui.jfrantz vi algumas pessoa dizendo que não é possivel criar um cliente servidor usando a cdc Personal profile
isto é verdae ??? se não for vc possue algum materias pra me ajudar a comecar

Opa!

Bom, creio que não, eu fiz um cliente! Usei o ksoap2 + kxml.
Você pode procurar no google por exemplos, é bom dar uma olhada no site do ksoap

http://ksoap.objectweb.org/ e http://ksoap2.sourceforge.net/

Um tutorial que vi foi esse http://www.ibm.com/developerworks/wireless/edu/wi-dw-wiwsvs-i.html
É só se cadastrar que você terá acesso!

Eu comecei a conseguir resultados a partir daqui http://ksoap2.wiki.sourceforge.net/Stadiums+at+the+World+Cup+Example
Esse é muito bom.

Se decidir usar o ksoap para CDC você precisa baixar a versão j2se.

Qualquer dúvida posta ai!

Abraços

Tem um plugin no netbeans que gera uma classe Stub para fazer a conexao com WS. É só colocar o endereço do wsdl lá e “praticamente” está pronto rsrsrs.

segue tutorial deste plugin

http://www.netbeans.org/kb/60/mobility/midp-webservices.html

eu testei aqui e deu tudo certo.

Estou usando o netbeans 6.5, Tomcat 6, Axis2 . Criei meu WebService pelo Eclipse

Legal! Mas já gostei do kSOAP, muito bom…
Hoje não troco mais por um gerador de stub.
A cada alteração eu teria que regerar o stub, o kSOAP é mais flexível.

Mas valeu pelo post, vou dar uma olhada!

Abraços