说明:
在用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>