Hi Jody, thanks for the reply.

I upgraded to 52n wps 2.0-RC7 which uses Geotools 2.6.1, and now use the
same version for the WFS module. However, I'm still getting a
ClassCastException (although it's slightly different). I assume this means
it's not finding the WFS plugin?

Cheers,

Jon

com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public
abstract uk.ac.glam.smartwps.client.net.WFSGetCapabilitiesResponse
uk.ac.glam.smartwps.client.net.OWSRequestService.wfsGetCapabilities(java.lang.String)'
threw an unexpected exception: java.lang.ClassCastException: class
org.geotools.data.shapefile.ShapefileDataStoreFactory
 at
com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
 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 javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
 at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
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)
Caused by: java.lang.ClassCastException: class
org.geotools.data.shapefile.ShapefileDataStoreFactory
at java.lang.Class.asSubclass(Class.java:3018)
 at org.geotools.factory.FactoryRegistry.register(FactoryRegistry.java:866)
at
org.geotools.factory.FactoryRegistry.scanForPlugins(FactoryRegistry.java:773)
 at
org.geotools.factory.FactoryRegistry.scanForPluginsIfNeeded(FactoryRegistry.java:808)
at
org.geotools.factory.FactoryRegistry.getServiceProviders(FactoryRegistry.java:195)
 at
org.geotools.data.DataAccessFinder.getAvailableDataStores(DataAccessFinder.java:206)
at
org.geotools.data.DataStoreFinder.getAvailableDataStores(DataStoreFinder.java:114)
 at org.geotools.data.DataStoreFinder.getDataStore(DataStoreFinder.java:85)
at
uk.ac.glam.smartwps.server.OWSRequestServiceImpl.wfsGetCapabilities(OWSRequestServiceImpl.java:580)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
 at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
... 22 more

On 19 April 2011 12:43, Jody Garnett <[email protected]> wrote:

> The two will conflict; GeoTools tries to find its plugins on the CLASSPATH;
> so if GeoTools 2.4.2 is around it will serve to confuse things for 2.7.0.
>
> There is a copy of 52N that uses a modern version of GeoTools; I recommend
> you upgrade!
>
> Jody
>
> On Tue, Apr 19, 2011 at 9:28 PM, Jon Britton 
> <[email protected]>wrote:
>
>> Hi,
>>
>> I'm trying to use the Geotools WFS module in my Google Web Toolkit
>> project. Unfortunately, when I try and create my WFSDataStore I get a
>> ClassCastException. Any idea what might cause this?
>>
>> My project uses Maven and Geotools 2.7.0. However, another of my
>> dependencies (52 North WPS client) uses Geotools 2.4.2 so there are some of
>> those jars there too... could this cause problems?
>>
>> My code and the exception are show below. Any help would be greatly
>> appreciated.
>>
>> Thanks!
>>
>> Jon
>>
>> CODE:
>>
>> String url1 = "
>> http://li199-25.members.linode.com:8080/geoserver/ows?service=wfs&version=1.1.0&request=GetCapabilities
>> ";
>> Map<String, String> connectionParameters = new HashMap<String, String>();
>> connectionParameters.put("WFSDataStoreFactory:GET_CAPABILITIES_URL",
>> url1);
>>  try {
>> //WFSDataStoreFactory fact;
>> WFSDataStore data = (WFSDataStore)
>> DataStoreFinder.getDataStore(connectionParameters);
>>  String[] typeNames = data.getTypeNames();
>> ArrayList<WFSFeatureType> wfsLayers = new ArrayList<WFSFeatureType>();
>>  for (int i = 0; i < typeNames.length; i++) {
>> String typeName = typeNames[i];
>>  WFSFeatureType newLayer = new WFSFeatureType();
>> newLayer.setName(typeName);
>>  newLayer.setTitle(data.getFeatureTypeTitle(typeName));
>> newLayer.setAbstract(data.getFeatureTypeAbstract(typeName));
>>  wfsLayers.add(newLayer);
>> }
>>  response.setWFSLayers(wfsLayers);
>> } catch (IOException e) {
>> // TODO Auto-generated catch block
>>  e.printStackTrace();
>> }
>>
>>
>> EXCEPTION:
>>
>> [WARN] Exception while dispatching incoming RPC call
>> com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public
>> abstract uk.ac.glam.smartwps.client.net.WFSGetCapabilitiesResponse
>> uk.ac.glam.smartwps.client.net.OWSRequestService.wfsGetCapabilities(java.lang.String)'
>> threw an unexpected exception: java.lang.ClassCastException
>>  at
>> com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
>> at
>> com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
>>  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 javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>>  at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
>> 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)
>> Caused by: java.lang.ClassCastException
>> at
>> javax.imageio.spi.ServiceRegistry.registerServiceProvider(ServiceRegistry.java:254)
>> at org.geotools.factory.FactoryRegistry.register(FactoryRegistry.java:876)
>>  at
>> org.geotools.factory.FactoryRegistry.scanForPlugins(FactoryRegistry.java:786)
>> at
>> org.geotools.factory.FactoryRegistry.getServiceProviders(FactoryRegistry.java:196)
>>  at
>> org.geotools.factory.FactoryRegistry.getServiceProviders(FactoryRegistry.java:160)
>> at
>> org.geotools.data.DataStoreFinder.getAvailableDataStores(DataStoreFinder.java:115)
>>  at
>> org.geotools.data.DataStoreFinder.getDataStore(DataStoreFinder.java:84)
>> at
>> uk.ac.glam.smartwps.server.OWSRequestServiceImpl.wfsGetCapabilities(OWSRequestServiceImpl.java:581)
>>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>  at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)
>>  at
>> com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
>> ... 22 more
>>
>>
>> ------------------------------------------------------------------------------
>> Benefiting from Server Virtualization: Beyond Initial Workload
>> Consolidation -- Increasing the use of server virtualization is a top
>> priority.Virtualization can reduce costs, simplify management, and improve
>> application availability and disaster protection. Learn more about
>> boosting
>> the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
>> _______________________________________________
>> Geotools-gt2-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>
>>
>
>
> ------------------------------------------------------------------------------
> Benefiting from Server Virtualization: Beyond Initial Workload
> Consolidation -- Increasing the use of server virtualization is a top
> priority.Virtualization can reduce costs, simplify management, and improve
> application availability and disaster protection. Learn more about boosting
> the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
> _______________________________________________
> Geotools-gt2-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>
>
------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to