[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