[mapserver-users] tinyows

aho forum.email.a at googlemail.com
Mon Nov 12 07:31:31 PST 2012


Hi Alexandre,

I already reinstalled pyhton and made the configuration of the apache 
server again. At least one thing I can exclude - specially because 
sooner or later I have to include it in another project which needs to 
run on a certain port. Anyhow... I also installed the wget and you are 
right, it helps a lot.
I took the GetFeature xml from chrome and constructed the following line:

wget "http://localhost/cgi-bin/tinyows.exe" --post-data="<wfs:GetF
eature xmlns:wfs="http://www.opengis.net/wfs" service="WFS" 
version="1.0.0" outp
utFormat="application/json" 
xsi:schemaLocation="http://schemas.opengis.net/wfs/1
.0.0/WFS-transaction.xsd" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wfs:Query typeName="feature:frida" 
xmlns:feature="http://127.0.0.1/"><ogc:Filte
r 
xmlns:ogc="http://www.opengis.net/ogc"><ogc:BBOX><ogc:PropertyName>the_geom</o
gc:PropertyName><gml:Box xmlns:gml="http://www.opengis.net/gml" 
srsName="EPSG:31
467"><gml:coordinates decimal="." cs="," ts=" ">3413084,5782000 
3457916,5806000<
/gml:coordinates></gml:Box></ogc:BBOX></ogc:Filter></wfs:Query></wfs:GetFeature>
" --header="Content-Type: application/xml; charset=UTF-8" -O C:/test.txt

wget returned:

SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\OSGeo4W\GnuWin32/etc/wgetrc
--2012-11-12 16:17:16--  http://localhost/cgi-bin/tinyows.exe
Resolving localhost... 127.0.0.1, ::1
Connecting to localhost|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/xml]
Saving to: `C:/test.txt'
     [ <=>                                   ] 503 --.-K/s   in 0s

2012-11-12 16:17:16 (11.4 MB/s) - `C:/test.txt' saved [503]
--2012-11-12 16:17:16-- 
http://%3E3413084,5782000%203457916,5806000%3C/gml:coor
dinates%3E%3C/gml:Box%3E%3C/ogc:BBOX%3E%3C/ogc:Filter%3E%3C/wfs:Query%3E%3C/wfs:
GetFeature%3E
Resolving >3413084,5782000 3457916,5806000<... failed: No data record of 
request
ed type.
wget: unable to resolve host address `>3413084,5782000 3457916,5806000<'
FINISHED --2012-11-12 16:17:17--
Downloaded: 1 files, 503 in 0s (11.4 MB/s)


I have really no idea why it is using the coordinates of the bounding 
box for the host?! I thought it would be a problem of wget and the 
quotation marks... but changing that to ' did not solve the problem.
In my test.txt is still the same response: invalid xml. Nothing else 
unfortunately. I think its a problem in my openlayers configuration - I 
check the spatial reference again; maybe I can also set the bbox or 
something. I will see...

If you or anyone else has an idea I will be very happy!
Anna

Am 11/12/2012 2:42 PM, schrieb Alexandre Dubé:
> Hi Anna,
>
>   While working locally, you don't need to set an 
> OpenLayers.ProxyHost.  Put comments // in front of it for now.
>
>   tinyows-1.0.0-weather-sites.fcgi -> copy your tinyows.exe file 
> giving it the name you want.  In Linux, you could use a symbolic link, 
> like I did.  Here's the apache config for it.  It does 2 things : it 
> enables FastCgi and set the TINYOWS_CONFIG_FILE env variable for this 
> link to use a specific .xml config file.
>
> ###
> FastCgiServer /usr/lib/cgi-bin/tinyows-1.0.0-weather-sites.fcgi 
> -initial-env 
> TINYOWS_CONFIG_FILE=/opt/labs/weather-sites/etc/tinyows/config.xml
> ScriptAlias "/weather-sites-tinyows-1.0.0.fcgi" 
> "/usr/lib/cgi-bin/tinyows-1.0.0-weather-sites.fcgi"
> ###
>
> Once you start using wget, the idea is to edit the xml GetFeature 
> request sent and/or the config.xml file as you try it to quickly see 
> what causes things to not work.  Point to tinyows for now, you your 
> proxy (yet), i.e. make your tinyows work first.
>
> Best regards,
>
> Alexandre
>
>
> On 12-11-12 04:05 AM, aho wrote:
>> Hi Alexandre,
>>
>> thanks for the good hints! This is really great! I think its not my 
>> tinyows.xml or the Openlayers... but the error message tells 
>> something else somehow... :(...  I changed it to the following:
>> xml configuration of tinyows:
>>
>> <tinyows online_resource="http://127.0.0.1/cgi-bin/tinyows.exe"
>>        schema_dir="C:\ms4w\apps\tinyows\schema\"
>>        log="C:\ms4w\Apache\logs\tinows.log" log_level="15">
>> <pg host="127.0.0.1" user="postgres" password="postgres" 
>> dbname="tinyows" port="5432"/>
>> <metadata name="TinyOWS Server"
>>           title="TinyOWS Server - WFS-T Frida Service" />
>> <contact name="TinyOWS Server"
>>          site="http://www.tinyows.org/"
>>          email="tinyows-users at lists.maptools.org" />
>> <layer retrievable="1"
>>         writable="1"
>>        ns_prefix="tows"
>>        ns_uri="http://127.0.0.1/"
>>        name="frida"
>>        title="Frida Parks" />
>> </tinyows>
>>
>> and the OpenLayers code:
>>
>>   map = new OpenLayers.Map('map', {
>>       projection: new OpenLayers.Projection("EPSG:31467"),
>>       units: "m",
>>       maxResolution: "auto",
>>       maxExtent: new OpenLayers.Bounds(3427000,5788000,3444000,5800000),
>>       controls: [
>>           new OpenLayers.Control.PanZoom()
>>       ]
>>   });
>>   var osm = new OpenLayers.Layer.WMS(
>>       "OSM by Omniscale WMS",
>>       "http://osm.omniscale.net/proxy/service",
>>       {layers: 'osm', format: 'image/jpeg'},
>>       {projection:"EPSG:31467",  units: "m", maxResolution: "auto", 
>> maxExtent: new OpenLayers.Bounds(3427000,5788000,3444000,5800000)}
>>   );
>>   var saveStrategy = new OpenLayers.Strategy.Save();
>>   saveStrategy.events.register("success", '', showSuccessMsg);
>>   saveStrategy.events.register("fail", '', showFailureMsg);
>>   var wfs = new OpenLayers.Layer.Vector("Editable Features", {
>>       strategies: [new OpenLayers.Strategy.BBOX(), saveStrategy],
>>       projection: new OpenLayers.Projection("EPSG:31467"),
>>       protocol: new OpenLayers.Protocol.WFS({
>>             version:"1.1.0",
>>           url: "http://127.0.0.1/cgi-bin/tinyows.exe",
>>           featureType: "frida",
>>           outputformat:"application/json",
>>           readFormat: new OpenLayers.Format.GeoJSON(),
>>           featureNS: "http://127.0.0.1/",
>>           geometryName: "the_geom"
>>       })
>> });
>>   map.addLayers([osm, wfs]);
>>
>>   map.zoomToMaxExtent();
>>
>> The layer is actually in  31467 - I want to get it working for the 
>> frida parks example. I reduced everything else in my javascript file.
>>
>> But I think I have a problem with my configuration. I am setting the 
>> following in OpenLayers: OpenLayers.ProxyHost = 
>> "/cgi-bin/proxy.cgi?url="; and I saw that you were actually refering 
>> to a fcgi file in your config.xml. I thought I could define there the 
>> path to the tinyows.exe like this: 
>> http://127.0.0.1/cgi-bin/tinyows.exe - do I also give the proxy there?
>> Could you send me the content of your 
>> weather-sites-tinyows-1.0.0.fcgi file? I have to say that I can´t 
>> follow your instructions for setting the environment variable - I 
>> made that via the control Panel :) - and the ScriptAlias.
>>
>> I have to install the wget first on windows, but thanks for that hint 
>> - I will try it after the restart now!
>>
>> Thanks in advance,
>> Anna
>>
>>
>>
>>
>>
>> Am 11/9/2012 2:50 PM, schrieb Alexandre Dubé:
>>> ### The apache config used to bind TinyOWS to this config using a 
>>> different url
>>> FastCgiServer /usr/lib/cgi-bin/tinyows-1.0.0-weather-sites.fcgi 
>>> -initial-env 
>>> TINYOWS_CONFIG_FILE=/opt/labs/weather-sites/etc/tinyows/config.xml
>>> ScriptAlias "/weather-sites-tinyows-1.0.0.fcgi" 
>>> "/usr/lib/cgi-bin/tinyows-1.0.0-weather-sites.fcgi" 
>>
>
>




More information about the MapServer-users mailing list