CMDBuild Forum

Eccezione org.cmdbuild.servlets.json.management.JsonSerializationException

Ciao a tutti.

Dopo aver creato alcune function su PostGreSQL ottengo il seguente errore all'avvio di CMDBuild:

 

Call: services/json/dashboard/fulllist

---------------------------------------

Error: org.cmdbuild.servlets.json.management.JsonSerializationException: org.codehaus.jackson.map.JsonMappingException: (was java.lang.UnsupportedOperationException) (through reference chain: org.cmdbuild.servlets.json.management.JsonResponse["response"]->org.cmdbuild.servlets.json.serializers.JsonDashboardListResponse["dataSources"]->java.util.ArrayList[0]->org.cmdbuild.servlets.json.serializers.JsonDataSource["output"])

at org.cmdbuild.servlets.json.management.JsonResponse.toString(JsonResponse.java:56)

at org.cmdbuild.servlets.JSONDispatcher.writeResponseData(JSONDispatcher.java:274)

at org.cmdbuild.servlets.JSONDispatcher.writeResponse(JSONDispatcher.java:204)

at org.cmdbuild.servlets.JSONDispatcher.dispatch(JSONDispatcher.java:99)

at org.cmdbuild.servlets.JSONDispatcher.doGet(JSONDispatcher.java:63)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.cmdbuild.filters.AuthFilter.doFilter(AuthFilter.java:158)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.cmdbuild.filters.PatchManagerFilter.doFilter(PatchManagerFilter.java:48)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.cmdbuild.filters.ConfCheckFilter.doFilter(ConfCheckFilter.java:31)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.cmdbuild.filters.TranslationFilter.doFilter(TranslationFilter.java:52)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:745)

Caused by: org.codehaus.jackson.map.JsonMappingException: (was java.lang.UnsupportedOperationException) (through reference chain: org.cmdbuild.servlets.json.management.JsonResponse["response"]->org.cmdbuild.servlets.json.serializers.JsonDashboardListResponse["dataSources"]->java.util.ArrayList[0]->org.cmdbuild.servlets.json.serializers.JsonDataSource["output"])

at org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:218)

at org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:183)

at org.codehaus.jackson.map.ser.std.SerializerBase.wrapAndThrow(SerializerBase.java:140)

at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:158)

at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)

at org.codehaus.jackson.map.ser.std.StdContainerSerializers$IndexedListSerializer.serializeContents(StdContainerSerializers.java:122)

at org.codehaus.jackson.map.ser.std.StdContainerSerializers$IndexedListSerializer.serializeContents(StdContainerSerializers.java:71)

at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)

at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)

at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)

at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)

at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)

at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)

at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)

at org.codehaus.jackson.map.ser.StdSerializerProvider._serializeValue(StdSerializerProvider.java:610)

at org.codehaus.jackson.map.ser.StdSerializerProvider.serializeValue(StdSerializerProvider.java:256)

at org.codehaus.jackson.map.ObjectMapper._configAndWriteValue(ObjectMapper.java:2575)

at org.codehaus.jackson.map.ObjectMapper.writeValueAsString(ObjectMapper.java:2097)

at org.cmdbuild.servlets.json.management.JsonResponse.toString(JsonResponse.java:54)

... 43 more

Caused by: java.lang.UnsupportedOperationException

at org.cmdbuild.dao.entrytype.attributetype.UndefinedAttributeType.accept(UndefinedAttributeType.java:17)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSourceParameter$TypeConverter.(JsonDashboardDTO.java:118)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSourceParameter.(JsonDashboardDTO.java:102)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSourceParameter.(JsonDashboardDTO.java:95)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSource$1.apply(JsonDashboardDTO.java:72)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSource$1.apply(JsonDashboardDTO.java:69)

at com.google.common.collect.Iterators$8.transform(Iterators.java:794)

at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)

at com.google.common.collect.Iterators.addAll(Iterators.java:357)

at com.google.common.collect.Lists.newArrayList(Lists.java:147)

at com.google.common.collect.Lists.newArrayList(Lists.java:129)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSource.getOutput(JsonDashboardDTO.java:91)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.codehaus.jackson.map.ser.BeanPropertyWriter.get(BeanPropertyWriter.java:483)

