Hola.Tengo una aplicación en Java que a través de llamadas a los webscripts de Alfresco realiza ciertas acciones en el mismo.Algunas de ellas son el alta de personas y de comunidades. El caso es que cuando añado personas o comunidades y estas llevan algún acento o ñ en la plataforma no se añade correctamente.El código Java que utilizo es este:
String alfrescoUser = "usr0000000123";
String alfrescoFirstName = "José Miguel";
String alfrescoLastName = "Español";
String alfrescoEmail = "pruebas@mail_pruebas123.com";
JSONObject personaJSON = new JSONObject();
personaJSON.put("userName", alfrescoUser);
personaJSON.put("firstName", alfrescoFirstName);
personaJSON.put("lastName", alfrescoLastName);
personaJSON.put("email", alfrescoEmail);
postRequest = new HttpPost("http://'+ host + ":" + port + "/alfresco/service/api/people?alf_ticket=" + alfTicket);
input = new StringEntity(personaJSON.toString());
input.setContentType("application/json; charset=UTF-8");
input.setContentEncoding("UTF-8");
postRequest.setHeader("Content-Type","application/json; charset=UTF-8");
postRequest.setEntity(input);
response = httpClient.execute(postRequest);
He puesto lo del UTF-8 en varios sitios para forzarle pero aún asi nada, me salen cosas de este estilo: Espa�ol, Jos�.He buscado por foros y demás y he probado lo siguiente, pero en ningún caso funciona:1- En el setenv.bat en tomcat/bin tengo lo siguiente:
set JAVA_HOME=C:\Alfresco\java
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8 -Djava.file.encoding=UTF-8 -Duser.languaje=es -Duser.region=ES -XX:PermSize=256m
set CATALINA_OPTS=%CATALINA_OPTS% -Dfile.encoding="UTF-8"
2- En el fichero tomcat/conf/web.xml, las primeras líneas como: <servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>fileEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
3- En el fichero tomcat/conf/server.xml el siguiente código: <Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
He puesto trazas en mi Java y los datos que salen hacia Alfresco salen bien:Datos de la persona : {"password":"nadadenada","userName":"usuario_pruebas04","email":"pruebas@mail_pruebas123.com","firstName":"Usuario","lastName":"Pruebás"}Codigo: 200Pero el servidor me responde ya con el encoding mal:Respuesta del servidor ….
<< Response: HTTP/1.1 200 OK
{
"url": "\/alfresco\/service\/api\/person\/usuario_pruebas06",
"userName": "usuario_pruebas06",
"enabled": true,
"firstName": "Usuario",
"lastName": "Prueb\ufffds",
"jobtitle": null,
"organization": null,
"location": null,
"telephone": null,
"mobile": null,
"email": "pruebas@mail_pruebas123.com",
"companyaddress1": null,
"companyaddress2": null,
"companyaddress3": null,
"companypostcode": null,
"companytelephone": null,
"companyfax": null,
"companyemail": null,
"skype": null,
"instantmsg": null,
"userStatus": null,
"userStatusTime": null,
"googleusername": null,
"quota": -1,
"sizeCurrent": 0,
"emailFeedDisabled": false,
"persondescription": null
}Seguiré buscando más información a ver si consigo algo. Mientras tanto, ¿a alguien le ha pasado algo parecido o sabe dónde podría estar el problema?Muchas gracias!