[fdo-trac] #110: Invalid URL Encoding in WMS Provider

FDO trac_fdo at osgeo.org
Wed Aug 29 15:36:06 EDT 2007


#110: Invalid URL Encoding in WMS Provider
-------------------------+--------------------------------------------------
   Reporter:  gregboone  |       Owner:  gregboone
       Type:  defect     |      Status:  new      
   Priority:  major      |   Milestone:  3.3.0    
  Component:  FDO API    |     Version:  3.2.0    
   Severity:  3          |    Keywords:           
External_id:             |  
-------------------------+--------------------------------------------------
 Doesn't Work (FDO Output):

 http://demo.ermapper.com/ecwp/ecw_wms.dll?skdemo?&version=1%2E1%2E1&service=WMS&REQUEST=GetMap&LAYERS=ERIC%5FCLIP&STYLES=&CRS=EPSG%3A26913&SRS=EPSG%3A26913&FORMAT=image%2Fpng&BBOX=318504%2E021168%2C5405015%2E092878%2C556941%2E817003%2C5788873%2E742216&HEIGHT=586&WIDTH=364&TRANSPARENT=TRUE&BGCOLOR=0xFFFFFF%20HTTP/1.1


 Works (Remove URL encoding)

 http://demo.ermapper.com/ecwp/ecw_wms.dll?skdemo?&version=1.1.1&service=WMS&REQUEST=GetMap&LAYERS=ERIC_CLIP&STYLES=&CRS=EPSG:26913&SRS=EPSG:26913&FORMAT=image/png&BBOX=318504.021168,5405015.092878,556941.817003,5788873.742216&HEIGHT=586&WIDTH=364&TRANSPARENT=TRUE&BGCOLOR=0xFFFFFF


 WMS 1.1.1 Spec

 6.2.1 Reserved characters in HTTP GET URLs
 The URL specification [IETF RFC 2396] reserves particular characters as
 significant and requires that these be escaped when they might conflict
 with their defined usage. The present WMS specification explicitly
 reserves several of these characters for use in the query portion of HTTP
 GET requests. When the characters "?", "&", "=", "/", ":" and "," appear
 in one of the roles defined in Table 1, they are to appear literally in
 the URL. When such characters appear elsewhere (for example, in the value
 of a parameter), they are to be encoded as defined in [IETF RFC 2396].

 Table 1 Reserved Characters in HTTP GET Query
 Character...Reserved Usage
 ? Separator indicating start of query string.
 & Separator between parameters in query string.
 = Separator between name and value of parameter.
 / Separator between MIME type and subtype in format parameter value.
 : Separator between Namespace and Identifier in SRS parameter value.
 , Separator between individual values in list-oriented parameters.

 Alternative (per WMS spec - does not work - handcrafted)

 http://demo.ermapper.com/ecwp/ecw_wms.dll?skdemo?&version=1%2E1%2E1&service=WMS&REQUEST=GetMap&LAYERS=ERIC%5FCLIP&STYLES=&CRS=EPSG%3A26913&SRS=EPSG:26913&FORMAT=image/png&BBOX=318504%2E021168,5405015%2E092878,556941%2E817003,5788873%2E742216&HEIGHT=586&WIDTH=364&TRANSPARENT=TRUE&BGCOLOR=0xFFFFFF%20HTTP/1.1

 Alternative (works - found by changing encoding by hand one character at a
 time)

 http://demo.ermapper.com/ecwp/ecw_wms.dll?skdemo?&version=1.1.1&service=WMS&REQUEST=GetMap&LAYERS=ERIC%5FCLIP&STYLES=&CRS=EPSG%3A26913&SRS=EPSG:26913&FORMAT=image/png&BBOX=318504.021168,5405015.092878,556941.817003,5788873.742216&HEIGHT=586&WIDTH=364&TRANSPARENT=TRUE&BGCOLOR=0xFFFFFF%20HTTP/1.1

 Possible Conclusions:

 ERMapper does not accept input "version=1%2E1%2E1"2E for "version=1.1.1"
 as specified in WMS 1.1.1 (section 6.2.1)

 ERMapper does not seem to accept "%2E" as "." as specified in WMS 1.1.1
 (section 6.2.1)

 FDO outputs "SRS=EPSG%3A26913" instead of "SRS=EPSG:26913" as specified in
 WMS 1.1.1 (section 6.2.1)

 FDO outputs
 "BOX=318504%2E021168%2C5405015%2E092878%2C556941%2E817003%2C5788873%2E742216"
 instead of
 "BBOX=318504%2E021168,5405015%2E092878,556941%2E817003,5788873%2E742216"
 as specified in WMS 1.1.1 (section 6.2.1)

 It appears that there is confusion about whether "." is a reserved
 character...it is not according to IETF RFC 2396

-- 
Ticket URL: <http://trac.osgeo.org/fdo/ticket/110>
FDO <http://fdo.osgeo.org/>
Feature Data Objects


More information about the fdo-trac mailing list