Openlayers http协议向量层的错误投影

Openlayers http协议向量层的错误投影,openlayers,geoserver,Openlayers,Geoserver,我正在使用openlayer和geoserver 我想创建将viewparams发送到geoserver层的向量层, 使用WMS很容易做到这一点 然而,我这样做是因为: var newLayer = new OpenLayers.Layer.Vector('layer', { strategies: [new OpenLayers.Strategy.Fixed({preload: true})]

我正在使用openlayer和geoserver

我想创建将viewparams发送到geoserver层的向量层, 使用WMS很容易做到这一点

然而,我这样做是因为:

           var newLayer = new OpenLayers.Layer.Vector('layer', 
               {
               strategies: [new OpenLayers.Strategy.Fixed({preload: true})]
               , projection: new OpenLayers.Projection("EPSG:4326")
                ,protocol: new OpenLayers.Protocol.HTTP({
               url:"/geoserver/ows?service=WFS&version=2.4.0&request=GetFeature&typeName=WG:layer&maxFeatures=50&outputFormat=json&viewparams=UID:"+id,
    format: new OpenLayers.Format.GeoJSON()
  }),
               styleMap: new OpenLayers.StyleMap({
                    'default': new OpenLayers.Style(null, {
                        rules: [
                            new OpenLayers.Rule({
                                symbolizer: {
                                    graphic: false,
                                    label: "name",
                                    labelSelect: true,
                                    fontStyle: 'italic'
                                }
                            })
                        ]
                    })
                })}); 
这是工作,但问题是特征投影是错误的

而我在其他wms层上使用相同的投影。 问题在于:

1-
OpenLayers.Protocol.HTTP

2-
OpenLayers.Projection(“EPSG:4326”)

还有没有其他不使用HTTP protcol发送参数的方法