Fehler #1109

Fehler in getmap:invalid-crs Konformitätsklasse OGC WMS 1.3.0 -- Ticket#2015050810000064

Von Gregor Scharf vor mehr als 2 Jahren hinzugefügt. Vor mehr als 2 Jahren aktualisiert.

Status:ErledigtBeginn:06.07.2015
Priorität:MittelAbgabedatum:08.07.2015
Zugewiesen an:Gregor Scharf% erledigt:

100%

Kategorie:OGC WMS 1.1.1 und 1.3.0Geschätzter Aufwand:3.00 Stunden
Zielversion:2.1.x

Beschreibung

Der GetMap-Request wird ohne Angabe eines Layers gestellt, daher kommt die Fehlermeldung

<ogc:ServiceException code="Internal server error" locator="unknown">At least one layer must be defined within a GetMap request</ogc:ServiceException>

via

<ctl:method>get</ctl:method>
<ctl:param name="StYlEs"/>
<ctl:param name="ReQuEsT">GetMap</ctl:param>
<ctl:param name="HeIgHt">200</ctl:param>
<ctl:param name="FoRmAt">image%2Fpng</ctl:param>
<ctl:param name="BbOx">-1,-1,1,1</ctl:param>
<ctl:param name="CrS">UndefinedCRS</ctl:param>
<ctl:param name="WiDtH">200</ctl:param>
<ctl:param name="LaYeRs"/>
<ctl:param name="VeRsIoN">1.3.0</ctl:param>
</ctl:request>
<response>
<parser/>
<content>
...

In getmap.xml steht

<xsl:variable name="layer" select="string((//Capability/Layer[1]/Name)[1])"/>

Das kann aus zwei Gründen nicht funktionieren:

  1. Der oberste Layer hat nicht unbedingt einen Namen. Nur "title" ist verpflichtend, siehe: http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd
  2. Die Namensraum-Prefixe fehlen.

Lösung...

<xsl:variable name="layer" select="string((//wms:Layer/wms:Name)[1])"/>

Erklärung: Wegen dem Doppelslash // wird jetzt zum Beispiel der XPath /wms:Layer/wms:Layer/wms:Name/text() gefunden. Der Inhalt wird dann im LaYeRs-Parameter eingetragen.

Historie

#1 Von Gregor Scharf vor mehr als 2 Jahren aktualisiert

  • % erledigt wurde von 50 zu 100 geändert
  • Status wurde von Neu zu Erledigt geändert

Fixed and updated.

Auch abrufbar als: Atom PDF