0

I am getting this error when using Spring Boot Framework, RestTemplate and RestController. This error comes from the InvalidDefinitionException. I am not looking for an answer how to solve my problem, because I tried really everything. My question is on how to debug the problem, on what class should I set a breakpoint in order to see which of my field in the DTO is generating the problem or what exactly is generating the problem. From the above information I cannot learn a lot. Here below you can see the log, even including the HttpRequest and Response.

  org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter@119b8d03
    org.springframework.http.converter.json.MappingJackson2HttpMessageConverter@695c39af
    09:16:10.482 [Thread-4] DEBUG org.springframework.web.client.RestTemplate - HTTP GET http://127.0.0.1:1234/employee_plus_all_data
    WARNING: An illegal reflective access operation has occurred
    WARNING: Illegal reflective access by com.fasterxml.jackson.databind.util.ClassUtil (file:/home/koala/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.13.1/jackson-databind-2.13.1.jar) to field javafx.scene.Node.properties
    WARNING: Please consider reporting this to the maintainers of com.fasterxml.jackson.databind.util.ClassUtil
    WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
    WARNING: All illegal access operations will be denied in a future release
    09:16:10.606 [Thread-4] DEBUG org.springframework.http.converter.json.MappingJackson2HttpMessageConverter - Failed to evaluate Jackson deserialization for type [[simple type, class com.SPCBackend.SPCFrontendV5.dto.EmployeeModuleDto]]
    com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot find a deserializer for non-concrete Map type [map type; class javafx.collections.ObservableMap, [simple type, class java.lang.Object] -> [simple type, class java.lang.Object]]
        at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67)
        at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1904)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:268)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:632)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:539)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:632)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:539)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:609)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:188)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:28)
        at com.fasterxml.jackson.databind.DeserializationContext.handlePrimaryContextualization(DeserializationContext.java:825)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:550)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:632)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:539)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:609)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:188)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:28)
        at com.fasterxml.jackson.databind.DeserializationContext.handlePrimaryContextualization(DeserializationContext.java:825)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:550)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.hasValueDeserializerFor(DeserializerCache.java:191)
        at com.fasterxml.jackson.databind.DeserializationContext.hasValueDeserializerFor(DeserializationContext.java:587)
        at com.fasterxml.jackson.databind.ObjectMapper.canDeserialize(ObjectMapper.java:3467)
        at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canRead(AbstractJackson2HttpMessageConverter.java:251)
        at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canRead(AbstractJackson2HttpMessageConverter.java:237)
        at org.springframework.web.client.RestTemplate$AcceptHeaderRequestCallback.canReadResponse(RestTemplate.java:903)
        at org.springframework.web.client.RestTemplate$AcceptHeaderRequestCallback.lambda$doWithRequest$0(RestTemplate.java:888)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
        at org.springframework.web.client.RestTemplate$AcceptHeaderRequestCallback.doWithRequest(RestTemplate.java:892)
        at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:774)
        at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:711)
        at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:361)
        at com.SPCBackend.SPCFrontendV5.rest.EmployeeRestClient.getEmployeeModuleData(EmployeeRestClient.java:220)
        at com.SPCBackend.SPCFrontendV5.controller.EmployeeController.lambda$loadEmployeeData$0(EmployeeController.java:153)
 ...
    09:16:10.796 [Thread-4] DEBUG org.apache.http.wire - http-outgoing-1 << "{"employeeNameDto":{"_id":"61f185dba20682e7d49ccf10","firstName":"","lastName":"Tuszy[0xc5][0x84]ska"},"employeeNameDtoList":[{"_id":"61f185dba20682e7d49ccf10","firstName":"","lastName":"Tuszy[0xc5][0x84]ska"},{"_id":"61f185dba20682e7d49ccf60","firstName":"","lastName":""},{"_id":"61f185dba20682e7d49ccfd6","firstName":"","lastName":"Jurkiewicz"}],"employeeOrderDtoList":[{"_id":null,"agreementNumberChoiceBox":null,"chooseTransportDepartureComboBox":null,"chooseTransportReturnComboBox":null,"clientComboBox":null,"currencyComboBox":null,"dateCreateDatePicker":null,"dateSignedDatePicker":null,"orderDateFrom":null,"orderDateTill":null,"orderNumberChoiceBox":null,"orderTransportDeparture1DatePicker":null,"orderTransportDeparture1TextField":null,"orderTransportDeparture2TextField":null,"orderTransportDepartureOrganisedCheckBox":false,"orderTransportDeparturePaidCheckBox":false,"orderTransportDeparturePayerComboBox":null,"orderTransportDeparturePlanned1DatePicker":null,"orderTransportDeparturePlanned1TextField":null,"orderTransportDeparturePlanned2DatePicker":null,"orderTransportDeparturePlanned2TextField":null,"orderTransportReturn1DatePicker":null,"orderTransportReturn1TextField":null,"orderTransportReturn2DatePicker":null,"orderTransportReturn2TextField":null,"orderTransportReturnOrganisedCheckBox":false,"orderTransportReturnPaidCheckBox":false,"orderTransportReturnPayerComboBox":null,"orderTransportReturnPlanned1DatePicker":null,"orderTransportReturnPlanned1TextField":null,"orderTransportReturnPlanned2DatePicker":null,"orderTransportReturnPlanned2TextField":null,"savePathTextField":null,"wageTextField":null}],"employeeCall":[{"callDate":"2022-01-12","operatorCall":{"login":"Micha[0xc5][0x82]","password":null,"_id":"61f187d764f773652b226f67"},"clientCall":{"_id":"61f1883b8db78e475619c57d","firstName":"Gisela","lastName":"M[0xc3][0xbc]ller","address":null,"phoneNumber":null,"email":null},"recallBoolean":false,"recallTopic":"","callTopic":"5454","workTill":"","freeFrom":"","callInformation":"","_id":"61f188749bc36e277b952ccd","recallNot":false}],"employeeDocumentDtoList":[{"_id":null,"documentSentBoolean":false,"typeDocument":null,"numberDocument":null,"clientDocument":null,"addresseeDocument":null,"addresseeDocumentString":null,"senderAddtionalnformation":null,"employeeReceivedBoolean":false,"addresseeReceivedboolean2":false,"employeeAdditionalnformation":null,"addresseeAdditionalnformation":null,"addresseeForwardBoolean":false,"addresseeReceived":null,"addresseeReceivedDatePicker":null,"operatorCreateDocumentString":null,"senderSentDateDocument":null,"senderSentDateDocumentDatePicker":null,"senderOperatorDocument":null,"addresseeBackDocumentBoolean":false,"addresseeBackOriginalBoolean":false,"documentSentAgentBoolean":false,"senderCreateDateString":null,"senderCreateDatePicker":null,"employeeForwardDocumentAgent":null,"employeeForwardDocumentAgentString":null,"addresseeReceivedDocumentBoolean":false,"agentPassDocument":null,"agentPassDocumentDatePicker":null,"addresseeBackDocument":null,"addresseeBackDocumentDatePicker":null,"addresseeBackOriginal":null,"addresseeBackOriginalDatePicker":null,"employeeReceivedDocument":null,"employeeReceivedDocumentDatePicker":null,"employeeBackDocumentDate":null,"employeeBackDocumentDatePicker":null,"employeeReceivedAddress":null,"employeeReceivedAddressString":null,"employeeBackAddress":null,"employeeBackAddressString":null,"documentSegregatorSaved":false,"documentOriginalSegregatorSaved":false,"documentUSBSaved":false}],"scheduleInfoDtos":[{"_id":"61edda65b4ba412527cd5b27","concernedClientComboBox":{"_id":"61752fdb6ec0ae67f026be3f","firstName":"Wolfgang","lastName":"Kruse","address":null,"phoneNumber":null,"email":null},"concernedEmployeeComboBox":{"_id":"617644b890d988978d8bda4f","idContact":null,"firstName":"Adriana","lastName":"Hensztel"},"dateCreateScheduleDatePicker":"2022-01-04","dateLastScheduleDatePicker":"2022-01-12","infoTopic":"","information":"","orderedPersonComboBox":{"_id":"6176457861a1a81e063a62a6","login":"Micha[0xc5][0x82]","password":null},"handledScheduleCheckBox":true,"operatorScheduleComboBox":{"_id":"6176457861a1a81e063a62a6","login":"Micha[0xc5][0x82]","password":null}},{"_id":"61edfa9a910ae314c16e7111","concernedClientComboBox":null,"concernedEmployeeComboBox":null,"dateCreateScheduleDatePicker":"2021-12-29","dateLastScheduleDatePicker":null,"infoTopic":"","information":"","orderedPersonComboBox":{"_id":"6176457861a1a81e063a62a6","login":"Micha[0xc5][0x82]","password":null},"handledScheduleCheckBox":false,"operatorScheduleComboBox":{"_id":"6176457861a1a81e063a62a6","login":"Micha[0xc5][0x82]","password":null}},{"_id":"61edfae0910ae314c16e7112","concernedClientComboBox":{"_id":"61752fdb6ec0ae67f026be42","firstName":"Ursula","lastName":"Hecker","address":null,"phoneNumber":null,"email":null},"concernedEmployeeComboBox":{"_id":"617644b890d988978d8bda4f","idContact":null,"firstName":"Adriana","lastName":"Hensztel"},"dateCreateScheduleDatePicker":"2022-01-06","dateLastScheduleDatePicker":null,"infoTopic":"kkn","information":",, ,","orderedPersonComboBox":{"_id":"6176457861a1a81e063a62a6","login":"Micha[0xc5][0x82]","password":null},"handledScheduleCheckBox":true,"operatorScheduleComboBox":{"_id":"6176457861a1a81e063a62a6","login":"Micha[0xc5][0x82]","password":null}},{"_id":"61f188929bc36e277b952cce","concernedClientComboBox":null,"concernedEmployeeComboBox":{"_id":"61f185dba20682e7d49ccf10","idContact":null,"firstName":"","lastName":"Tuszy[0xc5][0x84]ska"},"dateCreateScheduleDatePicker":"2021-12-29","dateLastScheduleDatePicker":null,"infoTopic":"","information":"","orderedPersonComboBox":{"_id":"61f187d764f773652b226f67","login":"Micha[0xc5][0x82]","password":null},"handledScheduleCheckBox":false,"operatorScheduleComboBox":{"_id":"61f187d764f773652b226f67","login":"Micha[0xc5][0x82]","password":null}}]}[\r][\n]"
    09:16:10.796 [Thread-4] DEBUG org.apache.http.headers - http-outgoing-1 << HTTP/1.1 200 
    09:16:10.796 [Thread-4] DEBUG org.apache.http.headers - http-outgoing-1 << Content-Type: application/json
    09:16:10.797 [Thread-4] DEBUG org.apache.http.headers - http-outgoing-1 << Transfer-Encoding: chunked
    09:16:10.797 [Thread-4] DEBUG org.apache.http.headers - http-outgoing-1 << Date: Mon, 31 Jan 2022 08:16:10 GMT
    09:16:10.797 [Thread-4] DEBUG org.apache.http.headers - http-outgoing-1 << Keep-Alive: timeout=60
    09:16:10.797 [Thread-4] DEBUG org.apache.http.headers - http-outgoing-1 << Connection: keep-alive
    09:16:10.797 [Thread-4] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection can be kept alive for 60000 MILLISECONDS
    09:16:10.797 [Thread-4] DEBUG org.springframework.web.client.RestTemplate - Response 200 OK
    09:16:10.821 [Thread-4] DEBUG org.springframework.http.converter.json.MappingJackson2HttpMessageConverter - Failed to evaluate Jackson deserialization for type [[simple type, class com.SPCBackend.SPCFrontendV5.dto.EmployeeModuleDto]]
    com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot find a deserializer for non-concrete Map type [map type; class javafx.collections.ObservableMap, [simple type, class java.lang.Object] -> [simple type, class java.lang.Object]]
        at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67)
        at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1904)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:268)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:632)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:539)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:632)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:539)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:609)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:188)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:28)
        at com.fasterxml.jackson.databind.DeserializationContext.handlePrimaryContextualization(DeserializationContext.java:825)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:550)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:632)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:539)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:609)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:188)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:28)
        at com.fasterxml.jackson.databind.DeserializationContext.handlePrimaryContextualization(DeserializationContext.java:825)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:550)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.hasValueDeserializerFor(DeserializerCache.java:191)
        at com.fasterxml.jackson.databind.DeserializationContext.hasValueDeserializerFor(DeserializationContext.java:587)
        at com.fasterxml.jackson.databind.ObjectMapper.canDeserialize(ObjectMapper.java:3467)
        at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canRead(AbstractJackson2HttpMessageConverter.java:251)
        at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:100)
        at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:1037)
        at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:1020)
        at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:778)
        at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:711)
        at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:361)
        at com.SPCBackend.SPCFrontendV5.rest.EmployeeRestClient.getEmployeeModuleData(EmployeeRestClient.java:220)
        at com.SPCBackend.SPCFrontendV5.controller.EmployeeController.lambda$loadEmployeeData$0(EmployeeController.java:153)
        at java.base/java.lang.Thread.run(Thread.java:829)
    09:16:10.833 [Thread-4] DEBUG org.springframework.http.converter.json.MappingJackson2HttpMessageConverter - Failed to evaluate Jackson deserialization for type [[simple type, class com.SPCBackend.SPCFrontendV5.dto.EmployeeModuleDto]]
    com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot find a deserializer for non-concrete Map type [map type; class javafx.collections.ObservableMap, [simple type, class java.lang.Object] -> [simple type, class java.lang.Object]]
        at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67)
        at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1904)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:268)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:632)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:539)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:632)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:539)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:609)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:188)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:28)
        at com.fasterxml.jackson.databind.DeserializationContext.handlePrimaryContextualization(DeserializationContext.java:825)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:550)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:632)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:539)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
        at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:609)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:188)
        at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.createContextual(CollectionDeserializer.java:28)
        at com.fasterxml.jackson.databind.DeserializationContext.handlePrimaryContextualization(DeserializationContext.java:825)
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:550)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:294)
        at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
        at com.fasterxml.jackson.databind.deser.DeserializerCache.hasValueDeserializerFor(DeserializerCache.java:191)
        at com.fasterxml.jackson.databind.DeserializationContext.hasValueDeserializerFor(DeserializationContext.java:587)
        at com.fasterxml.jackson.databind.ObjectMapper.canDeserialize(ObjectMapper.java:3467)
        at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canRead(AbstractJackson2HttpMessageConverter.java:251)
        at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.canRead(AbstractJackson2HttpMessageConverter.java:237)
        at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:109)
        at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:1037)
        at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:1020)
        at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:778)
        at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:711)
        at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:361)
        at com.SPCBackend.SPCFrontendV5.rest.EmployeeRestClient.getEmployeeModuleData(EmployeeRestClient.java:220)
        at com.SPCBackend.SPCFrontendV5.controller.EmployeeController.lambda$loadEmployeeData$0(EmployeeController.java:153)
        at java.base/java.lang.Thread.run(Thread.java:829)
    09:16:10.835 [Thread-4] DEBUG org.apache.http.wire - http-outgoing-1 << "0[\r][\n]"
    09:16:10.835 [Thread-4] DEBUG org.apache.http.wire - http-outgoing-1 << "[\r][\n]"
    09:16:10.835 [Thread-4] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection [id: 1][route: {}->http://127.0.0.1:1234] can be kept alive for 60.0 seconds
    09:16:10.835 [Thread-4] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - http-outgoing-1: set socket timeout to 0
    09:16:10.835 [Thread-4] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection released: [id: 1][route: {}->http://127.0.0.1:1234][total available: 1; route allocated: 1 of 5; total allocated: 1 of 10]
    Exception in thread "Thread-4" org.springframework.web.client.UnknownContentTypeException: Could not extract response: no suitable HttpMessageConverter found for response type [class com.SPCBackend.SPCFrontendV5.dto.EmployeeModuleDto] and content type [application/json]
        at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:126)
        at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:1037)
        at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:1020)
        at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:778)
        at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:711)
        at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:361)
        at com.SPCBackend.SPCFrontendV5.rest.EmployeeRestClient.getEmployeeModuleData(EmployeeRestClient.java:220)
        at com.SPCBackend.SPCFrontendV5.controller.EmployeeController.lambda$loadEmployeeData$0(EmployeeController.java:153)
        at java.base/java.lang.Thread.run(Thread.java:829)
