[mapserver-users] C# mapscripts and WFS Service , xml-encoded Post Request with openlayers

Tamas Szekeres szekerest at gmail.com
Fri Sep 10 03:36:04 EDT 2010


Hi,

Currently loadParams can only be called within the context of a CGI process
and it may not be usable ny an ASP.NET application. However I'll inversigate
the approach whether it could be made suitable for use in
ASP.NETenvironment too.

Best regards,

Tamas



2010/9/10 Fuming Li <wingicelee at hotmail.com>

>  Hi, I 'm currently deploying a WFS Server with C# mapscripts.  The Request
> issued by openlayers is xml-encoded post request.
> When I tried to use "loadparam", it exited abnormally.  So I had to parse
> parameter by myself.  So my question is: do I have to parse the xml-encoded
> post request manually?
> is there a function I can use to parse the post request?
>
> WFS Service:
>
> public class MapWFS : IHttpHandler {
>
>     public void ProcessRequest (HttpContext context) {
>         try
>         {
>             OWSRequest req = new OWSRequest();
>
>             System.Collections.Specialized.NameValueCollection queryStr =
> context.Request.Params;
>
>             //req.loadParams();  can't call this function, it will exit
> immediately.
>             req.setParameter("service", "WFS");
>             req.setParameter("version", "1.0.0");
>             req.setParameter("request", "getFeature");
>
>             for (int i = 0; i < queryStr.Count; ++i)
>             {
>                 req.setParameter(queryStr.GetKey(i), queryStr.Get(i));
>            }
>
>             string mapFileName =
> ConfigurationManager.AppSettings["MapFilePath"];
>             mapObj map = new mapObj(context.Server.MapPath(mapFileName));
>     ...
>
>             mapscript.msIO_installStdoutToBuffer();
>
>             map.OWSDispatch(req);
>
>             context.Response.ContentType =
> mapscript.msIO_stripStdoutBufferContentType();
>
> context.Response.BinaryWrite(mapscript.msIO_getStdoutBufferBytes());
>             mapscript.msIO_resetHandlers();
>
> OpenLayers:
>             var wfs = new OpenLayers.Layer.Vector("WFSCELL", {
>                     strategies: [new OpenLayers.Strategy.BBOX()],
>                     isBaseLayer: true,
>                     styleMap: styleMap,
>                     service: wfs,
>                     Version: "1.0.0",
>                     TypeName:"cell",
>                     protocol: new OpenLayers.Protocol.WFS({
>                         url: "MapWFS.ashx",
>                         featureType: "cell",
>                         featurePrefix: "cs" ,
>                         featureNS: "http://www.openplans.org/topp",
>                         geometryName: 'msGeometry'
>
>
>                     })
>                 });
>         wfs.isBaseLayer = true;
>         map.addLayer(wfs);
>
>
> content of the post-request:
>
> <wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" service="WFS"
> version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wfs
> http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance">
>     <wfs:Query typeName="cs:cell" xmlns:cosunet="
> http://www.openplans.org/topp">
>           <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
>                <ogc:BBOX>
>                    <ogc:PropertyName>msGeometry</ogc:PropertyName>
>                    <gml:Box xmlns:gml="http://www.opengis.net/gml"
> srsName="EPSG:4326"><gml:coordinates decimal="." cs="," ts="
> ">110.298828125,28.1875 127.701171875,33.8125</gml:coordinates></gml:Box>
>                </ogc:BBOX>
>           </ogc:Filter>
> </wfs:Query>
>
>
>
> </wfs:GetFeature>
>
>
> ------------------------------
> From: wingicelee at hotmail.com
> To: mapserver-users at lists.osgeo.org
> Date: Thu, 9 Sep 2010 00:44:30 +0000
> Subject: [mapserver-users] C# mapscripts and WFS Service , xml-encoded Post
> Request with openlayers
>
>
> Hi, I 'm currently deploying a WFS Server with C# mapscripts.  The Request
> issued by openlayers is xml-encoded post request.
> When I tried to use "loadparam", it exited abnormally.  So I had to parse
> parameter by myself.  So my question is: do I have to parse the xml-encoded
> post request manually?
> is there a function I can use to parse the post request?
>
>
> Thanks and Best Request,
> William
>
>
> _______________________________________________ mapserver-users mailing
> list mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20100910/e0266da7/attachment-0001.html


More information about the mapserver-users mailing list