Problemas em conectar dispositivo android no servidor Datasnap
16/07/2014
0
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
Post mais votado
22/09/2014
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.
Leonardo Costa
Mais Posts
24/07/2014
Douglas Lucio
No aguardo.
24/07/2014
Fabiano Carvalho
Erro 500
Posso te ajudar somente nisso.
24/07/2014
Douglas Lucio
Muito obrigado pela atenção amigo...
Grande Abraço
11/08/2014
Douglas Lucio
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
22/09/2014
Douglas Lucio
Bem observado amigo, porem o erro ainda persiste.
Poderia me ajudar?
No aguardo
23/09/2014
Douglas Lucio
Abraços
18/12/2016
Carlos Faria
Tambem preciso resolver esse mesmo erro urgente. já varri todos os foruns e nada até agora !
19/12/2016
Jones Granatyr
https://www.devmedia.com.br/como-depurar-aplicacoes-datasnap/37277
21/08/2018
Flávio Machado
31/08/2018
Luis Antonio
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 />
22/01/2019
Cristiano Massaroli
<br />
Uso os mesmos parâmetros utilizando PostMan e está funcional.<br />
<br />
Será o meu programa?<br />
<br />
Clique aqui para fazer login e interagir na Comunidade :)