Acessar WebService feito em DataSnap com AngularJS ou JavaScript
Senhores, bom dia!
Preciso da ajuda de vocês para tentar solucionar esse problema.
Sou programador Delphi e precisei fazer o acesso aos dados gerados pelo sistema desktop pela web.
Optei por utilizar o DataSnap para criar o WebService, por já ter mais familiaridade com a ferramenta.
Assim, comecei a fazer os testes para acessar o WebService através de um cliente HTML + AngularJS. Criei no DataSnap 4 webservice:
function Produto : TJSONArray;
function updateProduto(AValue: TJSONObject) : TJSONObject;
function acceptProduto(AValue: TJSONObject) : TJSONObject;
function cancelProduto(AKey: String) : TJSONObject;
O DataSnap faz o mapeamento automático para cada uma das funções de acordo com o método HTTP chamado na requisição, conforme abaixo:
Cliente Requisição DataSnap Chama a function
GET Produto
POST updateProduto
PUT acceptProduto
DELETE cancelProduto
Se eu chamar os métodos através de um cliente Delphi chamado RestDebbuger (acompanha o delphi) ou um software de teste de webservice chamado SoapUI consigo acessar todas as funções do webservice sem nenhum problema.
Criei um cliente para consumir esses webservices em HTML e JavaScript/AngularJS, nesse cliente consigo consumir sem problemas os métodos GET e POST. No entanto, quando tento acessar o método PUT ou DELETE sempre me retorna um erro 500 no servidor. Fiz o debbug da aplicação Delphi após fazer a chamada pelo cliente AngularJS e percebi que não está chegando o método ao servidor e por isso ele dá um erro na requisição.
Chamando esse método pelo RestDebbuger e pelo SoapUI funciona normalmente.
Alguém saberia me dizer por qual motivo não consigo acessar esse método pelo angularJS?
Qualquer ajuda será muito bem vinda.
Obrigado!
Discussão (0)
Carregando comentários...