Servicio de acceso (capabilities):
http://www.geo.euskadi.eus/geoeuskadi/services/U11/WFS_TEST_UPV/MapServer/WFSServer?request=getcapabilities

Obtener la informacin de un "tipo":
http://www.geo.euskadi.eus/geoeuskadi/services/U11/WFS_TEST_UPV/MapServer/WFSServer?request=describefeaturetype&service=WFS&typename=UPV:UPV_CURSO


--------------------------
TODAS LAS PETICIONES SON TIPO POST

Peticin sencilla para obtener todos los datos (geometras incluidas):

<?xml version="1.0" encoding="utf-8" ?>
<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="UPV:UPV_CURSO" srsName="EPSG:25830">
    
  </wfs:Query>
</wfs:GetFeature>



Peticin para que nos muestre nicamente los campos de la feature que queremos
<?xml version="1.0" encoding="utf-8" ?>
<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="UPV:UPV_CURSO" srsName="EPSG:25830">
    <wfs:PropertyName>NOMBRE</wfs:PropertyName>
  </wfs:Query>
</wfs:GetFeature>



Es posible aplicar diferentes filtros a las peticiones, para poder filtrar por lo que deseemos
En el primer caso filtraremos usando un "bouding box"
<?xml version="1.0" encoding="utf-8" ?>
<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="UPV:UPV_CURSO" srsName="EPSG:25830">
    <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
      <ogc:BBOX>
	    <ogc:PropertyName>Shape</ogc:PropertyName>
		<gml:Box xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:25830">
          <gml:coordinates decimal="." cs="," ts=" ">533560,4744200 539560,4750000</gml:coordinates>
        </gml:Box>
      </ogc:BBOX>
	</ogc:Filter>
  </wfs:Query>
</wfs:GetFeature>

En este caso siguiente, filtramos usando el campo NOMBRE y el valor "Alberto"
<?xml version="1.0" encoding="utf-8" ?>
<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="UPV:UPV_CURSO" srsName="EPSG:25830">
	<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
      <ogc:PropertyIsEqualTo>
        <ogc:PropertyName>NOMBRE</ogc:PropertyName>
        <ogc:Literal>Alberto</ogc:Literal>
      </ogc:PropertyIsEqualTo>
    </ogc:Filter>
  </wfs:Query>
</wfs:GetFeature>



WFS-T -> WFS con capacidades de transaccin

Insertar una nueva geometra (es un polgono de 4 lados):
<?xml version="1.0"?>
<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" service="WFS" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd">
  <wfs:Insert>
    <wfs:UPV_CURSO>
      <wfs:SHAPE>
        <gml:Polygon xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:25830">
          <gml:outerBoundaryIs>
            <gml:LinearRing>
              <gml:coordinates decimal="." cs="," ts=" ">526723.9358420902,4743875.148166964 526712.8233198652,4743782.543815088 526811.2485167155,4743770.108373552 526824.742293703,4743862.183557701  526723.9358420902,4743875.148166964</gml:coordinates>
            </gml:LinearRing>
          </gml:outerBoundaryIs>
        </gml:Polygon>
      </wfs:SHAPE>
    </wfs:UPV_CURSO>
  </wfs:Insert>
</wfs:Transaction>


Modificar un registro (al registro con OBJECTID=1 le vamos a poner el NOMBRE de Javi):
<?xml version="1.0" encoding="utf-8" ?>
<wfs:Transaction 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:Update typeName="UPV:UPV_CURSO" srsName="EPSG:25830">
    <wfs:Property>
      <wfs:Name>NOMBRE</wfs:Name>
      <wfs:Value>Javi</wfs:Value>
    </wfs:Property>
	
    <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
      <ogc:PropertyIsEqualTo>
        <ogc:PropertyName>OBJECTID</ogc:PropertyName>
        <ogc:Literal>1</ogc:Literal>
      </ogc:PropertyIsEqualTo>
    </ogc:Filter>
  </wfs:Update>
</wfs:Transaction>

Eliminar un registro, en este caso le indicamos el fid del registro:
<?xml version="1.0"?>
<wfs:Transaction 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:Delete typeName="UPV:UPV_CURSO">
    <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
      <ogc:FeatureId fid="F42495__10244"></ogc:FeatureId>
    </ogc:Filter>
  </wfs:Delete>
</wfs:Transaction>