[Geoserver-users] Failing to Render WMS PNG Image

Hi,

Use VERSION in all requests, it is not a big pain at all. If version is 1.1.0 or 1.1.1 the projection is given with SRS and EPSG:4326 BBOX is given as MinLon,MinLat,MaxLon,MaxLat.

If the version is 1.3.0 then the projection must be given with CRS and not SRS (don't ask why) and EPSG:4326 BBOX is given as MinLat,MinLon,MaxLat,MaxLon.

Andrea just sent a mail which suggest that there is some other reason for your error message. However, it does not hurt to learn how to write correct WMS GetMap requests by hand.

-Jukka Rahkonen-

Ryan Moody wrote:

Hello,

Thanks Ian and Rahkonen for your suggestions - I have tried the following four
WMS requests:

http://localhost:8080/geoserver/wms?SERVICE=WMS&REQUEST=GetMap&WID
TH=459
&HEIGHT=353&LAYERS=sprint21:DepthArea&TRANSPARENT=TRUE&FORMAT=i
mage/png&
BBOX=-1.304114,50.724729,-1.040936,50.817929&SRS=EPSG:4326&STYLES=

http://localhost:8080/geoserver/wms?SERVICE=WMS&REQUEST=GetMap&WID
TH=459
&HEIGHT=353&LAYERS=sprint21:DepthArea&TRANSPARENT=TRUE&FORMAT=i
mage/png&
BBOX=-1.304114,50.724729,-1.040936,50.817929&SRS=EPSG:4326&STYLES=

http://localhost:8080/geoserver/wms?SERVICE=WMS&REQUEST=GetMap&VER
SION=1
.1.0&WIDTH=459&HEIGHT=353&LAYERS=sprint21:DepthArea&TRANSPARENT=T
RUE&FOR
MAT=image/png&BBOX=50.724729,-1.304114,50.817929,-
1.040936&SRS=EPSG:4326
&STYLES=

http://localhost:8080/geoserver/wms?SERVICE=WMS&REQUEST=GetMap&VER
SION=1
.1.0&WIDTH=459&HEIGHT=353&LAYERS=sprint21:DepthArea&TRANSPARENT=T
RUE&FOR
MAT=image/png&BBOX=50.724729,-1.304114,50.817929,-
1.040936&SRS=EPSG:4326
&STYLES=

Unfortunately, all four of these requests still give me the same bounding box
error.

I presume I am switching the coordinates correctly? i.e. BBOX=minX, minY,
maxX, maxY should become BBOX=minY,minX,maxY,maxX?

Neil Kirk - could you try the WMS requests above to see if you get the same
problem?

Any other suggestions?

Many thanks,

Ryan

-----Original Message-----
From: Rahkonen Jukka [mailto:jukka.rahkonen@anonymised.com]
Sent: 07 November 2013 18:03
To: geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] Failing to Render WMS PNG Image

Hi,

I would start with the Geoserver demo layers and with complete WMS GetMap
requests. Especially I recommend to always use SERVICE and VERSION with OGC
web services even they are not always compulsory by the standard.

OpenJUMP comes with a nice BeanShell tool which shows the GetMap url that
was used for fetching the image on the map. Here are examples for the "states"
layer and for WMS 1.1.1 and 1.3.0

http://localhost:8080/geoserver/wms?
SERVICE=WMS&
REQUEST=GetMap&
SERVICE=WMS&
VERSION=1.1.1&
WIDTH=459&
HEIGHT=353&
LAYERS=topp:states&
TRANSPARENT=TRUE&
FORMAT=image/png&
BBOX=-125.964082115,14.004707960577342,-
65.737188885,60.32299403942266&
SRS=EPSG:4326&
STYLES=

http://localhost:8080/geoserver/ows?
SERVICE=WMS&
REQUEST=GetMap&
SERVICE=WMS&
VERSION=1.3.0&
WIDTH=459&
HEIGHT=353&
LAYERS=topp:states&
TRANSPARENT=TRUE&
FORMAT=image/png&
BBOX=14.004707960577342,-125.964082115,60.32299403942266,-
65.737188885&
CRS=EPSG:4326&
STYLES=

Pay attention to the order of lat and lon in the BBOX when using the
EPSG:4326 system.

