[mapguide-trac] #1421: OGC WFS 1.1.0 Support
MapGuide Open Source
trac_mapguide at osgeo.org
Tue Sep 14 05:46:10 EDT 2010
#1421: OGC WFS 1.1.0 Support
-----------------------------+----------------------------------------------
Reporter: liuar | Owner: liuar
Type: enhancement | Status: new
Priority: medium | Milestone:
Component: WFS Interface | Version:
Severity: minor | Keywords: WFS
External_id: |
-----------------------------+----------------------------------------------
Comment(by liuar):
'''Fixed OGC certification test failure.''' [[BR]]
1. Test wfs:wfs-1.1.0-Basic-GetCapabilities-tc11.1
(s0012/d1e34887_1/d1e732_1/d1e25171_1/d1e856_1)
Assertion: A response message containing an entity body must contain a
Content-Type entity header field that correctly indicates the media type
of the message body.
The OGC CITE test engine looks for a case-sensitive "Content-Type" in
response header, but MapGuide generates "Content-type" in cgiAgent,
isapiAgent and apacheAgent. So I updated the hard coded "Content-type" to
"Content-Type".
2. Test wfs:wfs-1.1.0-Basic-GetCapabilities-tc9.2
(s0012/d1e34887_1/d1e732_1/d1e25171_1/d1e836_1)
Assertion: A valid http URL value shall conform to the syntax specified in
RFC 2616. http_URL = 'http:' '//' host [ ':' port ] [ abs_path [ '?' query
]]
The OGC CITE test engine looks for a root element which is an
ows:ExceptionReport document. The MapGuide WFS exception response template
should be updated to
{{{
<!--
Exception Format - XML
-->
<Response request="Exception" content-type="text/xml">
<ows:ExceptionReport
version="&TemplateVersion;"
xmlns:ows="http://www.opengis.net/ows"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/ows
http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd">
<ows:Exception exceptionCode="&Exception.Type;"
locator="&Exception.Locator;">
<ows:ExceptionText>
&Exception.message;
</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
</Response>
}}}
3. Test wfs:wfs-1.1.0-Basic-GetCapabilities-tc16.1
(s0012/d1e34887_1/d1e732_1/d1e25171_1/d1e898_1)
Assertion: In the event that a GetCapabilities request cannot be processed
for any reason, the response entity shall include an exception report. The
exception code must be one of those listed in Table 5.
For request:
http://xxx.xxx.xxx.xxx/mapguide/mapagent/mapagent.fcgi?&version=1.1.0&request=GetCapabilities,
an !OperationNotSupported exception will be thrown from MapGuide, which
should be a !MissingRequestParameter exception.
I also extended the OGCException by adding a new member m_pszLocator,
since the optional ows:Locator attribute is required by the OGC test
engine.
4. Test wfs:wfs-1.1.0-Basic-GetCapabilities-tc13.2
(s0012/d1e34887_1/d1e732_1/d1e25171_1/d1e872_1)
Assertion: A KVP-encoded GetCapabilities request shall include the
following query parameters: service=WxS request=GetCapabilities, where WxS
is a mnemonic label for a service type. See Table 2 for definitions of
optional query parameters.
For request:
http://xxx.xxx.xxx.xxx/mapguide/mapagent/mapagent.fcgi?&request=GetCapabilities&version=1.1.0,
an OWS exception is expected by the OGC CITE test engine which is a WFS
exception type. So, if SERVICE parameter is not specified, the default
service will be WFS.
5. Test wfs:wfs-1.1.0-Basic-GetCapabilities-tc15.2
(s0012/d1e34887_1/d1e732_1/d1e25171_1/d1e892_1)
Assertion: Version negotiation using !AcceptVersions parameter (preference
ordering): Return service metadata corresponding to the most preferred
version that is supported. If none of the requested versions are
supported, the server must generate an exception with code
'!VersionNegotiationFailed'.
For request:
http://xxx.xxx.xxx.xxx/mapguide/mapagent/mapagent.fcgi?&service=WFS&request=GetCapabilities&acceptversions=2006.10.25,
an exception is expected by the OGC test engine but MapGuide doesn't check
the acceptVersions parameter. I extended the
!MgOgcWfsServer::ValidateRequest() to handle the unsupported versions case
for WFS.
NOTE: acceptVersions is not supported in current MapGuide implementation.
Changeset [5131] by liuar
--
Ticket URL: <http://trac.osgeo.org/mapguide/ticket/1421#comment:6>
MapGuide Open Source <http://mapguide.osgeo.org/>
MapGuide Open Source Internals
More information about the mapguide-trac
mailing list