Подскажите, в правильном ли XML-формате я отправляю запрос к серверу для изменения семантики объекта?
В документации работу с "wfs:Update" нашел только из примера.
Отправляю следующий POST-запрос на адрес /giswebservice/service.php?SERVICE=WFS&REQUEST=Transaction&LAYER_ID=MO
<?xml version="1.0" ?>
<wfs:Transaction version="2.0.0" service="WFS" handle="Transaction 01" xmlns:bsd="http://www.gisinfo.net/bsd" ; xmlns:wfs="http://www.opengis.net/wfs/2.0" ; xmlns:fes="http://www.opengis.net/fes/2.0" ; xmlns:gml="http://www.opengis.net/gml/3.2" ; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ; xsi:schemaLocation="http://www.gisinfo.net/bsd http://www.gisinfo.net/bsd/topomap.xsd http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0.0/wfs.xsd http://www.opengis.net/gml/3.2 http://www.opengis.net/gml/3.2.1/gml.xsd"> ;
<wfs:Update typeName="bsd:UAV">
<wfs:Property>
<wfs:ValueReference>bsd:State</wfs:ValueReference>
<wfs:Value>1</wfs:Value>
</wfs:Property>
<fes:Filter>
<fes:ResourceId rid="MO:16" />
</fes:Filter>
</wfs:Update>
</wfs:Transaction>
Где:
UAV - ключ слоя (в классификаторе)
State - ключ семантики (в классификаторе)
MO:16 - имя карты (то, что возвращает giswebservice/service.php?SERVICE=WFS&REQUEST=GETLAYERS) и код объекта (номер объекта из свойств в браузере)
При сохранении схемы XSD указан префикс имен "bsd".
В ответ о результатах приходят нули:
<?xml version="1.0" encoding="utf-8"?>
<wfs:TransactionResponse version="2.0.0" xmlns:bsd="http://www.gisinfo.net/bsd" ; xmlns:wfs="http://www.opengis.net/wfs/2.0" ; xmlns:fes="http://www.opengis.net/fes/2.0" ; xmlns:gml="http://www.opengis.net/gml/3.2.1" ; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.gisinfo.net/bsd http://localhost/giswebservice/service.php?service=wfs&request=describefeaturetype&a... http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0.0/wfs.xsd http://www.opengis.net/gml/3.2 http://www.opengis.net/gml/3.2.1/gml.xsd">
<wfs:TransactionSummary>
<wfs:totalInserted>0</wfs:totalInserted>
<wfs:totalReplaced>0</wfs:totalReplaced>
<wfs:totalUpdated>0</wfs:totalUpdated>
</wfs:TransactionSummary>
</wfs:TransactionResponse>
Через браузер значение семантики изменяется, но запрос выполняется через wfs:Replace.
Для карты включены протоколы: WMS, WMTS, WFST.
Нужно ли указывать путь к своей схема в xsi:schemaLocation?
В документации работу с "wfs:Update" нашел только из примера.
Отправляю следующий POST-запрос на адрес /giswebservice/service.php?SERVICE=WFS&REQUEST=Transaction&LAYER_ID=MO
<?xml version="1.0" ?>
<wfs:Transaction version="2.0.0" service="WFS" handle="Transaction 01" xmlns:bsd="
<wfs:Update typeName="bsd:UAV">
<wfs:Property>
<wfs:ValueReference>bsd:State</wfs:ValueReference>
<wfs:Value>1</wfs:Value>
</wfs:Property>
<fes:Filter>
<fes:ResourceId rid="MO:16" />
</fes:Filter>
</wfs:Update>
</wfs:Transaction>
Где:
UAV - ключ слоя (в классификаторе)
State - ключ семантики (в классификаторе)
MO:16 - имя карты (то, что возвращает giswebservice/service.php?SERVICE=WFS&REQUEST=GETLAYERS) и код объекта (номер объекта из свойств в браузере)
При сохранении схемы XSD указан префикс имен "bsd".
В ответ о результатах приходят нули:
<?xml version="1.0" encoding="utf-8"?>
<wfs:TransactionResponse version="2.0.0" xmlns:bsd="
<wfs:TransactionSummary>
<wfs:totalInserted>0</wfs:totalInserted>
<wfs:totalReplaced>0</wfs:totalReplaced>
<wfs:totalUpdated>0</wfs:totalUpdated>
</wfs:TransactionSummary>
</wfs:TransactionResponse>
Через браузер значение семантики изменяется, но запрос выполняется через wfs:Replace.
Для карты включены протоколы: WMS, WMTS, WFST.
Нужно ли указывать путь к своей схема в xsi:schemaLocation?