Construí um aplicativo J2ME que consome um webservice (servidor GlassFish 2.1.1). O servidor está funcionando, já testei!
São enviados 3 parâmetros ao método (int, int e String) e é retornado um único parâmetro String. Estou utilizando ksoap.
Pergunta: para enviar os três parâmetros, está correta a minha lógica nas linhas 8, 9 e 10 ? Ou tenho de passar tudo de uma vez? Por aqui assim, não está dando certo, está retornando null (tfLogin e tfSenha são TextFields)
os parametros do ksoap é um Object e tem que estar de acordo com o o seu WebService.
Os parametros tem que estar na ordem e no tipo do Object iguais ao seu metodo que recebe no webservice.
[quote=godinez]os parametros do ksoap é um Object e tem que estar de acordo com o o seu WebService.
Os parametros tem que estar na ordem e no tipo do Object iguais ao seu metodo que recebe no webservice.
[/quote]
godinez, estou meio confuso em relação ao que vc disse, preciso enviar três parâmetros ao webservice para obter um retorno String. O webservice espera receber três parâmetros do tipo, int, int e String… Conceitualmente falando, o que significa converter um int em um object? ou um String em object? object também é um tipo de dado? :roll:
int é um tipo primitivo, Integer é um Object, então você deve trabalhar com enviar e receber um Integer e não um int.
Para “facilitar”, envie e receba String, ai dentro do seu metodo você converte para o tipo que precisar.
[quote=godinez]int é um tipo primitivo, Integer é um Object, então você deve trabalhar com enviar e receber um Integer e não um int.
Para “facilitar”, envie e receba String, ai dentro do seu metodo você converte para o tipo que precisar.[/quote]
Putz, entendi! Fui reler meu livro e agora entendi, String não é primitivo, é object! Erro de principiante. Enfim, alterei tudo para String, e o webservice agora recebe os três parâmetros como String também. Porém, continua apresentando problema. Vejam como ficou o código:
[color=red]org.ksoap.SoapFault
at org.ksoap.transport.HttpTransport.call(HttpTransport.java:269)
at LojistaMopis$ConnectionThread.run(LojistaMopis.java:802)
Erro: null
[/color]
O webservice está funcionando, testei com http://192.168.0.118:8080/ServiceSBBeanService/Service?tester e rodou perfeitamente no browser. Porém, será que o caminho do webservice é mesmo aquele que está no código-fonte? Utilizei tomcat axis uma vez num outro teste e o caminho era com extensão jws no final do path… ou não tem nada a ver?
[quote=godinez]qual versãao do ksoap voce esta utilizando ?
[/quote]
Vou olhar qual a versão e posto, mas acredito ser a ultima, baixei faz duas semanas…
um amigo me disse q o problema pode ser pq o webservice está utilizando “complex types” e o ksoap pode não trabalhar bem com isso. Será q essa informação procede?
[quote=dsavia][quote=godinez]qual versãao do ksoap voce esta utilizando ?
[/quote]
Vou olhar qual a versão e posto, mas acredito ser a ultima, baixei faz duas semanas…
um amigo me disse q o problema pode ser pq o webservice está utilizando “complex types” e o ksoap pode não trabalhar bem com isso. Será q essa informação procede? [/quote]
pelo que eu sei, pode ser isso apenas se você trabalhar com tipos de dados que normalmente são uma coleção, um BEAN, Array por exemplo.
Nesse caso, você só esta trabalhando com String, acredito que não seja esse o problema.