Delphi - http.post a Rest con DataSnap

 
Vista:

http.post a Rest con DataSnap

Publicado por Elvin Landeta (1 intervención) el 02/10/2015 21:31:08
Buenas a todos

Estoy tratando de enviar un objeto json a un servicio rest con datasnap, he buscado por internet y lo unico que encuentro es que hay que habilitar CROSS DOMAIN con los siguientes comandos:

Response.SetCustomHeader('Access-Control-Allow-Origin','*');
Response.SetCustomHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
Response.SetCustomHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization');

Con esto logre hacer el Get sin ningun inconveniente

Este es mi metodo Post definido en DataSnap

function TServerMethods.EjemploPost(value: TJSONObject = nil): TJSONObject;
begin
Result:= TJSONObject.Create;

Result.AddPair('mensaje', 'objeto Json Recibido de Forma Satisfactoria...');
//TJSONObject.
end;

Podran notar es un metodo sencillo solo simula la recepcion del objeto json y deberia retornarme en otro json el mensaje.

Este es el codigo usado en JavaScript(AngularJS para ser Especifico)

EjemploPost: function(data) {
data = JSON.stringify(data);

return $http.post("http://localhost:8080/datasnap/rest/TServerMethods/EjemploPost", data);
//return $http(req);

}


El Mensaje de error es el Siguiente:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
(index):1 XMLHttpRequest cannot load http://localhost:8080/datasnap/rest/TServerMethods/EjemploPost. Response for preflight has invalid HTTP status code 500
CommonRepository.js:45 Ejecutar Post

Aclaro, el servidor rest datasnap esta en el puerto 8080 y la aplicacion web Cliente corre sobre Bitnami en el puerto 8081.

Por Favor alguien que me pueda ayudar llevo ya par de semana tratando con este error.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder