This takes over a thread on the GeoServer-Users list re: setting up an IIS Proxy to allow an OpenLayers app to access IIS:80 and GeoServer:8080 “cross-domain” (http://sourceforge.net/mailarchive/forum.php?thread_name=004001cb528b%2428478a60%2478d69f20%24%40ca&forum_name=geoserver-users).
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 <root>/ows which points at my <geoserver>: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-tp5541183p5541183.html Sent from the OpenLayers Users mailing list archive at Nabble.com. _______________________________________________ Users mailing list us...@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/openlayers-users