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.rahko...@mmmtike.fi]
> 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

------------------------------------------------------------------------------
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.clktrk
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to