Hi, using GeoServer 2.1.2 I am getting an error on WMS GetFeatureInfo for ArcSDE layers. Is this a known issue, or something specific in our setup?
Example request (intranet only): http://ontwikkel.intranet.rijkswaterstaat.nl/apps/geoservices-j2ee/geospin/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&LAYERS=geospin%3Aunesco&QUERY_LAYERS=geospin%3Aunesco&STYLES=&BBOX=-508686.576842%2C234048.062%2C845704.247842%2C608424.812&FEATURE_COUNT=1&HEIGHT=395&WIDTH=1429&FORMAT=image%2Fpng&INFO_FORMAT=application%2Fvnd.ogc.gml&SRS=EPSG%3A28992&X=726&Y=84 Log file: 2012-01-02 16:05:00,942 INFO [org.geoserver.wms] - Request: getServiceInfo 2012-01-02 16:05:00,980 WARN [org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog] - Narrowing proxy to class org.geoserver.catalog.impl.DataStoreInfoImpl - this operation breaks == 2012-01-02 16:05:01,031 DEBUG [org.geotools.styling] - number of fts set 1 2012-01-02 16:05:01,032 DEBUG [org.geotools.styling] - number of fts set 1 2012-01-02 16:05:01,049 DEBUG [org.geotools.arcsde.session] - Grabbing session from pool on TP-Processor115 2012-01-02 16:05:01,051 DEBUG [org.geotools.arcsde.session] - Got session from the pool on TP-Processor115 2012-01-02 16:05:01,051 DEBUG [org.geotools.arcsde.session] - Got session from the in use queue on TP-Processor115 2012-01-02 16:05:01,051 DEBUG [org.geotools.arcsde.data.ArcSDEQuery] - Creating new ArcSDEQuery 2012-01-02 16:05:01,052 DEBUG [org.geotools.arcsde.data.ArcSDEQuery] - SQL portion of SDE Query: 'Filter.INCLUDE' 2012-01-02 16:05:01,052 DEBUG [org.geotools.arcsde.data.ArcSDEQuery] - Spatial-Filter portion of SDE Query: '[ SHAPE intersects POLYGON ((177038.93866455992 532127.7781392406, 185569.04182911976 532127.7781392406, 185569.04182911976 523597.6749746836, 177038.93866455992 523597.6749746836, 177038.93866455992 532127.7781392406)) ]' 2012-01-02 16:05:01,052 DEBUG [org.geotools.arcsde.data.ArcSDEQuery] - Unsupported (and therefore ignored) portion of SDE Query: 'Filter.INCLUDE' 2012-01-02 16:05:01,053 TRACE [org.geotools.core] - ENTRY 7 2012-01-02 16:05:01,068 TRACE [org.geotools.arcsde.session] - passivating connection Session[6] 2012-01-02 16:05:01,068 INFO [org.geoserver.wms] - Request: getFeatureInfo Exceptions = application/vnd.ogc.se_xml FeatureCount = 1 GetMapRequest = GetMap Request version: 1.1.1 output format: image/png width height: 1429,395 bbox: ReferencedEnvelope[-508686.576842 : 845704.247842, 234048.062 : 608424.812] layers: geospin:unesco styles: geospin_unesco_style InfoFormat = application/vnd.ogc.gml QueryLayers = [org.geoserver.wms.MapLayerInfo@a6b21907] XPixel = 728 YPixel = 85 Version = 1.1.1 Get = false Request = GetFeatureInfo BaseUrl = http://ontwikkel.intranet.rijkswaterstaat.nl:80/apps/geoservices-j2ee/geospin/ RawKvp = {INFO_FORMAT=application/vnd.ogc.gml, BBOX=-508686.576842,234048.062,845704.247842,608424.812, QUERY_LAYERS=geospin:unesco, SERVICE=WMS, HEIGHT=395, REQUEST=GetFeatureInfo, STYLES=, WIDTH=1429, FEATURE_COUNT=1, VERSION=1.1.1, FORMAT=image/png, LAYERS=geospin:unesco, Y=85, X=728, SRS=EPSG:28992} RequestCharset = null 2012-01-02 16:05:01,101 ERROR [org.geoserver.ows] - java.lang.NullPointerException at org.geoserver.wfs.xml.GML2OutputFormat.prepare(GML2OutputFormat.java:224) at org.geoserver.wfs.xml.GML2OutputFormat.write(GML2OutputFormat.java:294) at org.geoserver.wfs.WFSGetFeatureOutputFormat.write(WFSGetFeatureOutputFormat.java:141) at org.geoserver.wms.featureinfo.GML2FeatureInfoOutputFormat.write(GML2FeatureInfoOutputFormat.java:104) at org.geoserver.wms.featureinfo.GetFeatureInfoResponse.write(GetFeatureInfoResponse.java:108) at org.geoserver.ows.Dispatcher.response(Dispatcher.java:757) at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:238) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:23) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:74) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:70) at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:45) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:394) at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406) at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406) at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406) at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406) at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406) at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:185) at org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:71) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:619) 2012-01-02 16:05:04,468 DEBUG [org.geotools.arcsde.data] - FeatureTypeCache background process running... 2012-01-02 16:05:04,469 DEBUG [org.geotools.arcsde.session] - Grabbing session from pool on pool-4-thread-1 2012-01-02 16:05:04,469 DEBUG [org.geotools.arcsde.session] - Got session from the pool on pool-4-thread-1 2012-01-02 16:05:04,469 DEBUG [org.geotools.arcsde.session] - Got session from the in use queue on pool-4-thread-1 2012-01-02 16:05:05,415 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table BELEID.OPPERVLAKTEWATERLICHAMEN_A as it is non spatial 2012-01-02 16:05:05,417 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table BELEID.OPPERVLAKTEWATERLICHAMEN_M as it is non spatial 2012-01-02 16:05:05,438 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table BODEM.COMPLEX as it is non spatial 2012-01-02 16:05:05,439 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table BODEM.COMPLEX_0805 as it is non spatial 2012-01-02 16:05:05,459 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table BODEM.MONUMENT as it is non spatial 2012-01-02 16:05:05,463 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table BODEM.MONUMENT_0805 as it is non spatial 2012-01-02 16:05:05,469 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table BODEM.RACM_OMSCHR as it is non spatial 2012-01-02 16:05:05,472 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table BODEM.TOELICHT as it is non spatial 2012-01-02 16:05:05,473 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table BODEM.TOELICHT_0805 as it is non spatial 2012-01-02 16:05:05,500 TRACE [org.geotools.arcsde.data] - Ignoring non registered table GAZETTEER.GZT_DIENSTEN 2012-01-02 16:05:05,502 TRACE [org.geotools.arcsde.data] - Ignoring non registered table GAZETTEER.GZT_HECTOPUNTEN 2012-01-02 16:05:05,504 TRACE [org.geotools.arcsde.data] - Ignoring non registered table GAZETTEER.GZT_POI 2012-01-02 16:05:05,506 TRACE [org.geotools.arcsde.data] - Ignoring non registered table GAZETTEER.GZT_PROVINCIES 2012-01-02 16:05:05,508 TRACE [org.geotools.arcsde.data] - Ignoring non registered table GAZETTEER.GZT_VAARWEGMARKERINGEN 2012-01-02 16:05:05,511 TRACE [org.geotools.arcsde.data] - Ignoring non registered table GAZETTEER.GZT_WATERDISTRICTEN 2012-01-02 16:05:05,514 TRACE [org.geotools.arcsde.data] - Ignoring non registered table GAZETTEER.GZT_WEGENDISTRICTEN 2012-01-02 16:05:05,851 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table KGNAT_DID.VERSION_497_ROW_LOCKS as it is non spatial 2012-01-02 16:05:05,920 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table NATUUR.GEOMORFOLOGIE_HOOFDZONE as it is non spatial 2012-01-02 16:05:05,921 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table NATUUR.GEOMORFOLOGIE_SUBZONE as it is non spatial 2012-01-02 16:05:05,923 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table NATUUR.GEOMORFOLOGIE_VORM1 as it is non spatial 2012-01-02 16:05:05,924 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table NATUUR.GEOMORFOLOGIE_VORM2 as it is non spatial 2012-01-02 16:05:06,042 TRACE [org.geotools.arcsde.data] - Ignoring non registered table NWR_DBA.VERSION_RPT 2012-01-02 16:05:06,044 TRACE [org.geotools.arcsde.data] - Ignoring non registered table RWS_LEZEN.FF 2012-01-02 16:05:06,047 TRACE [org.geotools.arcsde.data] - Ignoring non registered table RWS_LEZEN.PROVINCIES 2012-01-02 16:05:06,048 TRACE [org.geotools.arcsde.data] - Ignoring non registered table RWS_LEZEN.PROVINCIES2 2012-01-02 16:05:06,050 TRACE [org.geotools.arcsde.data] - Ignoring non registered table RWS_LEZEN.TMP 2012-01-02 16:05:06,052 TRACE [org.geotools.arcsde.data] - Ignoring non registered table RWS_LEZEN.VAL_RESULTS 2012-01-02 16:05:06,074 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_ANNOSYMBOLS as it is non spatial 2012-01-02 16:05:06,075 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_ATTRRULES as it is non spatial 2012-01-02 16:05:06,077 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_CODEDDOMAINS as it is non spatial 2012-01-02 16:05:06,078 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_DEFAULTVALUES as it is non spatial 2012-01-02 16:05:06,079 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_DOMAINS as it is non spatial 2012-01-02 16:05:06,080 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_EDGECONNRULES as it is non spatial 2012-01-02 16:05:06,081 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_EXTENSIONS as it is non spatial 2012-01-02 16:05:06,082 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_FEATURECLASSES as it is non spatial 2012-01-02 16:05:06,084 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_FEATUREDATASET as it is non spatial 2012-01-02 16:05:06,085 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_FIELDINFO as it is non spatial 2012-01-02 16:05:06,086 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_GEOMNETWORKS as it is non spatial 2012-01-02 16:05:06,089 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_JNCONNRULES as it is non spatial 2012-01-02 16:05:06,090 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_NETCLASSES as it is non spatial 2012-01-02 16:05:06,091 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_NETDATASETS as it is non spatial 2012-01-02 16:05:06,093 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_NETWEIGHTASOCS as it is non spatial 2012-01-02 16:05:06,094 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_NETWEIGHTS as it is non spatial 2012-01-02 16:05:06,095 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_NETWORKS as it is non spatial 2012-01-02 16:05:06,096 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_OBJECTCLASSES as it is non spatial 2012-01-02 16:05:06,097 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_RANGEDOMAINS as it is non spatial 2012-01-02 16:05:06,098 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_RASTERCATALOGS as it is non spatial 2012-01-02 16:05:06,099 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_RELCLASSES as it is non spatial 2012-01-02 16:05:06,100 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_RELEASE as it is non spatial 2012-01-02 16:05:06,101 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_RELRULES as it is non spatial 2012-01-02 16:05:06,102 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_REPLICADATASETS as it is non spatial 2012-01-02 16:05:06,103 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_REPLICAS as it is non spatial 2012-01-02 16:05:06,104 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_SPATIALRULES as it is non spatial 2012-01-02 16:05:06,105 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_STRINGDOMAINS as it is non spatial 2012-01-02 16:05:06,106 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_SUBTYPES as it is non spatial 2012-01-02 16:05:06,107 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_TABLES_LAST_MODIFIED as it is non spatial 2012-01-02 16:05:06,108 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_TOOLBOXES as it is non spatial 2012-01-02 16:05:06,109 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_TOPOCLASSES as it is non spatial 2012-01-02 16:05:06,110 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_TOPOLOGIES as it is non spatial 2012-01-02 16:05:06,111 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_TOPORULES as it is non spatial 2012-01-02 16:05:06,112 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_USERMETADATA as it is non spatial 2012-01-02 16:05:06,113 DEBUG [org.geotools.arcsde.data] - Ignoring ArcSDE registered table SDE.GDB_VALIDRULES as it is non spatial 2012-01-02 16:05:06,115 TRACE [org.geotools.arcsde.data] - Ignoring non registered table SDE.STATE_LOCKS 2012-01-02 16:05:06,615 TRACE [org.geotools.arcsde.session] - passivating connection Session[6] 2012-01-02 16:05:06,665 DEBUG [org.geotools.arcsde.data] - Finished updated type name cache TIA. Best regards, Bart ------------------------------------------------------------------------------ Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox _______________________________________________ Geoserver-users mailing list Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users