Fórum
json web services to get custom field
Víctor Sáez, modificado 7 Anos atrás.
json web services to get custom field
New Member Postagens: 9 Data de Entrada: 10/03/15 Postagens Recentes
Hello.
I have defined a custom field for users. Is there any way to get the value of this custom field invoking json web services? what service?
Thanks very much in advanced
I have defined a custom field for users. Is there any way to get the value of this custom field invoking json web services? what service?
Thanks very much in advanced
Víctor Sáez, modificado 7 Anos atrás.
RE: json web services to get custom field
New Member Postagens: 9 Data de Entrada: 10/03/15 Postagens Recentes
Hi.
It seems a solution could be to use json web service /api/jsonws/expandovalue/get-json-data, but this service is not working for me en Java code.
If I invoke the service through url /api/jsonws/expandovalue/get-json-data and fill in the form work fine but I use the following code, it returns a empy json : {} . My Java code is :
String urlServicioExpando = "http://localhost:8080/api/jsonws/expandovalue/get-json-data"
+ "/company-id/20154"
+ "/class-name/com.liferay.portal.model.User"
+ "/table-name/CUSTOM_FIELDS"
+ "/column-name/nif"
+ "/class-pk/28402";
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
String credentials = username + ":" + password;
BASE64Encoder encoder = new BASE64Encoder();
String b64 = encoder.encode(credentials.getBytes());
HttpGet request = new HttpGet(url);
String authHeader = "Basic " + new String(b64);
request.setHeader(HttpHeaders.AUTHORIZATION, authHeader);
request.addHeader("content-type", "application/json");
HttpResponse result = httpClient.execute(request);
json = EntityUtils.toString(result.getEntity(), "UTF-8");
username and password are passed to this code as a parameter and the values of ther url in property urlServicioExpando are the same values I use in form.
Any Idea.
Thanks
It seems a solution could be to use json web service /api/jsonws/expandovalue/get-json-data, but this service is not working for me en Java code.
If I invoke the service through url /api/jsonws/expandovalue/get-json-data and fill in the form work fine but I use the following code, it returns a empy json : {} . My Java code is :
String urlServicioExpando = "http://localhost:8080/api/jsonws/expandovalue/get-json-data"
+ "/company-id/20154"
+ "/class-name/com.liferay.portal.model.User"
+ "/table-name/CUSTOM_FIELDS"
+ "/column-name/nif"
+ "/class-pk/28402";
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
String credentials = username + ":" + password;
BASE64Encoder encoder = new BASE64Encoder();
String b64 = encoder.encode(credentials.getBytes());
HttpGet request = new HttpGet(url);
String authHeader = "Basic " + new String(b64);
request.setHeader(HttpHeaders.AUTHORIZATION, authHeader);
request.addHeader("content-type", "application/json");
HttpResponse result = httpClient.execute(request);
json = EntityUtils.toString(result.getEntity(), "UTF-8");
username and password are passed to this code as a parameter and the values of ther url in property urlServicioExpando are the same values I use in form.
Any Idea.
Thanks