Opened 17 years ago
Closed 17 years ago
#110 closed defect (fixed)
Invalid URL Encoding in WMS Provider
Reported by: | gregboone | Owned by: | gregboone |
---|---|---|---|
Priority: | major | Milestone: | 3.3.0 |
Component: | WMS Provider | Version: | 3.3.0 |
Severity: | 1 | Keywords: | WMS WFS OWS |
Cc: | External ID: |
Description (last modified by )
Doesn't Work (FDO Output):
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)
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
Change History (6)
comment:1 by , 17 years ago
Description: | modified (diff) |
---|
comment:2 by , 17 years ago
Component: | FDO API → WMS Provider |
---|---|
Keywords: | WMS WFS OWS added |
Severity: | 3 → 1 |
Version: | 3.2.0 → 3.3.0 |
comment:3 by , 17 years ago
Owner: | changed from | to
---|
comment:4 by , 17 years ago
Owner: | changed from | to
---|
comment:5 by , 17 years ago
Status: | new → assigned |
---|
comment:6 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |