[mapserver-users] tinyows
aho
forum.email.a at googlemail.com
Tue Nov 13 01:11:40 PST 2012
Hi Alexandre,
ok, I changed to '<wfs:...', removed the Filter and got this in my -O
test.txt file:
<?xml version='1.0' encoding='UTF-8'?>
<ows:ExceptionReport
xmlns='http://www.opengis.net/ows'
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'
version='1.1.0' language='en'>
<ows:Exception exceptionCode='InvalidParameterValue' locator='request'>
<ows:ExceptionText>xml isn't valid</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
This is always the same actually.
This was the result and the adjusted wget command:
C:\Users\Anna>wget "http://localhost/cgi-bin/tinyows.exe
--post-data='<wfs:GetFe
ature xmlns:wfs="http://www.opengis.net/wfs" service="WFS"
version="1.1.0" xsi:s
chemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.1.0/w
fs.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><wfs:Query
typeNam
e="feature:frida" srsName="EPSG:31467"
xmlns:feature="http://127.0.0.1/"></wfs:Q
uery></wfs:GetFeature>' --header="Content-Type: application/xml;
charset=UTF-8"
-O C:\test.txt
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\OSGeo4W\GnuWin32/etc/wgetrc
--2012-11-13 10:07:35--
http://localhost/cgi-bin/tinyows.exe%20--post-data='%3C
wfs:GetFeature%20xmlns:wfs=http://www.opengis.net/wfs%20service=WFS%20version=1.
1.0%20xsi:schemaLocation=http://www.opengis.net/wfs
Resolving localhost... 127.0.0.1, ::1
Connecting to localhost|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2012-11-13 10:07:35 ERROR 404: Not Found.
--2012-11-13 10:07:35--
http://schemas.opengis.net/wfs/1.1.0/wfs.xsd%20xmlns:xs
i=http://www.w3.org/2001/XMLSchema-instance%3E%3Cwfs:Query%20typeName=feature:fr
ida%20srsName=EPSG:31467%20xmlns:feature=http://127.0.0.1/%3E%3C/wfs:Query%3E%3C
/wfs:GetFeature%3E'%20--header=Content-Type:
Resolving schemas.opengis.net... 66.244.86.52
Connecting to schemas.opengis.net|66.244.86.52|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2012-11-13 10:07:35 ERROR 404: Not Found.
--2012-11-13 10:07:35-- http://application/xml;
Resolving application... failed: No data record of requested type.
wget: unable to resolve host address `application'
--2012-11-13 10:07:38-- ftp://charset=utf-8%20-o%20c/%5Ctest.txt
=> `%5Ctest.txt'
Resolving charset=utf-8 -o c... failed: No data record of requested type.
wget: unable to resolve host address `charset=utf-8 -o c'
Something is wrong with the host - maybe there is something missing in
the tinyows configuration. Because now wget takes the application as the
address instead of the coordinates of the bounding box!?
I took the same ns_prefix: feature because its also defined like that in
my xml -- I changed it, because i read that recommendation somewhere -
made no difference.
Am 11/12/2012 5:05 PM, schrieb Alexandre Dubé:
> Anna,
>
> What does your C:\ms4w\Apache\logs\tinows.log file contain ?
>
> Also yeah you should use --post-data='<wfs:GetFeature...' and not
> --post-data="<wfs:GetFeature...". If your dataset isn't too big, you
> could remove the <ogc:Filter> node. Also, try replacing
> xmlns:feature="http://127.0.0.1/" by xmlns:tows="http://127.0.0.1/".
>
> HTH,
>
> Alexandre
>
>
> On 12-11-12 10:31 AM, aho wrote:
>> 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