Hi,
In with a JSON validator on the internet I put the URL that I am using:
http://3.12.118.139:8091/scriptcase/app/tempus/blank_ws_autenticar/blank_ws_autenticar.php?usuario=demo1&contrasena=123
I was able to verify that the ws is working well as the validation resulted
in:
[ { "usuario_id":"17", "usuario":"demo1", "nombre_empresa":"Embutidora
Nacional", "impuesto":"7", "menu_id":"1", "dispositivo_id":"4",
"lee_huella":"1", "imei":"55555", "numero_telefono":"64237770",
"correo":"[email protected]", "nombre":"Usuario Embutidos", "radio":"300",
"fuente_inventario":"A", "permite_cambiar_foto":"1", "inicio_sesion":"1",
"rango_inicio":"100001", "rango_fin":"150000", "secuencia_orden":"100054",
"estado":"A", "token":"0a5b3d4a-5b8f-443d-af8e-cfb4100b71c4" }]
For some reason that I do not understand, I am resiving it as a list and
therefore my problem must be with the client. The method to receive is:
public static void login(Idioma idioma, String usuario, String contrasena,
final SuccessCallback<Usuario> onSuccess, final FailureCallback<Object>
onError) {
Rest.get(SERVER_URL +
"blank_ws_autenticar/blank_ws_autenticar.php").
acceptJson().
queryParam("contrasena", contrasena).
queryParam("usuario", usuario).
getAsJsonMapAsync(new Callback<Response<Map>>() {
@Override
public void onSucess(Response<Map> value) {
usr = new Usuario();
PreferencesObject.create(usr).bind();
usr.getPropertyIndex().populateFromMap(value.getResponseData());
onSuccess.onSucess(usr);
}
@Override
public void onError(Object sender, Throwable err, int
errorCode, String errorMessage) {
onError.onError(null, err, errorCode, errorMessage);
}
});
}
I appreciate you pointing out what I'm doing wrong.
Thanks
El Tuesday, June 1, 2021 a la(s) 9:01:21 PM UTC-5, [email protected]
escribió:
> Hi,
>
> Return error in List entries = (List)responseMap.get("data");
>
> java.lang.ClassCastException: class java.util.ArrayList cannot be cast to
> class com.codename1.ui.List (java.util.ArrayList is in module java.base of
> loader 'bootstrap'; com.codename1.ui.List is in unnamed module of loader
> com.codename1.impl.javase.ClassPathLoader @5d5eef3d)
> at com.innova507.server.UsuarioService$1.onSucess(UsuarioService.java:84)
> at com.innova507.server.UsuarioService$1.onSucess(UsuarioService.java:68)
> at
> com.codename1.io.rest.RequestBuilder$6.actionPerformed(RequestBuilder.java:582)
> at
> com.codename1.io.rest.RequestBuilder$6.actionPerformed(RequestBuilder.java:567)
> at
> com.codename1.ui.util.EventDispatcher.fireActionSync(EventDispatcher.java:459)
> at
> com.codename1.ui.util.EventDispatcher.access$100(EventDispatcher.java:45)
> at
> com.codename1.ui.util.EventDispatcher$CallbackClass.run(EventDispatcher.java:95)
> at com.codename1.ui.Display.processSerialCalls(Display.java:1365)
> at com.codename1.ui.Display.edtLoopImpl(Display.java:1307)
> at com.codename1.ui.Display.mainEDTLoop(Display.java:1189)
> at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
> at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
>
> El Tuesday, June 1, 2021 a la(s) 8:45:43 PM UTC-5, Shai Almog escribió:
>
>> Hi,
>> It's a bit hard to read in this way but it looks like the server returns
>> a list of users.
>> So you would need something like this:
>> Map responseMap = value.getResponseData();
>> List entries = (List)responseMap.get("data");
>> usr.getPropertyIndex().populateFromMap((Map)entries.get(0));
>>
>> On Tuesday, June 1, 2021 at 6:49:12 AM UTC+3 [email protected] wrote:
>>
>>> Hi,
>>>
>>> In debug the value value.getResponseData () is:
>>> [image: Muestra.png]
>>> I have "*usuario*" class that implements PropertyBusinessObject to
>>> receive interaction "0" (see image).
>>>
>>> When I try to receive the fields from the class they are in null (
>>> *usr.getPropertyIndex().populateFromMap(value.getResponseData())*; ).
>>>
>>> Thanks
>>>
>>> El Monday, May 31, 2021 a la(s) 8:45:59 PM UTC-5, Shai Almog escribió:
>>>
>>>> Hi,
>>>> It's hard to tell. Is the printout of data related to
>>>> value.getResponseData()?
>>>> What are the fields of User?
>>>> How does it fail? Is the user object not set?
>>>> If you step over it with a debugger is it set for a short while?
>>>>
>>>> On Monday, May 31, 2021 at 7:14:58 PM UTC+3 [email protected] wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I am trying to consume a webservice using the restful API. It
>>>>> correctly returns the information I request:
>>>>>
>>>>> data => [{usuarioid=17, usuario=demo1, nombreempresa=Embutidora
>>>>> Nacional, impuesto=7, menuid=1, dispositivoid=4, leehuella=1, imei=55555,
>>>>> [email protected], nombre=Usuario Embutidos, radio=300,
>>>>> fuenteinventario=A, permitecambiarfoto=1, iniciosesion=1,
>>>>> contrasena=202cb962ac59075b964b07152d234b70, rangoinicio=100001,
>>>>> rangofin=150000, secuenciaorden=100054, estado=A,
>>>>> token=0a5b3d4a-5b8f-443d-af8e-cfb4100b71c4}]
>>>>>
>>>>> To consume I do the following:
>>>>>
>>>>> public static void login(Idioma idioma, String usuario, String
>>>>> contrasena, final SuccessCallback<Usuario> onSuccess, final
>>>>> FailureCallback<Object> onError) {
>>>>> Rest.get(SERVER_URL +
>>>>> "blank_ws_autenticar/blank_ws_autenticar.php").
>>>>> acceptJson().
>>>>> queryParam("contrasena", contrasena).
>>>>> queryParam("usuario", usuario).
>>>>> getAsJsonMapAsync(new Callback<Response<Map>>() {
>>>>>
>>>>> @Override
>>>>> public void onSucess(Response<Map> value) {
>>>>> usr = new Usuario();
>>>>> PreferencesObject.create(usr).bind();
>>>>> *
>>>>> usr.getPropertyIndex().populateFromMap(value.getResponseData())*;
>>>>> onSuccess.onSucess(usr);
>>>>> }
>>>>>
>>>>> @Override
>>>>> public void onError(Object sender, Throwable err,
>>>>> int errorCode, String errorMessage) {
>>>>> onError.onError(null, err, errorCode,
>>>>> errorMessage);
>>>>> }
>>>>> });
>>>>> }
>>>>>
>>>>> I cannot pass the information through the property "populateFromMap"
>>>>> What is the correct way to do it?
>>>>>
>>>>> Thanks
>>>>>
>>>>
--
You received this message because you are subscribed to the Google Groups
"CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/codenameone-discussions/c4d8f507-a0ba-47f7-b769-b906b82af45en%40googlegroups.com.