From: Cameron S. <cam...@gm...> - 2006-01-24 18:53:17
|
This sounds like a bug to me. Can you please add it as an issue in JIRA, priority MINOR. You should be able to cut and paste this email for the description. Looking at your code snippet, line 63 is doing an XSL tranform to create the URL to query. So it seems like there is a bug in the XSL. Nick Floersch wrote: > Hello All. > > I am experiencing a strange issue. My application uses a bunch of static GIS layer and one or more dynamically created layers. I use WMS to deliver the data. Until recently, the app had all WMS layer definitions in one MapServer map file, and thus the OnlineResource string for all of the WMS layers was the same. I have now seperated out the dynamically created layers into a seperate MapServer mapfile, meaning that my context.xml config file for my MapBuilder application has some layers with different OnlineResource URLs than others. > > I did not think this would be a problem. > > MapBuilder draws my maps perfectly well, including the dynamically created layers from my new mapfile, as well as the old. > > BUT... (you knew there was a question in here somewhere) > > I can no longer query my dynamic layers as I could before by usng the Identify tool and thus GetFeatureInfo widget. I thought there was no reason why I shouldn't be able to do this. So I debugged in Venkman. I found that the HTTPPayload URL generated for my dynamic layers, i.e. the layers in the second shape file, is doubled. By doubled I mean the URL repeats twice in the same string variable. > > It happens somewhere in the lines of code looking like this: > --- snip --- (file GetFeatureInfo.js) > 63: urlNode=objRef.xsl.transformNodeToObject(objRef.context.doc); > 64: url=urlNode.documentElement.firstChild.nodeValue; > --- snip --- > > I have verified that it doesn't happen with the layers from the first shapefile. Here are examples: > dynamic layer httpPayload.url = "http://Malibuv2Beta/GIS/cgi-bin/mapserv?map=../maps/Malibu.map&VERSION=1.1.1&REQUEST=GetFeatureInfo&LAYERS=ParcelsBySystemTypeAndEHApprovalDate&SRS=EPSG:26945&BBOX=6345789.799393939,1832088.56,6359494.186060606,1843301.2399999998&WIDTH=550&HEIGHT=450&INFO_FORMAT=application/vnd.ogc.gml&FEATURE_COUNT=1&QUERY_LAYERS=ParcelsBySystemTypeAndEHApprovalDate&X=187&Y=196http://Malibuv2Beta/GIS/cgi-bin/mapserv?map=../maps/admin/Malibu_Report.map&VERSION=1.1.1&REQUEST=GetFeatureInfo&LAYERS=ParcelsBySystemTypeAndEHApprovalDate&SRS=EPSG:26945&BBOX=6345789.799393939,1832088.56,6359494.186060606,1843301.2399999998&WIDTH=550&HEIGHT=450&INFO_FORMAT=application/vnd.ogc.gml&FEATURE_COUNT=1&QUERY_LAYERS=ParcelsBySystemTypeAndEHApprovalDate&X=187&Y=196" > > static layer httpPayload.url = "http://Malibuv2Beta/GIS/cgi-bin/mapserv?map=../maps/Malibu.map&VERSION=1.1.1&REQUEST=GetFeatureInfo&LAYERS=Streams&SRS=EPSG:26945&BBOX=6345789.799393939,1832088.56,6359494.186060606,1843301.2399999998&WIDTH=550&HEIGHT=450&INFO_FORMAT=application/vnd.ogc.gml&FEATURE_COUNT=1&QUERY_LAYERS=Streams&X=187&Y=196" > > Basically, right after the last parameter X-Y coordinates, the dynamic layer repeats. I'm still green enough with MapBuilder to not know if the problem is something I have done wrong, is some bug in MapBuilder, or if the bug is in the HTTPXMLRequest object code (which is using this Sarissa thing, right? maybe?). > > I would have assumed it was my fault if not for the fact that: > a) the map displays perfectly. I can turn the dynamic layers on and off. I can move them above and below static layers. The legend shows up fine. > b) If I remove every layer from the map (context), using the LayerControl's removeLayer button, except the dynamic layer, I can then query it properly. > c) The queries worked fine before > > So it just seems like the problem is having to do with my having layers from different places on the same map. But, MapBuilder should not have any issue with this, right? > > Has this been seen before? > > When I take the URL returned (well, when I copy it out of the variable window in Venkman), and remove the second repetition so I end up with just the first part, and try to run it, I get an error from the WMS saying "WMS server error. Invalid layer(s) given in the LAYERS parameter." > > How can it display the proper layer and yet not have the proper layer name to query?? > > I am using the RC1 code release. My system is Debian Linux. MapServer 4.6.1. > > Thanks in advance for any ideas. This is very confusing. > > Nick > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://sel.as-us.falkag.net/sel?cmd=k&kid3432&bid#0486&dat1642 > _______________________________________________ > Mapbuilder-users mailing list > Map...@li... > https://lists.sourceforge.net/lists/listinfo/mapbuilder-users > -- Cameron Shorter http://cameron.shorter.net |