Details
Description
Migrated my Application from version 1.1.1 to 1.2.0-rc2. Was unable to connect to the Oracle Datastore on start-up of the server. Error message as follows:
1052 [SEVERE] org.vfny.geoserver.global.Data - FeatureTypeInfo remote.Oracle:::TEST_WFS ignored - as DataStore remote.Oracle is broken:java.util.NoSuchElementException: No datastore found capable of managing DataStoreConfig[namespace=topp, enabled=true, abstract=A remote oracle database, connection parameters=
{namespace=http://www.openplans.org/topp, user=geoserv, instance=dev9is, passwd=geoserv, host=hol-lx-dev04, port=1521, dbtype=oracle}]
java.util.NoSuchElementException: No datastore found capable of managing DataStoreConfig[namespace=topp, enabled=true, abstract=A remote oracle database, connection parameters=
]
at org.vfny.geoserver.global.DataStoreInfo.getDataStore(DataStoreInfo.java:223)
at org.vfny.geoserver.global.Data.loadFeatureTypes(Data.java:354)
at org.vfny.geoserver.global.Data.load(Data.java:164)
at org.vfny.geoserver.global.GeoServerPlugIn.init(GeoServerPlugIn.java:108)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:1158)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:473)
at javax.servlet.GenericServlet.init(GenericServlet.java:256)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:935)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:823)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3427)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3628)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:307)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:788)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:400)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:718)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:358)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
at org.apache.catalina.core.StandardService.start(StandardService.java:497)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)
at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
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:324)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
-
- geoserver.log
- 25/Jun/04 8:07 PM
- 79 kB
- Sean Geoghegan
-
Hide
- gt2-oracle-spatial.jar
- 26/Jun/04 11:28 AM
- 63 kB
- Chris Holmes
-
- META-INF/MANIFEST.MF 0.4 kB
- META-INF/.../org.geotools.data.DataSourceFactorySpi 0.0 kB
- META-INF/.../org.geotools.data.DataStoreFactorySpi 0.0 kB
- org/geotools/.../AdapterJTS.class 14 kB
- org/geotools/.../SDOAttributeIO.class 4 kB
- org/geotools/.../oracle/FIDSequence.class 2 kB
- org/.../OracleConnectionFactory.class 2 kB
- org/geotools/.../OracleDataSource.class 28 kB
- org/.../OracleDataSourceFactory.class 2 kB
- org/geotools/.../OracleDataStore.class 5 kB
- org/.../OracleDataStoreFactory.class 4 kB
- org/geotools/.../sdo/AttributeList.class 3 kB
- org/geotools/.../sdo/CoordinateAccess.class 0.8 kB
- org/.../CoordinateAccessFactory.class 0.4 kB
- org/geotools/data/.../sdo/Coordinates.class 8 kB
- org/geotools/data/oracle/sdo/ETYPE.class 0.5 kB
- org/geotools/.../sdo/GeometryConverter.class 9 kB
- org/geotools/data/.../sdo/OrdinateList.class 2 kB
- org/geotools/data/oracle/sdo/SDO.class 33 kB
- org/geotools/data/oracle/sdo/TT.class 0.4 kB
- org/geotools/.../SqlStatementEncoder.class 4 kB
- org/geotools/.../SQLEncoderOracle.class 11 kB
-
- oracleSpatial.log
- 28/Jun/04 9:21 AM
- 17 kB
- Ian Ives
Activity
Echoing Sean, it looks like you've got the params correct. In the expanded war (in webapps/geoserver) are the classes12 and sdoapi jars in geoserver/WEB-INF/lib/ ? And when you use the web admin interface, and hit Config -> Data -> Stores -> New is oracle one of the options?
The classes12.jar and the sdoapi.jar are both in the WEB-INF/lib folder.
"Oracle Spatial Database" was an option when I selected to create a new DataStore. When I went to the datastore page the following message was displayed
remote.Oracle:TEST_WFS java.lang.NullPointerException
The follwoing stack trace was in the server console
306599 [SEVERE] org.vfny.geoserver.global.Data - FeatureTypeInfo remote.Oracle:::TEST_WFS ignored - as DataStore remote.Oracle is broken:java.lang.NullPointerException
java.lang.NullPointerException
at org.geotools.data.jdbc.fidmapper.TypedFIDMapper.returnFIDColumnsAsAttributes(TypedFIDMapper.java:66)
at org.geotools.data.jdbc.JDBCDataStore.buildSchema(JDBCDataStore.java:1001)
at org.geotools.data.jdbc.FeatureTypeHandler.getFeatureTypeInfo(FeatureTypeHandler.java:200)
at org.geotools.data.jdbc.FeatureTypeHandler.getSchema(FeatureTypeHandler.java:168)
at org.geotools.data.jdbc.JDBCDataStore.getSchema(JDBCDataStore.java:314)
at org.vfny.geoserver.global.Data.loadFeatureTypes(Data.java:355)
at org.vfny.geoserver.global.Data.load(Data.java:164)
at org.vfny.geoserver.action.UpdateGSAction.updateGeoserver(UpdateGSAction.java:69)
at org.vfny.geoserver.action.UpdateGSAction.execute(UpdateGSAction.java:46)
at org.vfny.geoserver.action.ConfigAction.execute(ConfigAction.java:98)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)rest based on schemaBase: null
FeatureType Editor problem:java.lang.NullPointerException
java.lang.NullPointerException
at org.geotools.data.jdbc.fidmapper.TypedFIDMapper.returnFIDColumnsAsAttributes(TypedFIDMapper.java:66)
at org.geotools.data.jdbc.JDBCDataStore.buildSchema(JDBCDataStore.java:1001)
at org.geotools.data.jdbc.FeatureTypeHandler.getFeatureTypeInfo(FeatureTypeHandler.java:200)
at org.geotools.data.jdbc.FeatureTypeHandler.getSchema(FeatureTypeHandler.java:168)
at org.geotools.data.jdbc.JDBCDataStore.getSchema(JDBCDataStore.java:314)
at org.vfny.geoserver.form.data.TypesEditorForm.reset(TypesEditorForm.java:180)
at org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:560)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:520)
at org.apache.jsp.Editor_jsp._jspService(Editor_jsp.java:99)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:498)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:822)
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:398)
at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:137)
at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:177)
at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:756)
at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:881)
at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:473)
at org.apache.jsp.mainLayout_jsp._jspx_meth_tiles_insert_6(mainLayout_jsp.java:1283)
at org.apache.jsp.mainLayout_jsp._jspService(mainLayout_jsp.java:485)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:254)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:309)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Ive attached the log that Ian sent to me. This looks like a problem with the FID Mapper. Im not really up on how the FID Mapper works within Geotools. Chris can you advise on this please?
Let's bump this to Andrea, he's the fidmapper expert. I'll try to install oracle myself and take a look at it. Andrea, any insight as to the problem? Check out the stack trace.
Well, it seems that the default fid mapper factory cannot find a way to map the primary key column to a FID... I need to know more about the column, for the moment I've added some more intelligent exception handling. Please run again and report the stack trace again, so that I can see what's going wrong...
Andrea, I assume you put the changes in cvs? I just updated and then rolled this new oracle-spatial jar (now attached to the issue). Ian, could you download the jar and use it to replace your gt2-oraclespatial in webapps/geoserver/WEB-INF/lib/ (in your servlet container) ? And then post those logs?
I believe this should be fixed, I did extensive oracle testing for 1.2.0. Please reopen if it doesn't work.
I did geoserver with Oracle 10g ( rc3). I work ok with Getmap ... format = image/png but with image/svg+xml it said:
java.lang.IllegalStateException: getOutputStream() has already been called for this response
org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:599)
org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.java:163)
org.vfny.geoserver.servlets.AbstractService.send(AbstractService.java:614)
org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:670)
org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:654)
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:434)
org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:235)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.vfny.geoserver.servlets.wms.WmsDispatcher.doResponse(WmsDispatcher.java:137)
org.vfny.geoserver.servlets.wms.WmsDispatcher.doGet(WmsDispatcher.java:106)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
And On Tomcat's log file:
87567451 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type is: image/svg+xml
87567451 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - obtaining FeatureReader for HANOI_ROAD
87567451 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle: Geometric Column is: GEOLOC
87567451 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle: Geometric Column is: GEOLOC
87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - calling sql builder with filter [ GEOLOC bbox POLYGON ((11760917.50706 2326526.4628375, 11760917.50706 2347642.9254375, 11778674.77252 2347642.9254375, 11778674.77252 2326526.4628375, 11760917.50706 2326526.4628375)) ]
87567466 [FINE] org.geotools.filter.SQLEncoderOracle - Using layer SRID: 262148
87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(1.176091750706E7,2326526.4628375,1.176091750706E7,2347642.9254375,1.177867477252E7,2347642.9254375,1.177867477252E7,2326526.4628375,1.176091750706E7,2326526.4628375)),'mask=disjoint querytype=WINDOW') = 'TRUE'
87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - About to execure query: SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(1.176091750706E7,2326526.4628375,1.176091750706E7,2347642.9254375,1.177867477252E7,2347642.9254375,1.177867477252E7,2326526.4628375,1.176091750706E7,2326526.4628375)),'mask=disjoint querytype=WINDOW') = 'TRUE'
87567466 [FINE] org.geotools.data.jdbc.ConnectionPool - Getting available connection.
87567982 [FINE] org.geotools.data.oracle.attributeio.SDOAttributeIO - About to create Geometry convertor for HANOI_ROAD.GEOLOC
87567982 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - got FeatureReader, now writing
87567982 [WARNING] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.jts.geom.Geometry
87567982 [FINE] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager - Connection closed - adding to available connections.
87567982 [FINE] org.vfny.geoserver.responses.wms.GetMapResponse - asking delegate for aborting the process
87567982 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined error: UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.jts.geom.Geometry
87567982 [FINE] org.vfny.geoserver.ServiceException - java.io.IOException: UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.jts.geom.Geometry
89849545 [FINE] org.vfny.geoserver.requests.readers.KvpRequestReader - clean request is request=GetMap&layers=HANOI_ROAD&bbox=579463,2313996,595972,2334980&width=597&height=485&srs=EPSG:27354&styles=normal&Format=image/svg xml
89849545 [FINE] org.vfny.geoserver.requests.readers.KvpRequestReader - returning parsed
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for configured service responses' strategy
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for configured service strategy SPEED
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - verifying configured strategy
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Using service strategy class org.vfny.geoserver.servlets.SpeedStrategy
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - reading request: request=GetMap&layers=HANOI_ROAD&bbox=579463,2313996,595972,2334980&width=597&height=485&srs=EPSG:27354&styles=normal&Format=image/svg+xml
89849545 [FINE] org.vfny.geoserver.global.Data - getting type HANOI_ROAD
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - handling request: org.vfny.geoserver.requests.wms.GetMapRequest@8845df8b
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - strategy is: org.vfny.geoserver.servlets.SpeedStrategy@c0c00d
89849545 [FINE] org.vfny.geoserver.responses.wms.map.SVGMapResponse - checking if can producer image/svg xml, returningtrue
89849545 [FINE] org.vfny.geoserver.responses.wms.map.GetMapDelegate - query for map is Query:
feature type: HANOI_ROAD
filter: [ GEOLOC bbox POLYGON ((579463 2313996, 579463 2334980, 595972 2334980, 595972 2313996, 579463 2313996)) ]
[properties: GEOLOC]
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type is: image/svg+xml
89849545 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - obtaining FeatureReader for HANOI_ROAD
89849545 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle: Geometric Column is: GEOLOC
89849545 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle: Geometric Column is: GEOLOC
89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - calling sql builder with filter [ GEOLOC bbox POLYGON ((579463 2313996, 579463 2334980, 595972 2334980, 595972 2313996, 579463 2313996)) ]
89849545 [FINE] org.geotools.filter.SQLEncoderOracle - Using layer SRID: 262148
89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(579463.0,2313996.0,579463.0,2334980.0,595972.0,2334980.0,595972.0,2313996.0,579463.0,2313996.0)),'mask=disjoint querytype=WINDOW') = 'TRUE'
89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - About to execure query: SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(579463.0,2313996.0,579463.0,2334980.0,595972.0,2334980.0,595972.0,2313996.0,579463.0,2313996.0)),'mask=disjoint querytype=WINDOW') = 'TRUE'
89849545 [FINE] org.geotools.data.jdbc.ConnectionPool - Getting available connection.
89873701 [FINE] org.geotools.data.oracle.attributeio.SDOAttributeIO - About to create Geometry convertor for HANOI_ROAD.GEOLOC
89873701 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - got FeatureReader, now writing
89873701 [WARNING] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.jts.geom.Geometry
89873701 [FINE] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager - Connection closed - adding to available connections.
89873701 [FINE] org.vfny.geoserver.responses.wms.GetMapResponse - asking delegate for aborting the process
89873701 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined error: UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.jts.geom.Geometry
89873701 [FINE] org.vfny.geoserver.ServiceException - java.io.IOException: UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.jts.geom.Geometry
How can I solve the problem?
Have you added the Oracle Drivers and the SDO API jars to the lib directory of Geoserver?