I'm using ArcGIS 9.3.1 to host WMS and WFS services.
I have a map (.mxd file) with a layer whose attribute table includes fields with mixed-case string data. When I open this map in ArcMap and perform a Find (Edit -> Find), selecting the appropriate layer and field, I get all matching results back, no matter what case I use in entering the search criteria. Searching for 'fireside', 'Fireside', and 'FIRESIDE' in STR_NAME all return features whose STR_NAME is 'Fireside Ln'.
However, if I take the same map and publish it to WFS in ArcCatalog, when I perform a WFS request against it, I only get matching results when searching for 'Fireside' (not 'fireside' or 'FIRESIDE').
I am performing a WFS request in the form of an XML POST. This is an example request that returns no results:
<wfs:GetFeature service="WFS" version="1.1.0" maxFeatures="1000" resultType='results' xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml">
<wfs:Query srsName="EPSG:4326" typeName="centerlines:street_centerline">
<ogc:PropertyName>STR_NAME</ogc:PropertyName>
<ogc:PropertyName>TYPE</ogc:PropertyName>
<ogc:PropertyName>Shape</ogc:PropertyName>
<ogc:Filter>
<ogc:PropertyIsLike wildCard="*" singleChar="." escape="!">
<ogc:PropertyName>STR_NAME</ogc:PropertyName>
<ogc:Literal>*fireside*</ogc:Literal>
</ogc:PropertyIsLike>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
I have also tried adding a matchCase="false" attribute to the ogc:PropertyIsLike tag (based on a discussion I found on osgeo.org), but this also returned no results.
Is there any way to perform a case-insensitive attribute search against a WFS service hosted on ArcGIS Server, either through modifying the request, or by performing some kind of configuration of the layer, map, or service on the server end?