Vector OpenLayers wfs请求->;geoserver日志:getServiceInfo而不是getFeature

Vector OpenLayers wfs请求->;geoserver日志:getServiceInfo而不是getFeature,vector,drag,openlayers,Vector,Drag,Openlayers,我有一个带有WFS协议和BBOX策略的矢量层。它最初按其应该的方式加载数据。 但是如果我拖动地图,geoserver日志只需说:{curr date}INFO[geoserver.wfs]-Request:getServiceInfo而不是getFeature(就像它在初始请求期间所做的那样)。 我的问题是地图上什么都没发生。如果我在层上设置“刷新”eventHandler,它将不会触发。。。 我必须在其他地方刷新地图/图层吗 var map; function init(){ .. m

我有一个带有WFS协议和BBOX策略的矢量层。它最初按其应该的方式加载数据。 但是如果我拖动地图,geoserver日志只需说:{curr date}INFO[geoserver.wfs]-Request:getServiceInfo而不是getFeature(就像它在初始请求期间所做的那样)。 我的问题是地图上什么都没发生。如果我在层上设置“刷新”eventHandler,它将不会触发。。。 我必须在其他地方刷新地图/图层吗

var map;
function init(){
  ..
  map = new OpenLayers.Map('map', options);
  var gsat = new OpenLayers.Layer.Google(...);
  map.addLayer(gsat);
  var lonlat = new OpenLayers.LonLat(...);
  map.setCenter(lonlat, 18);
  loadLayer();
  ..
}
function loadLayer(){
  loadLayerFunc();
  ...
}

function loadLayerFunc(){
  var wfsLayer = loadLayerFunc();
  wfsLayer.events.on({...});
  map.addLayer(wfsLayer);
  ...
}
function loadLayerFunc(){
var bboxStrategy = new OpenLayers.Strategy.BBOX({ratio: 0.8});
wfsLayer = new OpenLayers.Layer.Vector("wfsLayer", {
  strategies: [bboxStrategy],
  protocol: new OpenLayers.Protocol.WFS({
  version: "1.1.0",
  srsName: "EPSG:4326",
  url: wfs_url,
  featureType: "positions_test",
  featurePrefix: "feature",
  geometryName: "the_geom",
  schema: "http://localhost:8080/geoserver/wfs?request=DescribeFeatureType&service=WFS&typeName=ws:positions",
  maxFeatures: 1000
}),
    projection: geoProjection
  });
  return wfsLayer;
}
如果我在另一台服务器上运行相同的脚本,firefox webconsole会在初始请求时告诉我“无法显示(null)类型的响应…”。。。。。? 它甚至没有显示任何内容,尽管我只是更改了url

编辑:空响应似乎是由没有代理配置的tomcat apache服务器引起的。如果js文件位于类似于geoserver的apache文件夹中,是否可以在没有代理的情况下运行它?最后我需要在tomcat上运行它。 “proxy.cgi文件格式不正确”错误是否优于空响应?如果可能的话,我想在不使用代理的情况下解决这个问题,但似乎包括代理可以让我更接近我想要的位置。

您的WFS端点(GeoServer)应该位于相对于您的页面的位置,否则会起作用。 您可以尝试使用apache和mod_proxy或mod_jk修复它。有了这些库,您可以相对于应用程序挂载tomcat中部署的geoserver

如果您的应用程序无法做到这一点,则应使用提供的

是的,geoserver在其日志文件中发出WFS请求时显示getServiceInfo。我注意到Geoserver2.1.1也有同样的行为