Problemas em conectar dispositivo android no servidor Datasnap
Amigos Boa Tarde
Estou com problemas em fazer uma aplicação android se comunicar com o servidor Datasnap.
Estou tentando fazer a aplicacao android fazer logon em um banco de dados atraves do servidor DataSnap, porém quando tento a conexão no dispositivo android aparece o erro HTTP/1.1 500 Internal Server Error.
Abaixo segue a função que esta no servidor DataSnap
Abaixo segue o codigo que estou executando no dispositivo android.
Notem que estou tentando somente pegar o retorno da função via DataSnap conforme o trecho "ShowMessage (lresponse);" mas pelo que eu estou percebendo ele nem esta chegando a executar a função.
Poderiam me ajudar?
Obrigado.
Estou com problemas em fazer uma aplicação android se comunicar com o servidor Datasnap.
Estou tentando fazer a aplicacao android fazer logon em um banco de dados atraves do servidor DataSnap, porém quando tento a conexão no dispositivo android aparece o erro HTTP/1.1 500 Internal Server Error.
Abaixo segue a função que esta no servidor DataSnap
function TSM.ValidaUsuario(Usuario : TJsonObject): String;
var
Par : TJSonPair;
begin
Par := TJsonPair.Create;
//login
par := Usuario.Get(0);
lusuario := Par.JsonValue.Value;
//senha
Par := usuario.Get(1);
lsenha := par.JsonValue.Value;
dm.Qry.Close;
dm.Qry.Params[00].AsString := lUsuario;
dm.Qry.Params[01].AsString := uCript.Criptografa(lSenha,108);
dm.Qry.Open;
if dm.Qry.IsEmpty = true then begin
result := 'No!';
end else begin
result := 'OK!';
end;
end;Abaixo segue o codigo que estou executando no dispositivo android.
procedure TfPrincipal.BtnConfirmarClick(Sender: TObject);
var
Contato : TJsonObject;
lJSO : String;
jSontoSend : TStringStream;
lResponse : String;
begin
if trim(edlogin.Text) = '' then begin
Showmessage('Campo login em branco, por favor preencha');
exit;
end;
if trim(edsenha.Text) = '' then begin
Showmessage('Campo Senha em branco, por favor preencha');
exit;
end;
Contato := TJsonObject.Create;
Contato.AddPair('login',TJsonString.Create(trim(edlogin.Text)));
Contato.AddPair('senha',TJsonString.Create(trim(edlogin.Text)));
lJSO := Contato.ToString;
jSontoSend := tStringStream.Create(lJSO,TEncoding.ASCII);
IdHTTP.Request.ContentType := 'application/json';
lResponse := IdHTTP.Post(URL+Path+'ValidaUsuario',jSontosend);
jSonToSend.Free;
ShowMessage (lresponse);
end;
Notem que estou tentando somente pegar o retorno da função via DataSnap conforme o trecho "ShowMessage (lresponse);" mas pelo que eu estou percebendo ele nem esta chegando a executar a função.
Poderiam me ajudar?
Obrigado.
Douglas Lucio
Curtidas 0
Melhor post
Leonardo Costa
22/09/2014
Douglas, você percebeu que nesta parte do código
você esta passando o edlogin.Text tanto no login quanto na senha????
corrige e testa novamente, caso de errado te envio um exemplo que tenho aqui.
Contato := TJsonObject.Create;
Contato.AddPair('login',TJsonString.Create(trim(edlogin.Text)));
Contato.AddPair('senha',TJsonString.Create(trim(edlogin.Text)));
você esta passando o edlogin.Text tanto no login quanto na senha????
corrige e testa novamente, caso de errado te envio um exemplo que tenho aqui.
GOSTEI 1
Mais Respostas
Douglas Lucio
16/07/2014
Alguém teria uma ideia, do problema com esta aplicação?
No aguardo.
No aguardo.
GOSTEI 0
Fabiano Carvalho
16/07/2014
Não conheço nada sobre delphi, mas veja sobre o erro 500, parece que é erro do servidor e não da aplicação android.
Erro 500
Posso te ajudar somente nisso.
Erro 500
Posso te ajudar somente nisso.
GOSTEI 0
Douglas Lucio
16/07/2014
Certo amigo, vou dar uma pesquisada, é que pelo browser eu ate consigo acessar o servidor datasnap, mas na aplicacao da este erro, mas vou verificar melhor então.
Muito obrigado pela atenção amigo...
Grande Abraço
Muito obrigado pela atenção amigo...
Grande Abraço
GOSTEI 0
Douglas Lucio
16/07/2014
Boa Noite amigos,
Verifiquei sobre a questão do servidor do datasnap, porem esta acessando normalmente pelo browser, mas a aplicação continua a dar este erro, sera que alguém poderia postar um exemplo de código de validação de usuário no banco de dados no android via datasnap?
No aguardo
Verifiquei sobre a questão do servidor do datasnap, porem esta acessando normalmente pelo browser, mas a aplicação continua a dar este erro, sera que alguém poderia postar um exemplo de código de validação de usuário no banco de dados no android via datasnap?
No aguardo
GOSTEI 0
Douglas Lucio
16/07/2014
Boa noite Leonardo,
Bem observado amigo, porem o erro ainda persiste.
Poderia me ajudar?
No aguardo
Bem observado amigo, porem o erro ainda persiste.
Poderia me ajudar?
No aguardo
GOSTEI 0
Douglas Lucio
16/07/2014
Leonardo, poderia me enviar o exemplo que voce tem para que eu possa verificar?
Abraços
Abraços
GOSTEI 0
Carlos Faria
16/07/2014
???
Tambem preciso resolver esse mesmo erro urgente. já varri todos os foruns e nada até agora !
Tambem preciso resolver esse mesmo erro urgente. já varri todos os foruns e nada até agora !
GOSTEI 0
Jones Granatyr
16/07/2014
Olá! A melhor maneira é você tentar fazer um debug com dois Delphi abertos, para tentar encontrar onde o erro está acontecendo. O ruim de trabalhar com um Delphi só aberto é que erros de conexão/sql não são mostrados! Veja esse artigo para mais detalhes
https://www.devmedia.com.br/como-depurar-aplicacoes-datasnap/37277
https://www.devmedia.com.br/como-depurar-aplicacoes-datasnap/37277
GOSTEI 1
Flávio Machado
16/07/2014
HTTP/1.1 500 Internal Server Error. com certeza é erro do lado do Servidor, usa Postman para verificar seus ServerMethods e quando for testar usa o nome da classe tipo "..TServer/EchoString/ "
GOSTEI 0
Luis Antonio
16/07/2014
Estava com um problema parecido, adicionei as USES em ServerMethods :<br />
FireDAC.Stan.StorageJSON, FireDAC.Stan.StorageBin; <br />
Consegui ajustar o erro.<br />
Minha function recebe um arquivo TFDJSONDataSets, o erro (HTTP/1.1 500 Internal Server Error) apareceu do lado do webservice.<br />
<br />
FireDAC.Stan.StorageJSON, FireDAC.Stan.StorageBin; <br />
Consegui ajustar o erro.<br />
Minha function recebe um arquivo TFDJSONDataSets, o erro (HTTP/1.1 500 Internal Server Error) apareceu do lado do webservice.<br />
<br />
GOSTEI 0
Cristiano Massaroli
16/07/2014
Pessoal, estou tendo este mesmo problema em Delphi, mas utilizando application/xml<br />
<br />
Uso os mesmos parâmetros utilizando PostMan e está funcional.<br />
<br />
Será o meu programa?<br />
<br />
<br />
Uso os mesmos parâmetros utilizando PostMan e está funcional.<br />
<br />
Será o meu programa?<br />
<br />
GOSTEI 0