at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:418)

at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)

... 58 more

 

Ho svuotato la cache di CMDbuild, di Tomcat e riavviato Tomcat stesso ma ottengo sempre lo stesso errore.

Da cosa puó dipendere secondo voi?

Grazie.

Previously Kevin wrote:

Ciao a tutti.

Dopo aver creato alcune function su PostGreSQL ottengo il seguente errore all'avvio di CMDBuild:

Dimenticavo, utilizzo CMDBuild versione 2.2.2.

Trattasi di un baco della versione?

 

Call: services/json/dashboard/fulllist

---------------------------------------

Error: org.cmdbuild.servlets.json.management.JsonSerializationException: org.codehaus.jackson.map.JsonMappingException: (was java.lang.UnsupportedOperationException) (through reference chain: org.cmdbuild.servlets.json.management.JsonResponse["response"]->org.cmdbuild.servlets.json.serializers.JsonDashboardListResponse["dataSources"]->java.util.ArrayList[0]->org.cmdbuild.servlets.json.serializers.JsonDataSource["output"])

at org.cmdbuild.servlets.json.management.JsonResponse.toString(JsonResponse.java:56)

at org.cmdbuild.servlets.JSONDispatcher.writeResponseData(JSONDispatcher.java:274)

at org.cmdbuild.servlets.JSONDispatcher.writeResponse(JSONDispatcher.java:204)

at org.cmdbuild.servlets.JSONDispatcher.dispatch(JSONDispatcher.java:99)

at org.cmdbuild.servlets.JSONDispatcher.doGet(JSONDispatcher.java:63)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.cmdbuild.filters.AuthFilter.doFilter(AuthFilter.java:158)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.cmdbuild.filters.PatchManagerFilter.doFilter(PatchManagerFilter.java:48)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.cmdbuild.filters.ConfCheckFilter.doFilter(ConfCheckFilter.java:31)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.cmdbuild.filters.TranslationFilter.doFilter(TranslationFilter.java:52)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:745)

Caused by: org.codehaus.jackson.map.JsonMappingException: (was java.lang.UnsupportedOperationException) (through reference chain: org.cmdbuild.servlets.json.management.JsonResponse["response"]->org.cmdbuild.servlets.json.serializers.JsonDashboardListResponse["dataSources"]->java.util.ArrayList[0]->org.cmdbuild.servlets.json.serializers.JsonDataSource["output"])

at org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:218)

at org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:183)

at org.codehaus.jackson.map.ser.std.SerializerBase.wrapAndThrow(SerializerBase.java:140)

at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:158)

at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)

at org.codehaus.jackson.map.ser.std.StdContainerSerializers$IndexedListSerializer.serializeContents(StdContainerSerializers.java:122)

at org.codehaus.jackson.map.ser.std.StdContainerSerializers$IndexedListSerializer.serializeContents(StdContainerSerializers.java:71)

at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)

at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)

at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)

at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)

at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)

at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)

at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)

at org.codehaus.jackson.map.ser.StdSerializerProvider._serializeValue(StdSerializerProvider.java:610)

at org.codehaus.jackson.map.ser.StdSerializerProvider.serializeValue(StdSerializerProvider.java:256)

at org.codehaus.jackson.map.ObjectMapper._configAndWriteValue(ObjectMapper.java:2575)

at org.codehaus.jackson.map.ObjectMapper.writeValueAsString(ObjectMapper.java:2097)

at org.cmdbuild.servlets.json.management.JsonResponse.toString(JsonResponse.java:54)

... 43 more

Caused by: java.lang.UnsupportedOperationException

at org.cmdbuild.dao.entrytype.attributetype.UndefinedAttributeType.accept(UndefinedAttributeType.java:17)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSourceParameter$TypeConverter.(JsonDashboardDTO.java:118)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSourceParameter.(JsonDashboardDTO.java:102)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSourceParameter.(JsonDashboardDTO.java:95)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSource$1.apply(JsonDashboardDTO.java:72)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSource$1.apply(JsonDashboardDTO.java:69)

at com.google.common.collect.Iterators$8.transform(Iterators.java:794)

