Thanks Chris, it worked.
Daniel
Am 10/02/2011 16:52, schrieb [email protected]:
On Feb 10, 2011, at 10:48 AM, ext Daniel Degasperi wrote:
Hi Chris,
I admit it is a ugly hack.
I'm working localy on my machine, so I can't give you the exact url.
The url was constructed with following lines of code:
var queryModel = queryableLayers[featureType];
var filter = new OpenLayers.Filter.Comparison({
type: OpenLayers.Filter.Comparison.EQUAL_TO,
property: fieldName,
value: fieldValue
});
var filter_1_0 = new OpenLayers.Format.Filter({version: "1.0.0"});
var xml = new OpenLayers.Format.XML();
var filterValue = xml.write(filter_1_0.write(filter));
// create WFS url
var wfsUrl =
queryModel.layer.url+'PROJECT='+queryModel.layer.parameters.project+'&MAP='+queryModel.layer.parameters.map+'&SERVICE=WFS&VERSION=1.0.0&REQUEST=GETFEATURE'
+ '&SRS='+gisclient.options.mapsetData.projection
+ '&TYPENAME='+featureType
+ '&FILTER='+filterValue;
Maybe the right solution is to quote each url parameter value (in proxy or in
javascript), espacially the xml strings, to avoid problems of truncated
parameter values.
I don't know much about filters, but this looks like it is a problem on your
client side, yes. I would recommend instead of building a long string by
hand, you build your query string with:
OpenLayers.Util.getParameterString({'FILTER': filterValue})
etc.
This function will handle the encoding the parameter pieces for
you (and makes your code cleaner to boot).
-- Chris
Daniel
Am 10/02/2011 15:38, schrieb [email protected]:
On Feb 10, 2011, at 9:15 AM, ext Daniel Degasperi wrote:
Hi,
I used the proxy.py script (equivalent to the proxy.cgi in OpenLayers example)
with a WFS request, on which I applied a OGC filter.
The proxy didn't work as normally, because of a space-character in middle of my
OGC filter.
The solution I've applied was to quote the part of the OGC filter:
start = url.find("<ogc:Filter")
end = url.find("</ogc:Filter>")
urlPre = url[:start]
urlFilter = url[start:end+13]
urlPost = url[end+13:]
url = urlPre + urllib.quote(urlFilter) + urlPost
Could this solution be integrated in the example?
I don't know that I understand what you're suggesting here,
but encoding the specifics of OGC filter rules into the proxy.cgi
in the OpenLayers examples is probably not the right solution.
Can you give an example of the URL to proxy.py that you used to
reproduce this?
Like:
http://openlayers.org/dev/examples/proxy.cgi?url=http://example.com/ogcfilterhere
Thanks,
Chris
Best regards,
Daniel
--
Daniel Degasperi
R3 GIS Srl - GmbH
Via Johann Kravogl-Str. 2
I-39012 Meran/Merano (BZ)
web:
www.r3-gis.com
Email:
[email protected]
Tel. : +39 0473 494949
Fax : +39 0473 069902
ATTENZIONE! Le informazioni contenute nella presente e-mail e nei documenti
eventualmente allegati sono confidenziali. La loro diffusione, distribuzione
e/o riproduzione da parte di terzi, senza autorizzazione del mittente è vietata
e può violare il D. Lgs. 196/2003. In caso di ricezione per errore, Vogliate
immediatamente informare il mittente del messaggio e distruggere la e-mail.
ACHTUNG! Die in dieser Nachricht oder in den beigelegten Dokumenten
beinhalteten Informationen sind streng vertraulich. Ihre Verbreitung und/oder
ihre Wiedergabe durch Dritte ist ohne Erlaubnis des Absenders verboten und
verstößt gegen das Legislativdekret 196/2003. Sollten Sie diese Mitteilung
irrtümlicherweise erhalten haben, bitten wir Sie uns umgehend zu informieren
und anschließend die Mitteilung zu vernichten.
WARNING! This e-mail may contain confidential and/or privileged information. If
you are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any unauthorised
copying, disclousure or distribution of the material in this e-mail is strictly
forbidden and could be against the law (D. Lgs. 196/2003)
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users
--
Daniel Degasperi
R3 GIS Srl - GmbH
Via Johann Kravogl-Str. 2
I-39012 Meran/Merano (BZ)
web: www.r3-gis.com
Email: [email protected]
Tel. : +39 0473 494949
Fax : +39 0473 069902
ATTENZIONE! Le informazioni contenute nella presente e-mail e nei documenti
eventualmente allegati sono confidenziali. La loro diffusione, distribuzione
e/o riproduzione da parte di terzi, senza autorizzazione del mittente è vietata
e può violare il D. Lgs. 196/2003. In caso di ricezione per errore, Vogliate
immediatamente informare il mittente del messaggio e distruggere la e-mail.
ACHTUNG! Die in dieser Nachricht oder in den beigelegten Dokumenten
beinhalteten Informationen sind streng vertraulich. Ihre Verbreitung und/oder
ihre Wiedergabe durch Dritte ist ohne Erlaubnis des Absenders verboten und
verstößt gegen das Legislativdekret 196/2003. Sollten Sie diese Mitteilung
irrtümlicherweise erhalten haben, bitten wir Sie uns umgehend zu informieren
und anschließend die Mitteilung zu vernichten.
WARNING! This e-mail may contain confidential and/or privileged information. If
you are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any unauthorised
copying, disclousure or distribution of the material in this e-mail is strictly
forbidden and could be against the law (D. Lgs. 196/2003)
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users