[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