at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)

at com.google.common.collect.Iterators.addAll(Iterators.java:357)

at com.google.common.collect.Lists.newArrayList(Lists.java:147)

at com.google.common.collect.Lists.newArrayList(Lists.java:129)

at org.cmdbuild.servlets.json.serializers.JsonDashboardDTO$JsonDataSource.getOutput(JsonDashboardDTO.java:91)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.codehaus.jackson.map.ser.BeanPropertyWriter.get(BeanPropertyWriter.java:483)

at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:418)

at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)

... 58 more

 

Ho svuotato la cache di CMDbuild, di Tomcat e riavviato Tomcat stesso ma ottengo sempre lo stesso errore.

Da cosa puó dipendere secondo voi?

Grazie.

 

L'errore all'avvio è legato alle funzioni custom che sono state aggiunte.

Proverei quindi innanzitutto a toglierle per verificare che CMDBuild funzioni correttamente.

Poi le rimetterei una alla volta per capire quale determina l'errore e a quel punto la correggerei in modo che siano rispettati i vincoli previsti da CMDBuild e documentati nell'Administrator Manual.

CMDBuild Team

 

Le function custom che ho creato dovrebbero tutte rispettare i vincoli previsti da CMDBuild, ossia hanno tutte come ultima riga la dicitura:
 
COMMENT ON FUNCTION myFunctionCustom() IS 'TYPE: function';
 
Non mi sembra occorra altro o sbaglio?
 
Nonstante questo ho eliminato tutte le custom function e l'eccezione si verifica lo stesso.
Puó dipendere dai trigger custom? Eventualmente fosse cosí, quale deve essere la forma corretta per crearli?
 
Grazie.
 
 
Previously Tecnoteca wrote:

L'errore all'avvio è legato alle funzioni custom che sono state aggiunte.

Proverei quindi innanzitutto a toglierle per verificare che CMDBuild funzioni correttamente.

Poi le rimetterei una alla volta per capire quale determina l'errore e a quel punto la correggerei in modo che siano rispettati i vincoli previsti da CMDBuild e documentati nell'Administrator Manual.

CMDBuild Team

 

 

Ho scoperto che non dipende dai trigger custom ma da una custom function che ha come ritorno una TABLE.
PostgreSQL non permette l'opzione OUT nella dichiarazione della function se il parametro di ritorno é di tipo TABLE.
Come viene gestita questa cosa su CMDBuild?
Non é possibile avere custom function che ritornano una TABLE?
 
Grazie.
 
Previously Kevin wrote:
Le function custom che ho creato dovrebbero tutte rispettare i vincoli previsti da CMDBuild, ossia hanno tutte come ultima riga la dicitura:
 
COMMENT ON FUNCTION myFunctionCustom() IS 'TYPE: function';
 
Non mi sembra occorra altro o sbaglio?
 
Nonstante questo ho eliminato tutte le custom function e l'eccezione si verifica lo stesso.
Puó dipendere dai trigger custom? Eventualmente fosse cosí, quale deve essere la forma corretta per crearli?
 
Grazie.
 
 
Previously Tecnoteca wrote:

L'errore all'avvio è legato alle funzioni custom che sono state aggiunte.

Proverei quindi innanzitutto a toglierle per verificare che CMDBuild funzioni correttamente.

Poi le rimetterei una alla volta per capire quale determina l'errore e a quel punto la correggerei in modo che siano rispettati i vincoli previsti da CMDBuild e documentati nell'Administrator Manual.

CMDBuild Team

 

 

 

Come già indicato l'Administrator Manual riporta (pag. 55 in alto) i vincoli previsti, incluso il tipo dei paramentri in input e di output.

CMDBuild Team

 

 

 

 

Ho provato a spostare questa function dallo schema public ad un altro schema sempre dello stesso database e l'errore continua a generarlo lo stesso.
Possibile che CMDBuild faccia un check anche al di fuori dello schema public?
 
 
Previously Tecnoteca wrote:

Come già indicato l'Administrator Manual riporta (pag. 55 in alto) i vincoli previsti, incluso il tipo dei paramentri in input e di output.

CMDBuild Team