03-20-2018 08:45 AM
Hi,
using SDI (facade) that points to a WMS server, the service parameter is not included in the GetMap query thus making the wms server return an error.
I can see in the SDI log that the original request contains the SERVICE parameter but it's not included in the GetMap query :
2018-03-20 09:29:43,398 [10] DEBUG Intergraph.GeoMedia.Web.SDI.Common.SDIProFacadeInterface.MessageAnalyzers.GetMessageAnalyzer [(null)] - QueryString: SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&LAYERS=WKS%3ACopyrightMERN&FORMAT=image%2Fpng&WIDTH=1574&HEIGHT=805&BBOX=-7894283.45112526,5967926.306944539,-7886763.958467707,5971772.044930137&CRS=EPSG%3A3857&STYLES=&TRANSPARENT=TRUE
... a few lines further :
2018-03-20 09:29:43,398 [10] DEBUG Intergraph.GeoMedia.Web.SDI.WMS.Pipes.WMSOriginatingPipe.WMSOriginatingPipe [(null)] - Attempting to get response from url: https://server-prd.intranet.mrn.gouv/gserver/ows?srs=EPSG%3a3857&crs=EPSG%3a3857&version=1.3.0&layer...
As you can see the SERVICE parameter is not present in the GetMap query to the WMS server.
How can I make SDI include this mandatory parameter in the GetMap query ?
Thanks
Solved! Go to Solution.
03-20-2018 09:24 AM - edited 03-26-2018 06:11 AM
Hi,
I found out how to workaround this problem.
WMS version 1.3.0 seems to be incompatible with /ows services.
If I specify <add key="Intergraph.GeoMedia.Web.SDI.Version" value="1.1.1" /> in the facade's web.config, the GetMap calls use /wms instead of /ows thus making the request work even if the SERVICE parameter is not present.
If you specify 1.3.0, /ows is used even if you entered /wms in the sourceServiceGetEndpoint.
Since SERVICE parameter is mandatory, it should be passed to every GetMap request.
You also have to specify supported version in the facade's web.config to avoid having to specify it from the client side.
Thanks