Peticiones de wfs a geoserver en red

33 views
Skip to first unread message

Elvis Cordero

unread,
Oct 25, 2016, 9:45:07 AM10/25/16
to NFMS4REDD-usuarios
buenas tardes tengo que configurar un geoserver para producion cuando lo hago de forma local me trabaja de forma exelente; pero el problema es que ahora tengo que ubicarlo en otro servidor y hacerle mis peticiones por la red y cuando intento conseguir los servicios de wfs llamados en openLayer 2 me de error de  xhtmlRequest  que no puede hacer el llamado a la capa.

revisando materiales me indican que debo configurar un proxy o un cgi, pero no tengo ninguna documentacion que indique con detalle como hacerlo talvez alguno tengan algo que me pueda ayudar a conseguir esto gracias.

Micho García

unread,
Oct 25, 2016, 9:57:09 AM10/25/16
to NFMS4REDD-usuarios
Hola,

de manera típica se configuraba un Proxy CGI para solucionar el problema este. La documentación sobre esto está en inglés y es bastante antigua, pero funcionará:


Yo este lo utilizaba instalándolo en la carpeta cgi de Apache y configurando la variable Openlayers.ProxyHost.

Puede configurar cualquier otro proxy en su máquina, utilizando cualquier otra tecnología con la que se sienta más cómodo, Java, Python, NodeJS, etc. Hay bastante documentación sobre ello en la web. 

Saludos y seguimos en contacto.

El 25 de octubre de 2016, 15:45, Elvis Cordero <alont...@gmail.com> escribió:
buenas tardes tengo que configurar un geoserver para producion cuando lo hago de forma local me trabaja de forma exelente; pero el problema es que ahora tengo que ubicarlo en otro servidor y hacerle mis peticiones por la red y cuando intento conseguir los servicios de wfs llamados en openLayer 2 me de error de  xhtmlRequest  que no puede hacer el llamado a la capa.

revisando materiales me indican que debo configurar un proxy o un cgi, pero no tengo ninguna documentacion que indique con detalle como hacerlo talvez alguno tengan algo que me pueda ayudar a conseguir esto gracias.



--
Micho Garcia

Elvis Cordero

unread,
Oct 25, 2016, 12:07:48 PM10/25/16
to NFMS4REDD-usuarios
Primeramente gracias por responder a la pregunta, igualmente te comento he seguido la documentacion que me indicas pero mi error persiste tengo apache montado sobre windows 7 64bit trabajando por el puerto 8085 en estos momentos mi apache se mira en el computador de la siguiente manera:


dentro de cgi-bin tengo el archivo proxy.cgi como muestro acontinuacion: 



















dentro de la ruta C:\Apache\Apache24\htdocs\visor estan los archivo de open layer 2 que configure para llamar una capa en un pequeño visor de mapas en el codigo de open layer llamo a una capoa de geoserver que esta en otro servidor no en mi maquina local muestro el codigo de open layer:


var deProj4326 = new OpenLayers.Projection("EPSG:4326");
var aProjgoogle = new OpenLayers.Projection("EPSG:900913");
var crmt05 = new OpenLayers.Projection("EPSG:5367");
var format = 'image/png';
var keygin = 'Av3rNLqQlZ7xQr9OTdsGXLPXV6iLID5vjcQJz0gQmcfyceSQlhABiW2AKg7iELBH';
//***********************************************************************************************
//***********************************************************************************************

OpenLayers.ProxyHost = "cgi-bin/proxy.cgi?url=";

function init() 
{
    var position = new OpenLayers.LonLat(-84.166944,10.117934).transform( deProj4326, aProjgoogle);
    var zoom = 8;
    var maxExtent = new OpenLayers.Bounds(-85.950096, 8.015308, -82.552714, 11.219454);
maxExtent.transform(deProj4326, aProjgoogle);
var vector_layer = new OpenLayers.Layer.Vector( "Editable" );
    var options = {
               controls:[ new OpenLayers.Control.Navigation(),
  new OpenLayers.Control.Attribution(),
  new OpenLayers.Control.ScaleLine(),
  new OpenLayers.Control.PanZoomBar(),
  new OpenLayers.Control.MousePosition({ numDigits: 2 }),
  new OpenLayers.Control.EditingToolbar(vector_layer),
      new OpenLayers.Control.OverviewMap()],
   projection: new OpenLayers.Projection("EPSG:900913"),
                    displayProjection: crmt05, 
units: "m",
   maxResolution: "auto",
   minResolution: 0.2,
   numZoomLevels: 20,
maxExtent:maxExtent};   
    
map = new OpenLayers.Map('mapita', options);
var OpenStreetMap = new OpenLayers.Layer.OSM("Simple OSM Map");
var solicitud = new OpenLayers.Layer.WMS("Solicitudes",
         {'layers': 'GeoPSA2016:GEOPSA_SOLICITUDES_INGRESO_POLIGONOS', transparent: true, format: 'image/gif'},
         {isBaseLayer: false}
        );
var highlight = new OpenLayers.Layer.Vector("Highlighted Features", {
            displayInLayerSwitcher: false, 
            isBaseLayer: false 
        });
map.addLayers([OpenStreetMap, solicitud, highlight]);
map.setCenter(position, zoom );
info = new OpenLayers.Control.WMSGetFeatureInfo({
            url: 'http://geopsa.fonafifo.com/wms', 
            title: 'Identify features by clicking',
            queryVisible: true,
            eventListeners: {
                getfeatureinfo: function(event) {
                    map.addPopup(new OpenLayers.Popup.FramedCloud(
                        "chicken", 
                        map.getLonLatFromPixel(event.xy),
                        null,
                        event.text,
                        null,
                        true
                    ));
                }
            }
        });
        map.addControl(info);
        info.activate();
    map.addControl(new OpenLayers.Control.LayerSwitcher());

 }
 
al querer mostrar los datos de la capa openlayer en un popoup me lanza lo sigiente:


 

Micho García

unread,
Oct 26, 2016, 1:05:08 PM10/26/16
to Elvis Cordero, NFMS4REDD-usuarios
Debido a que le has indicado esta URL en el Proxy, te está concatenando localhost:8085/visor/cgi-bin/proxy.cgi?url= mientras que si tienes el proxy configurado en el Apache en el puerto 8085, la ruta del proxy será localhost:8058/cgi-bin/proxy.cgi. Prueba a poner esto:

OpenLayers.ProxyHost = "../cgi-bin/proxy.cgi?url=";

o directamente la ruta absoluta del proxy:


(Ahora no recuerdo si esa era la ruta exacta al CGI de Apache)

Saludos.
Reply all
Reply to author
Forward
0 new messages