Ciao a tutti,sto sviluppando attraverso l'uso di Geoserver e OpenLayers, un
semplice servizio wfs-t costituito per ora da un unico layer di punti.
Sto costruendo la toolbar per verificare che le operazioni di aggiunta punti
,rimozione punti e spostamento vadano a buon fine.Ho inserito un semplice
link dove cliccando mi lascia salvare le operazioni che compio.Il problema è
il seguente:

Vado ad aggiungere il punto e quando clicco sul link Save,mi appare questo
alert:

WFS Transaction: FAILED <?xml version="1.0" ?>
<ServiceExceptionReport
   version="1.2.0"
   xmlns="http://www.opengis.net/ogc";
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xsi:schemaLocation="http://www.opengis.net/ogc
http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd";>
   <ServiceException>
      java.lang.ClassCastException
null
</ServiceException></ServiceExceptionReport>


Inoltre se quello stesso punto lo vado a cancellare e salvo l'opezione di
cancellazione mi appare quest'altro alert:

WFS Transaction: SUCCESS <?xml version="1.0"
encoding="UTF-8"?><wfs:WFS_TransactionResponse version="1.0.0" xmlns:wfs="
http://www.opengis.net/wfs"; xmlns:ogc="http://www.opengis.net/ogc";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
http://www.opengis.net/wfs
http://localhost:8080/schemas/wfs/1.0.0/WFS-transaction.xsd";><wfs:InsertResult><ogc:FeatureId
fid="new0"/></wfs:InsertResult> <wfs:TransactionResult> <wfs:Status>
<wfs:SUCCESS/> </wfs:Status>
</wfs:TransactionResult></wfs:WFS_TransactionResponse>

Volevo capire dove avevo sbagliato o se devo impostare qualcosa in
particolare affinchè l'operazione di aggiunta punto abbia successo come
l'opezione di cancellazione.
Vi posto per sicurezza anche un po di codice,in modo da potervi dare piu
info possibili:



 function init(){



            map = new OpenLayers.Map('map');



    // create WFS layer
            var perugia = new OpenLayers.Layer.WFS(
                    "Perugia",
                    "/wfs?strict=true",
                    {typename: 'perugia:POI_Perugia'},
                    {
                        version:"1.0.0",
                        typename: 'POI_Perugia',
                        featureNS: '
https://sites.google.com/site/gisperugia/',
                        extractAttributes: true,
                        isBaseLayer:true
                    }


          );
            perugia.style = OpenLayers.Util.applyDefaults({strokeColor:
"#0000ff"},
                    OpenLayers.Feature.Vector.style["default"]);

            map.addLayer(perugia);


            var panel = new OpenLayers.Control.Panel(
                {displayClass: 'olControlEditingToolbar'}
            );



          var drawPoint = new OpenLayers.Control.DrawFeature(
                perugia, OpenLayers.Handler.Point,
                {displayClass: 'olControlDrawFeaturePoint',
        title:'Add Point'});

            drawPoint.featureAdded = function(feature) {
                feature.layer.eraseFeatures([feature]);
                // cast to multipoint
                feature.geometry = new OpenLayers.Geometry.MultiPoint(
                    feature.geometry
                );
                feature.style.strokeColor = "#0000ff";
                feature.state = OpenLayers.State.INSERT;
                feature.layer.drawFeature(feature);
            }




  var edit = new OpenLayers.Control.ModifyFeature(perugia, {
        title: "Modify Feature",
        displayClass: "olControlModifyFeature"
    });


  var del = new DeleteFeature(perugia, {title: "Delete Feature"});
 panel.addControls([new
OpenLayers.Control.Navigation(),drawPoint,edit,del]);

            map.addControl(panel);
            map.addControl(new OpenLayers.Control.LayerSwitcher());

          map.zoomToExtent(
                new OpenLayers.Bounds(4.9,40.663,15.106, 46.774)
            );

        }
    </script>
  </head>
  <body onload="init()">
    <h3>Perugia wfs-t </h3>


    <div id="map"></div>
<a href="#" onclick="map.layers[0].commit();return false">Save</a>
  </body>
</html>


Grazie infinite.
Nicola.
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011

Rispondere a