Koala
  • 29
  • 7
  • 1
    The error is about the fact that jackson library tried to deserialize your class , but it has not find a default deserializer for your class, so you have to create a custom deserializer for it or use another class for which a default deserializer already exists. – dariosicily Jan 31 '22 at 10:52
  • Okay, agree, I will give it a try, but still how should I know which of the fields are the one which do the problem? That's why my question was whether it's possible to trace the field in the object where the problem arises. So that I can understand what is arriving at the client and what Jackson is trying to deserialize into. I suppose that anyway, once I had found out, my next step would be to write a custom deserializer. – Koala Jan 31 '22 at 14:47
  • 1
    If you want to deserialize to a class for which there is no deserializer you can create directly a custom deserializer for it and begin to select the fields you are interested inside of it and try to deserialize everyone step to step. – dariosicily Jan 31 '22 at 17:15
  • Hi, instead of writing a custom deserializer, one could try to fetch all the response raw data before the RestTemplate, save it, and try later to map it into the desired Object with ModelMapper. I think maybe that could spit out the exact field of an Object that produces deserialization problems. The reason why I am saying it is that simply one of my fields, inside an Object field, inside another ObjectArrayDto didn't match with the server dtos ones and that created the exception. Greetigs from Poland @dariosicily – Koala Feb 01 '22 at 11:25
  • If you already know which is the field yes, you can modify it inside the json and then deserialize the json into your class. – dariosicily Feb 01 '22 at 15:31

0 Answers0