GeoServer 发布的图层预览不了
说明:
在用Geoserver发布Postgis发布的图层后,去LayerPreview中预览,但是选openlayers时,没有跳转到预览页面,而是弹出了下载WMS。
解决方案:
用KML方式预览时,出现报错提示:XML 解析错误:格式不佳。 顺着这个提示去找了好久,并没有找到Geoserver的实质性解决问题的方法。
用记事本打开下载的WMS文件,内容如下,发现内容格式和样式中的GML格式有点像
抱着试一试的态度,看了一下图层发布时应用的样式,果然看到默认样式下方的图裂开了,被改了,所以发布的图层找不到此样式。
把他改成默认的line样式,再去layerPreview中预览就正常了
##此图为修改正确后的,原来错误的样式这里是裂开的图片(错误的没截图)
下载来的WMS里包含错误信息,还是要重视,根据错误信息去查问题会精准一些
最后附上默认line样式:
<?xml version="1.0" encoding="UTF-8"?> <StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- a Named Layer is the basic building block of an SLD document --> <NamedLayer> <Name>default_line</Name> <UserStyle> <!-- Styles can have names, titles and abstracts --> <Title>Default Line</Title> <Abstract>A sample style that draws a line</Abstract> <!-- FeatureTypeStyles describe how to render different features --> <!-- A FeatureTypeStyle for rendering lines --> <FeatureTypeStyle> <Rule> <Name>rule1</Name> <Title>Blue Line</Title> <Abstract>A solid blue line with a 1 pixel width</Abstract> <LineSymbolizer> <Stroke> <CssParameter name="stroke">#0000FF</CssParameter> </Stroke> </LineSymbolizer> </Rule> </FeatureTypeStyle> </UserStyle> </NamedLayer> </StyledLayerDescriptor>