added vendorParams:{ SEMCDC:thisCDC, RSS: thisRSS, ORDRE: thisOrdre}
in the WMSGetFeatureInfo options



 




steve.tout...@inspq.qc.ca@openlayers.org 
Envoyé par : users-boun...@openlayers.org
20/11/2009 03:52 PM

A
users@openlayers.org
cc

Objet
[OpenLayers-Users] getFeatureInfo and variable substitution









Hi, 
I got an error when querying a wms layer (mapserver) with a 
OpenLayers.Control.WMSGetFeatureInfo request when there is a variables 
substitution. 
I have a WMS layer define like this: 
createWmsLayer('ecoles', '.../cgi-bin/mapserv.exe?map=MYMAP',{layers: 
'ecoles', transparent: "true", format:"image/gif", SEMCDC:thisCDC, RSS: 
thisRSS, ORDRE: thisOrdre},{isBaseLayer: false, visibility: 
false,singleTile:true,transitionEffect: 'resize'}); 

I have 3 variables: SEMCDC, RSS, ORDRE 
In the mapfile I use this statement 
FILTER "semcdc in (%SEMCDC%) and rss in (%RSS%) and ordre in (%ORDRE%)" 

The getMap request is succesfull. 

Here is the request 
/cgi-bin/mapserv.exe?map=MYMAP 
service=WMS&version=1.1.0&request=GetFeatureInfo&layers=ecoles&query_layers=ecoles&styles=&bbox=-8820221.560815%2C5721770.182129%2C-7587445.168853%2C6361395.234705&srs=EPSG%3A900913&feature_count=3000&x=272&y=457&height=523&width=1008&info_format=text%2Fhtml
 


Here is the response 
<?xml version='1.0' encoding="ISO-8859-1" standalone="no" ?> 
<!DOCTYPE ServiceExceptionReport SYSTEM "
http://schemas.opengis.net/wms/1.1.0/exception_1_1_0.dtd";> 
<ServiceExceptionReport version="1.1.0"> 
<ServiceException> 
prepare_database(): Query error. Error declaring cursor: ERROR:  syntax 
error at or near &quot;%&quot; 
LINE 1: ...:text from ecoles WHERE (semcdc in (%SEMCDC%) ... 
                                                             ^ 
With query string: DECLARE mycursor BINARY CURSOR FOR SELECT 
&quot;taux_abs&quot;::text,&quot;nouv&quot;::text,asbinary(force_collection(force_2d(geom900913)),&#39;NDR&#39;),id::text
 
from ecoles WHERE (semcdc in (%SEMCDC%) and rss in (%RSS%) and ordre in 
(%ORDRE%)) and (geom900913 &amp;&amp; setSRID( 
&#39;BOX3D(-8493071.07981319 5795761.22549582,-8480841.15528974 
5807991.15001926)&#39;::BOX3D,900913) ) 

</ServiceException> 
</ServiceExceptionReport> 


How should I query the layer? 
Thanks 
Steve 

Steve Toutant, M. Sc.
Analyste en géomatique
Secteur environnement
Direction de la santé environnementale et de la toxicologie
Institut national de santé publique du Québec
945, avenue Wolfe
Québec, Qc G1V 5B3 
Tél.: (418) 650-5115 #5281
Fax.: (418) 654-3144
steve.tout...@inspq.qc.ca
http://www.inspq.qc.ca 
  _______________________________________________
Users mailing list
Users@openlayers.org
http://openlayers.org/mailman/listinfo/users



_______________________________________________
Users mailing list
Users@openlayers.org
http://openlayers.org/mailman/listinfo/users

Reply via email to