Страница 1 из 1

Проблемы при генерации ответов WFS сервером

Добавлено: 21 июл 2009, 05:40
Alex-Rude
Доброго времени суток

Я занимаюсь разработкой WFS сервера. Для тестирования использую MapInfo 7.8. Возникли проблемы при генерации ответа клиентской программе.

При добавлении нового сервера MapInfo генерирует запрос типа

Код: Выделить всё

http://myServer/?VERSION=1.0.0&SERVICE=WFS&REQUEST=GetCapabilities
На данный запрос сервер генерирует XML ответ <WFS_Capabilities> согласно спецификации OGC
После этого в окне MapInfo "Свойства карт WFS сервера" корректно выводятся требуемые слои.
По нажатии OK MapInfo последовательно генерирует 2 запроса вида

Код: Выделить всё

http://myServer/?
Методом тыка выяснил, на первый пустой запрос надо генерировать ответ типа DescribeFeatureType, а на второй GetFeature.
Это работает если в ответе описывается только один слой. Если возвращать 2 или более слоев, MapInfo ругается на неверный формат ответа. Пробовал на MapInfo 9.5 - та же проблема.

Знает ли кто, как генерировать ответы, чтобы MapInfo их нормально прочитала?

Re: Проблемы при генерации ответов WFS сервером

Добавлено: 21 июл 2009, 08:19
Максим Дубинин
может посмотреть что генерирует WFS сервер, с которым Mapinfo работает правильно?

Re: Проблемы при генерации ответов WFS сервером

Добавлено: 21 июл 2009, 08:44
Alex-Rude
м... нашел ошибку у себя. mapInfo формирует POST запрос, прикрепляя к нему XML.
навесил сканер на порт, запрашивает примерно следующее:

Код: Выделить всё

POST /worldData/wfs/WORLD HTTP/1.1
Content-Type: text/xml
User-Agent: C:\Program Files\MapInfo\Professional\MAPINFOW.EXE
Host: webservices.ionicsoft.com
Content-Length: 551
Cache-Control: no-cache

<?xml version="1.0" encoding="utf-8"?>
<DescribeFeatureType version="1.0.0" service="WFS" outputFormat="XMLSCHEMA" xmlns:ionic="http://www.ionicsoft.com/versions/5" xmlns:wfs="http://www.ionicsoft.com/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns="http://www.opengis.net/wfs" xmlns:ogcwfs="http://www.opengis.net/wfs" xsi:schemaLocation="http://www.opengis.net/wfs ../wfs/1.0.0/WFS-basic.xsd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><TypeName>wfs:Airport</TypeName></DescribeFeatureType>


а это уже согласно спецификации OGC.