________________________________
Ryan Moody wrote:

> Hello,

> I have a WFS set up which is successfully returning me feature data in
the GML 3.1 format. I'm now trying to generate a PNG image through a WMS
request, but unfortunately I'm given the following error:

> "Rendering process failed null Details:
org.geoserver.platform.ServiceException: Rendering process failed".

> From the stack trace, it appears that the bounding box I am specifying
in my WMS request is incorrect. However, I'm requesting the same bounding box
that is automatically computed by GeoServer. Can someone please advise me
where I may be going wrong?

Best Regards,

Ryan

WMS request:

http://localhost:8080/geoserver/wms?request=GetMap&width=100&height=10
0&
layers=DepthArea&format=image/png&count=1&srs=EPSG:4326&bbox=-
1.304114,5
0.724729,-1.040936,50.817929

Stack trace:

<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE
ServiceExceptionReport SYSTEM
"http://localhost:8080/geoserver/schemas/wms/1.1.1/WMS_exception_1_1_1.
d
td"> <ServiceExceptionReport version="1.1.1" > <ServiceException
code="internalError">
     Rendering process failed
null
Details:
org.geoserver.platform.ServiceException: Rendering process failed
                at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(Rende
redIm
ageMapOutputFormat.java:507)
                at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(Rende
redIm
ageMapOutputFormat.java:251)
                at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(Rende
redIm
ageMapOutputFormat.java:123)
                at
org.geoserver.wms.GetMap.executeInternal(GetMap.java:521)
                at org.geoserver.wms.GetMap.run(GetMap.java:253)
                at org.geoserver.wms.GetMap.run(GetMap.java:124)
                at
org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.jav
a:
328)
                at sun.reflect.GeneratedMethodAccessor245.invoke(Unknown
Source)
                at
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.lang.reflect.Method.invoke(Unknown Source)
                at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(
AopUtils.java:319)
                at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinp
oint(ReflectiveMethodInvocation.java:183)
                at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(Ref
lectiveMethodInvocation.java:150)
                at
org.geoserver.kml.WebMapServiceKmlInterceptor.invoke(WebMapServiceKmlIn
t
erceptor.java:34)
                at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(Ref
lectiveMethodInvocation.java:172)
                at
org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWe
bMa
pService.java:61)
                at
org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWe
bMa
pService.java:35)
                at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(Ref
lectiveMethodInvocation.java:172)
                at
org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapServic
e.j
ava:73)
                at
org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapServic
e.j
ava:54)
                at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(Ref
lectiveMethodInvocation.java:172)
                at
org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.ja
va:54)
                at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(Ref
lectiveMethodInvocation.java:172)
                at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamic
Ao
pProxy.java:202)
                at $Proxy65.getMap(Unknown Source)
                at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown
Source)
                at
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.lang.reflect.Method.invoke(Unknown Source)
                at
org.geoserver.ows.Dispatcher.execute(Dispatcher.java:774)
                at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:272)
                at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(Abs
tractController.java:153)
                at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handl
e(SimpleControllerHandlerAdapter.java:48)
                at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherS
ervlet.java:923)
                at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherSe
rvlet.java:852)
                at
org.springframework.web.servlet.FrameworkServlet.processRequest(Framewor
kServlet.java:882)
                at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.
java:778)
                at
javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
                at
javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
                at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
                at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
dler.java:1093)
                at
org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCle
anupFilter.java:27)
                at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
dler.java:1084)
                at
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelega
tingFilter.java:74)
                at
org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFi
lter.java:45)
                at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
dler.java:1084)
                at
org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchF
ilter.java:49)
                at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
dler.java:1084)
                at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharac
terEncodingFilter.java:109)
                at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
dler.java:1084)
                at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:311)
                at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain
.doFilter(GeoServerCompositeFilter.java:68)
                at
org.springframework.security.web.access.intercept.FilterSecurityIntercep
tor.invoke(FilterSecurityInterceptor.java:116)
                at
org.springframework.security.web.access.intercept.FilterSecurityIntercep
tor.doFilter(FilterSecurityInterceptor.java:83)
                at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain
.doFilter(GeoServerCompositeFilter.java:72)
                at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServe
rCompositeFilter.java:91)
                at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:323)
                at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain
