This article and “product”
http://www.codeproject.com/KB/web-security/HTTPReverseProxy.aspx provided a
pretty workable solution for reading from WFS.GeoServer:8080 within a IIS:80
app. It lets me create an IIS webapp /ows which points at my :8080/ows
endpoint. I can successfully communicate to http://smartmonkeys.ca/ows/ for
WFS/WMS etc.
It works great for reading features, but I’m having some issues committing
to my feature stores, which I think might be due to the way that the proxy
has me configuring my layer:
var vlayer = new OpenLayers.Layer.Vector(
"vector test",
{
strategies: [new
OpenLayers.Strategy.Fixed(), saveStrategy],
protocol: new OpenLayers.Protocol.WFS({
url:
"/ows?service=wfs&version=1.1.0&request=getFeature&typeName=Water_Points",
service: "wfs",
version: "1.1.0",
request: "getFeature",
featureType: "Water_Points",
featureNS:
"http://smartmonkeys.ca:8080/geoserver/",
srsName: "EPSG:4326"
})
});
I basically have to put all of the request parameters into the protocol URL
or else I don’t get anything back. If any of the parameters are left out,
Fiddler whines about the missing service, request, and typeName parameters
(respectively) until I include them in the URL. Furthermore, I have to leave
all of these parameters (plus the others) in as individual options as well.
When I go to commit DELETES, EDITS and UPDATES through my saveStrategy
nothing happens to individual features – Fiddler shows me getting the entire
set back, untouched, as a response.
Code behind the Save control follows. Yes, it’s GeoExt, but the core bits
are OpenLayers. Any pointers would be grately appreciated.
The whole :8080/:80 issue is stumping a lot of people in the
GeoServer/GeoExt/OpenLayers world, I’ll happily contribute what I can back
to each of the lists collectively.
SFS
// ====================================
// Main Panel
// ====================================
// map
var drawControl = new OpenLayers.Control.DrawFeature(vlayer,
OpenLayers.Handler.Point, {handlerOptions: {multi: false}});
var modifyControl = new
OpenLayers.Control.ModifyFeature(vlayer);
var mapPanel = new GeoExt.MapPanel({
region: 'center',
map: map,
bbar: [
new GeoExt.Action({control:
drawControl, text: "New", enableToggle: true}),
{text: "Delete", handler:
function() {
gridPanel_SEKID_Water_Points.getSelectionModel().each(function(rec) { var
feature = rec.get("feature"); modifyControl.unselectFeature(feature);
store.remove(rec); if (feature.state !== OpenLayers.State.INSERT)
{feature.state = OpenLayers.State.DELETE; layer.addFeatures([feature]);} })
} },
"->",
{ text: "Save", handler:
function() {fStore_SEKID_Water_Points.commitChanges(); saveStrategy.save();}
}
]
});
mapPanel.map.addControl(drawControl);
mapPanel.map.addControl(modifyControl);
modifyControl.activate();
// feature stores and grids
var fStore_SEKID_Water_Points = new
GeoExt.data.FeatureStore({
fields: [
{name: "Entity", type: "string"},
{name: "Handle", type: "string"},
{name: "Layer", type: "string"}
],
layer: vlayer,
addFeatureFilter: function(feature) { return
feature.state !== OpenLayers.State.DELETE; }
});
var gridPanel_SEKID_Water_Points = new
Ext.grid.EditorGridPanel({
region: 'south',
title: 'Map Data',
split: true,
collapsible: true,
height: 300,
minSize: 100,
maxSize: 500,
store: fStore_SEKID_Water_Points,
sm: new
GeoExt.grid.FeatureSelectionModel({selectControl:
modifyControl.selectControl, singleSelect: true}),
cm: new Ext.grid.ColumnModel ({ defaults:
{sortable: true, editor: {xtype: "textfield"}}, columns: [ {header:
"Entity", dataIndex: "Entity"}, {header: "Handle", dataIndex: "Handle"},
{header: "Layer", dataIndex: "Layer"} ] }),
listeners: { afteredit: function(e) { var
feature = e.record.get("feature"); if (feature.state !==
OpenLayers.State.INSERT) { feature.state = OpenLayers.State.UPDATE; } } }
});
var mainPanel = new Ext.Panel({
region: 'center',
layout: 'border',
border: false,
items: [mapPanel,
gridPanel_SEKID_Water_Points]
});
Samuel Smith
Groundlevel Geographics [DBA]
--
View this message in context:
http://osgeo-org.1803224.n2.nabble.com/OpenLayers-to-GeoServer-8080-OWS-in-ASP-Net-on-IIS-80-tp5541174p5541174.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users