dear list,

when i try to search a geoserver wms layer that is not queryable
(layer/publishing/wms settings Queryable unchecked), i've got an
error, which is misleading saying: "class java.util.HashMap produced
when FeatureCollection expected check schema use of
AbstractFeatureCollection".

the cause is:
at org.geotools.GML.decodeFeatureCollection(GML.java:451) the parsed
server response object is a HashMap, with contents:
{ServiceException={null=Layer Pilot:HouseNumbers_point_eov is not
queryable, locator=QUERY_LAYERS, code=OperationNotSupported},
version=1.1.1}

but the toFeatureCollection method is not able the handle the error
and throws an exception on line 484.

i am using geomajas 1.12.8 with gt-xml-2.7.4-GBE-276.jar, but the
relevant code in the trunk is the same. geoserver is 2.1.2,
(maven, win7, eclipse, gwt)

java.lang.ClassCastException: class java.util.HashMap produced when
FeatureCollection expected check schema use of
AbstractFeatureCollection
        at org.geotools.GML.toFeatureCollection(GML.java:484)
        at org.geotools.GML.decodeFeatureCollection(GML.java:452)
        at 
org.geomajas.layer.wms.WmsLayer.getFeaturesByLocation(WmsLayer.java:249)
        at 
org.geomajas.layer.wms.command.wms.SearchByPointCommand.execute(SearchByPointCommand.java:124)
        at 
org.geomajas.layer.wms.command.wms.SearchByPointCommand.execute(SearchByPointCommand.java:60)
        at 
org.geomajas.internal.service.CommandDispatcherImpl.execute(CommandDispatcherImpl.java:114)
        at 
org.geomajas.gwt.server.mvc.GeomajasController.execute(GeomajasController.java:117)
        at sun.reflect.GeneratedMethodAccessor128.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at 
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
        at 
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
        at 
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
        at 
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
        at 
org.geomajas.gwt.server.mvc.GeomajasController.handleRequest(GeomajasController.java:65)
        at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at 
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
        at 
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
        at 
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
        at 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        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(ServletHandler.java:1097)
        at org.geomajas.servlet.CacheFilter.doFilter(CacheFilter.java:201)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at 
org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
        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.content(HttpConnection.java:843)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
        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.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to