.doFilter(GeoServerCompositeFilter.java:68)
                at
org.springframework.security.web.access.ExceptionTranslationFilter.doFil
ter(ExceptionTranslationFilter.java:113)
                at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain
.doFilter(GeoServerCompositeFilter.java:72)
                at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServe
rCompositeFilter.java:91)
                at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:323)
                at
org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doF
ilter(GeoServerAnonymousAuthenticationFilter.java:53)
                at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:323)
                at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain
.doFilter(GeoServerCompositeFilter.java:68)
                at
org.springframework.security.web.authentication.www.BasicAuthenticationF
ilter.doFilter(BasicAuthenticationFilter.java:150)
                at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain
.doFilter(GeoServerCompositeFilter.java:72)
                at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServe
rCompositeFilter.java:91)
                at
org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilte
r(GeoServerBasicAuthenticationFilter.java:82)
                at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:323)
                at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain
.doFilter(GeoServerCompositeFilter.java:68)
                at
org.springframework.security.web.context.SecurityContextPersistenceFilte
r.doFilter(SecurityContextPersistenceFilter.java:87)
                at
org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$
1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52)
                at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain
.doFilter(GeoServerCompositeFilter.java:72)
                at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServe
rCompositeFilter.java:91)
                at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doF
ilter(FilterChainProxy.java:323)
                at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainPr
oxy.java:173)
                at
org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoSer
verSecurityFilterChainProxy.java:134)
                at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Dele
gatingFilterProxy.java:346)
                at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegating
FilterProxy.java:259)
                at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
dler.java:1084)
                at
org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:75)
                at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
dler.java:1084)
                at
org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)
                at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
dler.java:1084)
                at
org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.jav
a:47)
                at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
dler.java:1084)
                at
org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:43)
                at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHan
dler.java:1084)
                at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
                at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:2
16)
                at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
                at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
                at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
                at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandler
Collection.java:206)
                at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.jav
a:114)
                at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
                at org.mortbay.jetty.Server.handle(Server.java:324)
                at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
                at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConne
ction.java:828)
                at
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
                at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
                at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
                at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
395)
                at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.j
a
va:450)
Caused by: java.lang.IllegalArgumentException
                at
org.geotools.filter.FilterFactoryImpl.bbox2d(FilterFactoryImpl.java:434)
                at
org.geotools.filter.FilterFactoryImpl.bbox(FilterFactoryImpl.java:423)
                at
org.geotools.data.complex.filter.UnmappingFilterVisitor.visit(UnmappingF
ilterVisitor.java:539)
                at
org.geotools.renderer.lite.FastBBOX.accept(FastBBOX.java:127)
                at
org.geotools.data.complex.AppSchemaDataAccess.unrollFilter(AppSchemaData
Access.java:593)
                at
org.geotools.data.complex.AppSchemaDataAccess.unrollQuery(AppSchemaDat
aA
ccess.java:319)
                at
org.geotools.data.complex.AbstractMappingFeatureIterator.getUnrolledQuer
y(AbstractMappingFeatureIterator.java:315)
                at
org.geotools.data.complex.AbstractMappingFeatureIterator.&lt;init&gt;(Ab
stractMappingFeatureIterator.java:202)
                at
org.geotools.data.complex.DataAccessMappingFeatureIterator.&lt;init&gt;(
DataAccessMappingFeatureIterator.java:135)
                at
org.geotools.data.complex.MappingFeatureIteratorFactory.getInstance(Mapp
ingFeatureIteratorFactory.java:193)
                at
org.geotools.data.complex.MappingFeatureCollection.features(MappingFeatu
reCollection.java:174)
                at
org.geotools.renderer.lite.StreamingRenderer.drawPlain(StreamingRenderer
.java:2475)
                at
org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRen
derer.java:2045)
                at
org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.jav
a:829)
                at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(Rende
redIm
ageMapOutputFormat.java:481)
                ... 103 more

</ServiceException></ServiceExceptionReport>

------------------------------------------------------------------------
------
November Webinars for C, C++, Fortran Developers Accelerate application
performance with scalable programming models. Explore techniques for
threading, error checking, porting, and tuning. Get the most from the latest Intel
processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clk
trk
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users