Olá.
Tenho uma aplicação CLDC. Esta roda normalmente em alguns aparelhos, a troca de informação entre cliente e servidor é feita sem problemas. Acontece que eu estou com um aparelho Samsung Omnia, e o mesmo está retornando uma exceção do SOAP.
A exceção é a seguinte:
Não sei o que pode estar acontecendo. Outros aparelhos utilizam a mesma linha de conexão e não há problemas. O que pode ser?
String URL = "http://192.168.2.14:8080/axis/usr/datawebservice/VdVendedor.jws";
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
SoapObject Soap = new SoapObject(URL, "show");
envelope.bodyOut = Soap;
HttpTransport ht = new HttpTransport(URL);
ht.call("", envelope);
Vector a = (Vector) envelope.getResponse();
o código acima é um exemplo do que eu utilizo em minha aplicação. A linha que lança a exceção é:
abraços.
SOLUÇÃO DO PROBLEMA
na função call eu passei o endereço do web service e atualizou de primeira. A exceção informa que não há o cabeçalho do SoapAction. Isso só foi possível saber após consultar a API do HttpTransport.
Checa as permissões de conectividade no .jad, Em alguns devices é necessario essas permissões para poder conectar-se a um servidor, mesmo ele sendo local!
como verifico estas configurações? Utilizo o Netbeans 6.8
No teu projeto, tem arquivo com o nome de tua aplicação . jad: myapp.jad, la tem todas os dados e permissões da tua aplicação mobile. Acho que ele fica na raiz do teu projeto ( não lembro, faz tempo que não trabalho com Java Me ). Checa nesse arquivo, provavelmente não tem a premissão, ai vc da uma procurada no google por essa propriedade e seta la.
MIDlet-1: Data Mobile,,MobilePed.Principal
MIDlet-Jar-Size: 529287
MIDlet-Jar-URL: DataMobile.jar
MIDlet-Name: Data Mobile
MIDlet-Vendor: Data
MIDlet-Version: 1.20
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.1
esta é a informação do .JAD
vou dar uma pesquisada no google nesta questão da permissão.
Mas se por acaso alguém souber e quiser postar eu agradeço.
abraços.
Eu adicionei algumas bibliotecas.
MIDlet-Permissions: javax.microedition.io.Connector.file.read, javax.microedition.io.Connector.file.write
Mas agora, ao instalar a aplicação, dá falha de autenticação. Há algo o que fazer? Ou vai ser necessário assinar a aplicação para funcionar no aparelho?
JÁ FOI RESOLVIDO.
abraços.