Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

sistema:errores_gn [2016/08/24 11:07] (actual)
jan creado
Línea 1: Línea 1:
 +====== Problemas conocidos no resueltos ======
  
 +===== GetFeatureInfo de capas no-EPSG:​3857 =====
 +
 +GetFeatureInfo del visor requiere - usando geoserver - que la capa consultada está en el SRS nativo Google Mercator EPSG:3857.
 +
 +Para las propias capas se puede configurar, pero no para las externas como por ejemplo del mae.
 +
 +===== Character encoding getCapabilities WMS =====
 +
 +Character encoding usando el proxy interno, vea por ejemplo "​contact person"​ en:
 +  * https://​gporellana.gob.ec/​portal/​proxy?​url=http%3A%2F%2Fgporellana.gob.ec%3A80%2Fgeoinfo%2Fdatoslibres%2Fows%3FSERVICE%3DWMS%26REQUEST%3DGetCapabilities -> Firebug, response header: Content-Type text/​xml;​charset=ISO-8859-1 an shows as layer name, for example, "​Estación de monitoreo hidrológico"​
 +  * https://​gporellana.gob.ec/​geoinfo/​gadpo/​ows?​SERVICE=WMS&​request=getCapabilities -> Firebug, response header: Content-Type text/xml and shows as layer name, for example, "​Estación de monitoreo hidrológico"​
 +
 +La códificación de caracteres es utf-8, pero el response del servidor al usar el proxy-script de geonetwork es ISO-8859-1, que supuestamente causa el problema.
 +
 +Resumen de las configuraciones realizadas con respecto al character encoding:
 +  * System Debian. ejecutando ''​locale''​ tiene como salida LANG=es_EC.UTF-8
 +<​code>​LANGUAGE=es_EC:​es
 +LC_CTYPE="​es_EC.UTF-8"​
 +LC_NUMERIC="​es_EC.UTF-8"​
 +LC_TIME="​es_EC.UTF-8"​
 +LC_COLLATE="​es_EC.UTF-8"​
 +LC_MONETARY="​es_EC.UTF-8"​
 +LC_MESSAGES="​es_EC.UTF-8"​
 +LC_PAPER="​es_EC.UTF-8"​
 +LC_NAME="​es_EC.UTF-8"​
 +LC_ADDRESS="​es_EC.UTF-8"​
 +LC_TELEPHONE="​es_EC.UTF-8"​
 +LC_MEASUREMENT="​es_EC.UTF-8"​
 +LC_IDENTIFICATION="​es_EC.UTF-8"​
 +LC_ALL=
 +</​code>​
 +  * La codificación de la base de datos de postgresql para geonetwork es UTF-8, también la de los datos.
 +  * Apache httpd en /​etc/​apache2/​conf-available/​charset.conf se ha descomentado la línea ''​AddDefaultCharset utf-8''​
 +  * Java system properties in /​etc/​default/​tomcat8 probado ambos:
 +    * JAVA_OPTS="​-Djava.awt.headless=true -Xmx8192m -XX:​MaxPermSize=2048m -Dfile.encoding=UTF8"​
 +    * JAVA_OPTS="​-Djava.awt.headless=true -Xmx8192m -XX:​MaxPermSize=2048m -Dfile.encoding=UTF-8"​
 +  * Tomcat8 (vea [[https://​wiki.apache.org/​tomcat/​FAQ/​CharacterEncoding|FAQ/​CharacterEncoding]])
 +    * en ''/​etc/​tomcat8/​web.xml''​ se ha descomentado el build in filter setCharacterEncodingFilter
 +    * en ''/​etc/​tomcat8/​server.xml''​ se ha añadido en el tag de connector del AJP/1.3 lo siguiente: URIEncoding="​UTF-8"​ useBodyEncodingForURI="​true"​
 +  * Geoserver character encoding is set to UTF-8 in global options in web interface
 +
 +**Problem is that geoserver should add content-type text/​xml;​charset=UTF-8 to response header** (or anywhere else). As there is no charset declared, it defaults to Latin1, and interpreted as Latin1 by proxy-script instead of UTF-8. Solution is hardcoding UTF-8 as character encoding in proxy script core/​src/​main/​java/​org/​geonetwork/​http/​proxy/​HttpProxyServlet.java line 249 to 
 +<​code>​String responseBody = IOUtils.toString(httpResponse.getEntity().getContent(),​ "​UTF-8"​).trim();</​code>​