Ask Questions and Find Answers
Important:
Ask is now read-only. You can review any existing questions and answers, but not add anything new.
But - don't panic! While ask is no more, we've replaced it with discuss - the new Liferay Discussion Forum! Read more here here or just visit the site here:
discuss.liferay.com
RE: Web service json problema encoding caratteri
Ciao a tutti,
ho riscontrato un problema in un web service implementato su Liferay 6.2ce gae5
In pratica quando gli passo i parametri con delle lettere accentate tipo ò à ì, il ws non interpreta bene i caratteri dei parametri.
Qualcuno ha una soluzione da indicarmi?
Questo è il mio web service :
@AccessControlled(guestAccessEnabled=true)
@JSONWebService(method="POST",value="/registraUser")
public Object registraUser(String nome,String cognome){
....
....
}
e questo è il client java dove lo chiamo:
String urlString=urlWsPortalApplication;
//GET TOKEN ---------------------------------------------------------------------------------------
URL url = new URL(urlString+"registraUser");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
String urlParameters = "nome="+nome+"&cognome="+cognome;
// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
....
Ripeto funziona tutto bene tranne che per le parole accentate dove me le sostituisce con dei simboli strani.
Grazie
ho riscontrato un problema in un web service implementato su Liferay 6.2ce gae5
In pratica quando gli passo i parametri con delle lettere accentate tipo ò à ì, il ws non interpreta bene i caratteri dei parametri.
Qualcuno ha una soluzione da indicarmi?
Questo è il mio web service :
@AccessControlled(guestAccessEnabled=true)
@JSONWebService(method="POST",value="/registraUser")
public Object registraUser(String nome,String cognome){
....
....
}
e questo è il client java dove lo chiamo:
String urlString=urlWsPortalApplication;
//GET TOKEN ---------------------------------------------------------------------------------------
URL url = new URL(urlString+"registraUser");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
String urlParameters = "nome="+nome+"&cognome="+cognome;
// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
....
Ripeto funziona tutto bene tranne che per le parole accentate dove me le sostituisce con dei simboli strani.
Grazie
Fabrizio,
in questo tipo di problemi di solito Liferay è l'ultimo pezzo a cui dare la colpa.
Ci possono essere impostazioni da verificare a livello di JVM, di database, di Tomcat, di Apache httpd che gli sta di fronte magari.
Primo test:
inserisci un utente con dei caratteri unicode attraverso il portale, modo standard, e vedi se Liferay mantiene il testo corretto.
in questo tipo di problemi di solito Liferay è l'ultimo pezzo a cui dare la colpa.
Ci possono essere impostazioni da verificare a livello di JVM, di database, di Tomcat, di Apache httpd che gli sta di fronte magari.
Primo test:
inserisci un utente con dei caratteri unicode attraverso il portale, modo standard, e vedi se Liferay mantiene il testo corretto.
Ciao Daniele,
ho risolto aggiungendo questa linea di codice al mio client java...
wr.write(urlParameters.getBytes("UTF-8"));
Ora è tutto ok.
Grazie ancora. Saluti
ho risolto aggiungendo questa linea di codice al mio client java...
wr.write(urlParameters.getBytes("UTF-8"));
Ora è tutto ok.
Grazie ancora. Saluti
Copyright © 2025 Liferay, Inc
• Privacy Policy
Powered by Liferay™