Hi, Jody, that code has been copied into GeoTools codebase in the module gt-geojson-core.
https://github.com/geotools/geotools/blob/main/modules/unsupported/geojson-core/src/main/java/com/bedatadriven/jackson/datatype/jts/serialization/GeometryDeserializer.java <https://github.com/geotools/geotools/blob/main/modules/unsupported/geojson-core/src/main/java/com/bedatadriven/jackson/datatype/jts/serialization/GeometryDeserializer.java> And, the lines 44-45 were the error occurs is as follows: ObjectCodec oc = jsonParser.getCodec(); JsonNode root = oc.readTree(jsonParser); Here oc is the troublemaker being null, but according to the docs of getCodec() that could be the case so it should be handled in a way or the other. I'm afraid I haven't really looked into this module, so I can't really say how it should be handled. Regards, Roar Brænden > 31. okt. 2023 kl. 21:55 skrev Jody Garnett <jody.garn...@gmail.com>: > > I am a bit confused, checking GeometryDeserializer.java line 45: > > https://github.com/bedatadriven/jackson-datatype-jts/blob/master/src/main/java/com/bedatadriven/jackson/datatype/jts/serialization/GeometryDeserializer.java > > <https://github.com/bedatadriven/jackson-datatype-jts/blob/master/src/main/java/com/bedatadriven/jackson/datatype/jts/serialization/GeometryDeserializer.java> > > And line 45 does not exist ... huh. > > I looked online for a bit and did not find > com.bedatadriven.jackson.datatype.jts.serialization.GeometryDeserializer yet > (maybe someone else can help?) > > I assume it is trying to parse GeoJSON when the failure occurs, perhaps look > at the json output for anything odd or missing? > -- > Jody Garnett > > > On Oct 31, 2023 at 1:53:06 AM, Daniele Maggiolo via Geoserver-users > <geoserver-users@lists.sourceforge.net > <mailto:geoserver-users@lists.sourceforge.net>> wrote: >> Hi, >> >> I noticed that from version 2.22.0 of GeoServe, running the WPS process >> “gs:RepojectGeometry” with application/json input no longer works correctly >> while, for example, with version 2.18.2 everything worked correctly. >> >> I tried with several recent versions, up to 2.23.1. >> >> The Java version used in the latest versions is 11 as recommended by the >> minimum requirements of GeoServer (in version 2.18.2 I used version 8). >> >> If I test the process with WKT input, everything works fine, while if I use >> application/json, I get the following error: >> >> >> 31 Oct 09:48:28 ERROR [wps.executor] - Process execution failed >> >> org.geoserver.wps.WPSException: Failed to retrieve value for input geometry >> >> at >> org.geoserver.wps.executor.LazyInputMap.parseInputs(LazyInputMap.java:98) >> >> at >> org.geoserver.wps.executor.LazyInputMap.get(LazyInputMap.java:50) >> >> at >> org.geotools.process.factory.AnnotationDrivenProcessFactory$InvokeMethodProcess.buildProcessArguments(AnnotationDrivenProcessFactory.java:748) >> >> at >> org.geotools.process.factory.AnnotationDrivenProcessFactory$InvokeMethodProcess.execute(AnnotationDrivenProcessFactory.java:628) >> >> at >> org.geoserver.wps.executor.ProcessStartupFilter$ProcessStartupWrapper.execute(ProcessStartupFilter.java:50) >> >> at >> org.geoserver.wps.executor.DefaultProcessManager$ProcessCallable.call(DefaultProcessManager.java:222) >> >> at >> org.geoserver.wps.executor.DefaultProcessManager$ProcessCallable.call(DefaultProcessManager.java:191) >> >> at >> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) >> >> at >> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) >> >> at >> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) >> >> at java.base/java.lang.Thread.run(Thread.java:829) >> >> Caused by: java.lang.NullPointerException >> >> at >> com.bedatadriven.jackson.datatype.jts.serialization.GeometryDeserializer.deserialize(GeometryDeserializer.java:45) >> >> at >> com.bedatadriven.jackson.datatype.jts.serialization.GeometryDeserializer.deserialize(GeometryDeserializer.java:33) >> >> at >> com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323) >> >> at >> com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:4650) >> >> at >> com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2831) >> >> at >> org.geoserver.wps.ppio.GeoJSONPPIO$Geometries.decode(GeoJSONPPIO.java:134) >> >> at org.geoserver.wps.ppio.CDataPPIO.decode(CDataPPIO.java:21) >> >> at >> org.geoserver.wps.executor.SimpleInputProvider.getValueInternal(SimpleInputProvider.java:81) >> >> at >> org.geoserver.wps.executor.AbstractInputProvider.getValue(AbstractInputProvider.java:103) >> >> at >> org.geoserver.wps.executor.LazyInputMap.parseInputs(LazyInputMap.java:90) >> >> >> The XML to test the functionality is as follows: >> >> >> <?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" >> service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance >> <http://www.w3.org/2001/XMLSchema-instance>" >> xmlns="http://www.opengis.net/wps/1.0.0 <http://www.opengis.net/wps/1.0.0>" >> xmlns:wfs="http://www.opengis.net/wfs <http://www.opengis.net/wfs>" >> xmlns:wps="http://www.opengis.net/wps/1.0.0 >> <http://www.opengis.net/wps/1.0.0>" >> xmlns:ows="http://www.opengis.net/ows/1.1 <http://www.opengis.net/ows/1.1>" >> xmlns:gml="http://www.opengis.net/gml <http://www.opengis.net/gml>" >> xmlns:ogc="http://www.opengis.net/ogc <http://www.opengis.net/ogc>" >> xmlns:wcs="http://www.opengis.net/wcs/1.1.1 >> <http://www.opengis.net/wcs/1.1.1>" >> xmlns:xlink="http://www.w3.org/1999/xlink <http://www.w3.org/1999/xlink>" >> xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 >> <http://www.opengis.net/wps/1.0.0>http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd >> <http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd>"> >> >> <ows:Identifier>gs:ReprojectGeometry</ows:Identifier> >> >> <wps:DataInputs> >> >> <wps:Input> >> >> <ows:Identifier>geometry</ows:Identifier> >> >> <wps:Data> >> >> <wps:ComplexData >> mimeType="application/json"><![CDATA[{"type":"Point","coordinates":[1293046.99,5729442.56]}]]></wps:ComplexData> >> >> </wps:Data> >> >> </wps:Input> >> >> <wps:Input> >> >> <ows:Identifier>sourceCRS</ows:Identifier> >> >> <wps:Data> >> >> <wps:LiteralData>EPSG:3857</wps:LiteralData> >> >> </wps:Data> >> >> </wps:Input> >> >> <wps:Input> >> >> <ows:Identifier>targetCRS</ows:Identifier> >> >> <wps:Data> >> >> <wps:LiteralData>EPSG:3003</wps:LiteralData> >> >> </wps:Data> >> >> </wps:Input> >> >> </wps:DataInputs> >> >> <wps:ResponseForm> >> >> <wps:RawDataOutput mimeType="application/json"> >> >> <ows:Identifier>result</ows:Identifier> >> >> </wps:RawDataOutput> >> >> </wps:ResponseForm> >> >> </wps:Execute> >> >> >> >> Daniele Maggiolo >> >> Settore Tecnico >> >> >> <image001.png> >> >> >> Via Roma, 5 – 36026, Pojana Maggiore (VI) >> >> Tel. 0444 794127 – www.abitat.it <http://www.abitat.it/> >> >> La presente e-mail ha carattere esclusivamente aziendale. Personale >> incaricato della ditta Abitat SIT srl potrà accedere al contenuto della >> e-mail e a eventuali risposte. Non è consentita la diffusione, distribuzione >> e copia della e-mail da parte di persona diversa dal destinatario. Non >> permettendo Internet di assicurare l'integrità del presente messaggio si >> declina ogni responsabilità nell'ipotesi in cui esso venga modificato. Se >> avete ricevuto questa e-mail per errore vi preghiamo di eliminarla e darne >> comunicazione al mittente. Grazie per la Vostra collaborazione. >> >> >> _______________________________________________ >> Geoserver-users mailing list >> >> Please make sure you read the following two resources before posting to this >> list: >> - Earning your support instead of buying it, but Ian Turton: >> http://www.ianturton.com/talks/foss4g.html#/ >> <http://www.ianturton.com/talks/foss4g.html#/> >> - The GeoServer user list posting guidelines: >> http://geoserver.org/comm/userlist-guidelines.html >> <http://geoserver.org/comm/userlist-guidelines.html> >> >> If you want to request a feature or an improvement, also see this: >> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer >> >> <https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer> >> >> >> Geoserver-users@lists.sourceforge.net >> <mailto:Geoserver-users@lists.sourceforge.net> >> https://lists.sourceforge.net/lists/listinfo/geoserver-users >> <https://lists.sourceforge.net/lists/listinfo/geoserver-users> > _______________________________________________ > Geoserver-users mailing list > > Please make sure you read the following two resources before posting to this > list: > - Earning your support instead of buying it, but Ian Turton: > http://www.ianturton.com/talks/foss4g.html#/ > - The GeoServer user list posting guidelines: > http://geoserver.org/comm/userlist-guidelines.html > > If you want to request a feature or an improvement, also see this: > https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer > > > Geoserver-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geoserver-users
_______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users