<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FR-CH" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Dear all,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-GB">I am having quite a strange behaviour trying to do a WFS request with a filter body on an Oracle table. I have another project where we are using the same configuration on PostGIS layers and this is not a problem, thus
 I think it is quite specific to Oracle…<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">The layer definition would be something like:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">LAYER<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    NAME "the_layer"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    TYPE POINT<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    STATUS ON<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    CONNECTION "user/password@my_alias"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    EXTENT 2500000 1160000 2600000 1250000<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    CONNECTIONTYPE PLUGIN<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    PLUGIN "C:\Mapserver7_x64\bin\ms\plugins\oci\msplugin_oracle.dll"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    PROCESSING "CLOSE_CONNECTION=DEFER"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    DATA "GEOM FROM (<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        SELECT<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB">*<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        FROM my_schema.my_table<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        )"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    METADATA<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        "ows_title" " the_layer "<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        "wms_srs" "EPSG:2056"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        "gml_include_items" "*"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        "wfs_enable_request" "*"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        "gml_geometries" "geom"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        "gml_geom_type" "point"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        "ows_metadataurl_href" ""<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        "wfs_srs" "EPSG:2056"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        "gml_featureid"     "NOCOM"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    END<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    TEMPLATE "ttt"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    PROJECTION<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        "init=epsg:2056"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    </span>END<o:p></o:p></p>
<p class="MsoNormal">    CLASS<o:p></o:p></p>
<p class="MsoNormal">        NAME "The class"<o:p></o:p></p>
<p class="MsoNormal">        <span lang="EN-GB">STYLE<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">            SYMBOL "triangle"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">            SIZE 10<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">            COLOR 255 221 85<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        END<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    END<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    TOLERANCE 10<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">END<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Some remarks: the Oracle raw data has not any projection defined, the geometry looks like:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">MDSYS.SDO_GEOMETRY(2001, NULL, MDSYS.SDO_POINT_TYPE(2549853.47, 1194865.78, NULL), NULL, NULL)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">If I add a projection condition in the DATA section of the mapfile (“USING srid 2056”), then the layer does not work anymore. IHMO, Oracle has always had quite a strange projection support…<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Furthermore, I am using the PLUGIN connection type, because my version of Mapserver (taken from gisinternals) does not support Oracle Spatial directly and the OGR included version neither.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Now, almost all kind of requests are working (WMS, raw WFS without any XML body).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Here under is the log (DEBUG 5) of two WFS requests, on the same layer, using the same envelopes. In the first request, the envelope XML tag contains an attribute (srsName) referring to the projection. This attribute
 is not defined in the second request.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">There are no results for the first request and there are results for the second request, which I have been using for years. The only thing differing is the famous srsName attribute on the envelope tag. Actually, I am
 thinking that I misused this for years and that this actually worked (with a lot of chance…)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">You can also see how this induces a different FLTLayerApplyPlainFilterToLayer() definition between the two requests. Without the srsName attribute, Mapserver only uses the rect filter, otherwise it seems to add an “intersects”
 condition, which make the query not returning any results.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">My question is, why this difference as the projection is the same everywhere in my Mapfile (always 2056) and is there a way to make it work with that famous srsName attribute defined ?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Thanks a lot for any hint or explanation on that…<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Best regards<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Michael<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">DEBUG:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal">[Fri May  3 09:10:49 2019].285000 msWFSParseRequest(): WFS post request: <GetFeature xmlns="http://www.opengis.net/wfs" service="WFS" version="1.1.0" outputFormat="GML3" maxFeatures="20" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-GB">    <Query typeName="feature:the_layer" srsName="EPSG:2056" xmlns:feature="http://mapserver.gis.umn.edu/mapserver"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        </span><Filter xmlns="http://www.opengis.net/ogc"><o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">            <span lang="EN-GB"><BBOX><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">                <PropertyName>geom</PropertyName><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">                <Envelope xmlns="http://www.opengis.net/gml" srsName="EPSG:2056"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">                    <lowerCorner>2558525 1201600</lowerCorner><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">                    <upperCorner>2566375 1208250</upperCorner><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">                </Envelope><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">            </BBOX><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        </Filter><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    </Query><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"></GetFeature><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">[Fri May  3 09:10:49 2019].584000 FLTLayerApplyPlainFilterToLayer(): intersects([shape],fromText('POLYGON ((2558525.0000000000000000 1201600.0000000000000000, 2558525.0000000000000000 1208250.0000000000000000, 2566375.0000000000000000
 1208250.0000000000000000, 2566375.0000000000000000 1201600.0000000000000000, 2558525.0000000000000000 1201600.0000000000000000))')) = TRUE, rect=2558525,1201600,2566375,1208250.00000001<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">[Fri May  3 09:10:49 2019].764000 msQueryByFilter(): Search returned no results. No matching record(s) found.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">[Fri May  3 09:10:49 2019].764000 mapserv request processing time (msLoadMap not incl.): 0.479s<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">[Fri May  3 09:10:49 2019].764000 msFreeMap(): freeing map at 00000152DD1D0E60.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">[Fri May  3 09:10:59 2019].732000 CGI Request 2 on process 7356<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">[Fri May  3 09:10:59 2019].732000 msWFSParseRequest(): WFS post request: <GetFeature xmlns="http://www.opengis.net/wfs" service="WFS" version="1.1.0" outputFormat="GML3" maxFeatures="20" xsi:schemaLocation="http://www.opengis.net/wfs
 http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    <Query typeName="feature:the_layer" srsName="EPSG:2056" xmlns:feature="http://mapserver.gis.umn.edu/mapserver"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        <Filter xmlns="http://www.opengis.net/ogc"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">            <BBOX><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">                <PropertyName>geom</PropertyName><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">                <Envelope xmlns="http://www.opengis.net/gml"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">                    <lowerCorner>2558525 1201600</lowerCorner><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">                    <upperCorner>2566375 1208250</upperCorner><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">                </Envelope><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">            </BBOX><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        </Filter><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    </Query><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"></GetFeature><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">[Fri May  3 09:10:59 2019].768000 FLTLayerApplyPlainFilterToLayer(): rect=2558525,1201600,2566375,1208250<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">[Fri May  3 09:10:59 2019].895000 mapserv request processing time (msLoadMap not incl.): 0.163s<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Result obtained with the first request:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><?xml version='1.0' encoding="UTF-8" ?><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><wfs:FeatureCollection<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">   xmlns:ms="http://mapserver.gis.umn.edu/mapserver"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">   xmlns:gml="http://www.opengis.net/gml"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">   xmlns:wfs="http://www.opengis.net/wfs"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">   xmlns:ogc="http://www.opengis.net/ogc"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">   xsi:schemaLocation="http://mapserver.gis.umn.edu/mapserver http://localhost/michael_infopol/mapserv?SERVICE=WFS&amp;VERSION=1.1.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=feature:the_layer&amp;OUTPUTFORMAT=SFE_XMLSCHEMA 
 http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    <gml:boundedBy><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">        <gml:Null>missing</gml:Null><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">    </gml:boundedBy><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"></wfs:FeatureCollection><o:p></o:p></span></p>
</div>
</body>
</html>