[Users] Proxy trouble with GeoExt Query Panel?

Philippe Rufin philippe.rufin at googlemail.com
Thu Sep 15 14:01:39 CEST 2011


Hi everybody,

I´m trying to use the GeoExt QueryPanel and I got it working so far, it
recognizes the layers available on my Geoserver but it is not able to get
the attribute columns for each dataset. I configured an osgeo proxy (
http://trac.osgeo.org/openlayers/browser/trunk/openlayers/examples/proxy.cgi)
on my Apache Server, I use the override-ext-ajax.js and have the
OpenLayers.ProxyHost
= "/cgi-bin/proxy.cgi?url="; class configured.

A DescribeFeatureType request is sent when selecting the layer I want to
filter. The same happens when trying to choose the attribute column in the
query panel, but there are none displayed.

The sent request URLs look like this:

http://localhost/cgi-bin/proxy.cgi?url=http%3A%2F%2Flocalhost%2Fcgibin%2Fproxy.cgi%2Fwfs%3F
VERSION%3D1.1.0%26REQUEST%3DDescribeFeatureType%26TYPENAME%3Dcases%26query%3D

The strange part here is, that the request is sent via
localhost/cgi-bin/proxy.cgi? twice, instead of using
localhost/geoserver/wfs?. The request URL should look like this, going
passed geoserver´s WFS:

http://localhost/cgi-bin/proxy.cgi?url=http%3A%2F%2Flocalhost%3A8080%2Fgeoserver%2Fwfs%3F
VERSION%3D1.1.0%26REQUEST%3DDescribeFeatureType%26TYPENAME%3Dcases%26query%3D


Does anybody have a clue what´s going wrong here and why the request URL is
wrong? Even if I remove the Open.Layers.ProxyHost class and the
override-ext-ajax.js from my application, the request is sent that way. Can
it be related to my server? Other requests sent in the application (GET &
POST) work fine. The (relevant) code looks like this, maybe you guys can
spot the error...

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

        var owsUrl = "/geoserver/wfs";

        var symbolizer = OpenLayers.Feature.Vector.style["default"];

        symbolizer.graphicName = "square";

        var store;

        Ext.onReady(function() {

                    store = new GeoExt.data.WFSCapabilitiesStore({
                    url: Ext.urlAppend(owsUrl,
                       "VERSION=1.0.0&REQUEST=GetCapabilities"),
                    protocolOptions: {version: "1.1.0"},
                    autoLoad: true,
                    listeners: {
                        load: initApp
                    }
                    });
                });

        function initApp() {
                var vecLayer = new OpenLayers.Layer.Vector("Query", {
                    eventListeners: {
                        featuresadded: function() {
                            var extent = vecLayer.getDataExtent()
                            mapPanel.map.zoomToExtent(extent)
                        }
                    }
                });



    var queryPanel = new gxp.QueryPanel({
                    title: "Query",
                    region: "center",
                    width: 350,
                    bodyStyle: "padding: 10px",
                    autoScroll: true,
                    layerStore: store,
                    bbar: ["->", {
                        text: "Query",
                        handler: function() {
                            queryPanel.query();
                        }
                    }],
                    listeners: {
                        query: function(panel, store) {
                            var rule = new OpenLayers.Rule({
                                filter: panel.getFilter()
                            });
                            rule.symbolizer[queryPanel.symbolizerType] =
symbolizer;
                            var style = new OpenLayers.Style("", {rules:
[rule]});
                            wms.mergeNewParams({
                                sld_body: new
OpenLayers.Format.SLD().write({
                                    namedLayers: [{
                                        name:
panel.selectedLayer.get("name"),
                                        userStyles: [style]
                                    }]
                                })
                            });

                            store.bind(vecLayer, {
                                initDir:
GeoExt.data.FeatureStore.STORE_TO_LAYER
                            });
                        }
                    }
                });




Any help is appreciated!

Cheers,

Philippe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.geoext.org/pipermail/users/attachments/20110915/ffec115a/attachment.htm 


More information about the Users mailing list