Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Problema accediendo a un servidor datasnap (https://www.clubdelphi.com/foros/showthread.php?t=88615)

lbidi 03-07-2015 22:53:10

Problema accediendo a un servidor datasnap
 
Buenas tardes estimados.
He creado un servidor datasnap en el cual he creado una funcion que recibe como parametro un string en formato json para luego parsearlo e insertar datos en una bd.

Parte de su codigo es el siguiente:
Código Delphi [-]
function TServerMethods.Insertar_Usuario( data: string ): Integer;
var
    cNombres, cApellidos, cDireccion, cCedula, cSexo, cTelefono, cEmail : string;
    dFecha : TDate;
    nFicha : Double;
    jSon  : TJSONObject;
begin
    json := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(data),0) as TJSONObject;
    try
        cNombres   := jSon.Get('nombres').JsonValue.Value;
        cApellidos := jSon.Get('apellidos').JsonValue.Value;
        cDireccion := jSon.Get('direccion').JsonValue.Value;
        dFecha     := StrToDate(jSon.Get('fecha_nacimiento').JsonValue.Value);
        cCedula    := jSon.Get('cedula').JsonValue.Value;
        cSexo      := jSon.Get('sexo').JsonValue.Value;
        cEmail     := jSon.Get('email').JsonValue.Value;
        cTelefono  := jSon.Get('telefono').JsonValue.Value;
    finally
        json.Free;
    end;
el parametro data tiene el siguiente formato

{"nombres":"aa","apellidos":"bb","direccion":"ccc","fecha_nacimiento":"01/01/2015","email":"hola", "telefono":"12222","cedula":"122211122","sexo":"M"}';

Al llamar al procedimiento desde mi navegador invocando dicha funcion con los mismos datos como parametro, el objeto "json" que obtengo siempre es nil.
He probado a definir el parametro con comillas simples y dobles en el cual el proceso no se efectua.
Si asigno dichos valores a una variable y ejecuto la funcion internamente fuera del navegador, funciona perfectamente, asi que algo debe pasar en la manera que la invoco desde el mismo.

Me resulta extraño que ademas tengo otras funciones a las cuales llamo tambien desde el navegador y funciona barbaro, solo que le paso numeros como parametros.

Alguna idea ??

Muchas gracias.

Neftali [Germán.Estévez] 06-07-2015 09:43:32

Cita:

Empezado por lbidi (Mensaje 493999)
el parametro data tiene el siguiente formato

{"nombres":"aa","apellidos":"bb","direccion":"ccc","fecha_nacimiento":"01/01/2015","email":"hola", "telefono":"12222","cedula":"122211122","sexo":"M"}';

¿Estás seguro de que el valor que llega es axactamente ese?
¿Sin ningunas llaves más? ¿Con el mismo formato exactamente?

lbidi 06-07-2015 16:34:33

Hola neftali..
Si estoy seguro que lo que le mando a traves del navegador es esa linea, pero si hago un debug en el programa , la variable data que tomo como parametro, ya es nula.

No tengo ninguna idea que puede estar pasando...
He probado con otros ds servers que tengo y funcionan bien.

Gracias por tus comentarios.

lbidi 06-07-2015 17:45:01

Es mas , si asigno la variable data al string que le paso por parametro, funciona perfecto.


La franja horaria es GMT +2. Ahora son las 04:48:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi