Page 1 of 1

getMetaData: The response could not be deserialized

PostPosted:Mon Sep 15, 2014 9:51 am
by Catscratch
Hi,

since the latest update from SVN I got problems with showing property groups on nodes in the frontend (browser).

The following message appears when I click on a document, that owns a propery group with values.
Unbenannt.PNG
Unbenannt.PNG (5.51 KiB) Viewed 6644 times
For the record, in earlier versions of OKM 6.3.0 (SVN checkout about a month ago) everything was working. Don't know if there a some correlations.

Here is the log file:
I shortened the property group content.
Code: Select all
2014-09-15 11:40:20,303 [http-nio-0.0.0.0-8080-exec-1] DEBUG com.openkm.util.FormUtils- parsePropertyGroupsForms: {{label=ROST, name=pc:ROST, visible=true, readonly=false}=[{label=Dokumenten-ID, name=pc:rost.docid, value=, data=, width=100px, height=25px, readonly=false, type=text, validators=[]}, ... AND SO ON. HERE COMES A LOT OF PROPERTY GROUP DEFINITIONS ... ]}
2014-09-15 11:40:20,305 [http-nio-0.0.0.0-8080-exec-1] DEBUG com.openkm.dao.NodeBaseDAO- getProperties(89cf7f56-01c9-4f62-8034-fb5d6709e4e4, pc:ROST)
2014-09-15 11:40:20,308 [http-nio-0.0.0.0-8080-exec-1] DEBUG com.openkm.module.db.stuff.SecurityHelper- checkRead({uuid=89cf7f56-01c9-4f62-8034-fb5d6709e4e4, context=okm_root, path=null, parent=2e58089d-9817-454a-89c8-2633242bc895, author=okmAdmin, name=mydocument.pdf, created=Mon Sep 15 11:13:09 CEST 2014, lastModified=Mon Sep 15 11:13:09 CEST 2014, language=null, title=, description=null, mimeType=application/pdf, checkedOut=false, subscriptors=[], keywords=[], categories=[], userPermissions={okmAdmin=15}, rolePermissions={ROLE_USER=15}, textExtracted=true, locked=false, lock=null})
2014-09-15 11:40:20,308 [http-nio-0.0.0.0-8080-exec-1] DEBUG com.openkm.module.db.stuff.DbSimpleAccessManager- isGranted(89cf7f56-01c9-4f62-8034-fb5d6709e4e4, 1)
2014-09-15 11:40:20,308 [http-nio-0.0.0.0-8080-exec-1] DEBUG com.openkm.module.db.stuff.DbSimpleAccessManager- isGranted: true
2014-09-15 11:40:20,313 [http-nio-0.0.0.0-8080-exec-1] DEBUG com.openkm.dao.NodeBaseDAO- getProperties: {pc:rost.imppakid=2013-07-03-16-09-35-653, pc:rost.dateiname=mydocument.pdf, pc:rost.pruefdat=null, pc:rost.dateityp=pdf, pc:rost.estatus=["pc:rost.estatus.bf"], ... AND A LOT OF MORE ... ALSO SHORTENED ... }
2014-09-15 11:40:20,315 [http-nio-0.0.0.0-8080-exec-1] DEBUG com.openkm.util.UserActivity- {id=0, date=Mon Sep 15 11:40:20 CEST 2014, user=okmAdmin, action=GET_PROPERTY_GROUP_PROPERTIES, item=89cf7f56-01c9-4f62-8034-fb5d6709e4e4, path=/okm:root/ROST/folder/mydocument.pdf, params=pc:ROST, [{label=Dokumenten-ID, name=pc:rost.docid, value=29541090, data=, width=100px, height=25px, readonly=false, type=text, validators=[]}, {label=Projekt, name=pc:rost.projekt, value=ROST, data=, width=100px, height=25px, readonly=false, type=text, validators=[]}, ... AND SO ON ... SHORTENED ...}, {lab}
2014-09-15 11:40:20,327 [http-nio-0.0.0.0-8080-exec-1] DEBUG com.openkm.module.db.DbPropertyGroupModule- getProperties: [{label=Dokumenten-ID, name=pc:rost.docid, value=29541090, data=, width=100px, height=25px, readonly=false, type=text, validators=[]}, {label=Projekt, name=pc:rost.projekt, value=ROST, data=, width=100px, height=25px, readonly=false, type=text, validators=[]}, ... AND SO ON ... ]
2014-09-15 11:40:20,330 [http-nio-0.0.0.0-8080-exec-1] DEBUG com.openkm.api.OKMPropertyGroup- getProperties: [{label=Dokumenten-ID, name=pc:rost.docid, value=29541090, data=, width=100px, height=25px, readonly=false, type=text, validators=[]}, {label=Projekt, name=pc:rost.projekt, value=ROST, data=, width=100px, height=25px, readonly=false, type=text, validators=[]}, ... AND SO ON ...]
2014-09-15 11:40:20,341 [http-nio-0.0.0.0-8080-exec-1] DEBUG com.openkm.servlet.frontend.PropertyGroupServlet- getProperties: [{label=Dokumenten-ID, name=pc:rost.docid, value=29541090, width=100px, height=25px, readonly=false, type=text, validators=[], date=null, data=}, {label=Projekt, name=pc:rost.projekt, value=ROST, width=100px, height=25px, readonly=false, type=text, validators=[], date=null, data=}, ... AND SO ON ...]
Do you have any idea, what could be wrong here?

Thanks!

Re: getMetaData: The response could not be deserialized

PostPosted:Tue Sep 16, 2014 6:43 pm
by jllort
In the log you put here I'm not able to see any error, when the error is shown not appears anything in catalina.log ?
If you've updated application from svn, be sure you clean browser cache, sometimes you get serialization problem caused by it.

Re: getMetaData: The response could not be deserialized

PostPosted:Fri Sep 19, 2014 7:45 am
by Catscratch
Ok, I found out, that the problem comes with you r8152 commit where you changed stuff in the Select form and the GWT classes. Primary you extended the Select form by a class name or so.

Could it maybe, that there are also changes in the frontend needed to deserialize the new select class?

Edit: I figured out, that it have definitely something to do with the select form changed. If I use PropertyGroups without a select, everything is working fine. But if I use a select, I get the error mentioned above.

Here is a simple propertygroup which is currently not working:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 2.2//EN" "http://www.openkm.com/dtd/property-groups-2.2.dtd">
<property-groups>
  <property-group label="TEST" name="pc:TEST">
 <select label="testlabel" name="pc:test.index" type="simple">
      <option label="1" value="pc:test.index.1" />
    </select>
  </property-group>
</property-groups>

Re: getMetaData: The response could not be deserialized

PostPosted:Sun Sep 21, 2014 6:23 am
by jllort
This is a quite strange value I suggest do not use special characters into value:
Replace pc:test.index.1 for 001, 002 etc... or 0001 ( what you must not doing is have 1, 10, 100 as values, normalize always with 0 in front ). Do not use in values spaces, special characters like ":" or similar things. Do this changes and test again.

Re: getMetaData: The response could not be deserialized

PostPosted:Mon Sep 22, 2014 6:58 am
by Catscratch
Hm, but there was not problem with this characters in the past. And there should be no problem, because this are not really "special characters".

Anyway, I tried your suggestion.
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 2.2//EN" "http://www.openkm.com/dtd/property-groups-2.2.dtd">
<property-groups>
  <property-group label="TEST" name="TEST">
 <select label="testlabel" name="index" type="simple">
      <option label="1" value="001" />
    </select>
  </property-group>
</property-groups>
But it's giving me the same error like before. Maybe I forgot to update classes from the frontend? But as I remember, there was only backend stuff updated?

Re: getMetaData: The response could not be deserialized

PostPosted:Wed Sep 24, 2014 8:20 am
by jllort
Take only as a suggestion: do not use special characters or spaces, keep on mind how lucene tokenizer works ( and there could be some problem ). Would you use as primary key in database an string with white spaces or characters like : ? Probably not. This is the same, take as a good practice.

It seems you continue having the error. I need to see error in log ( stack trace ) otherwise is not possible advance on the reason why it happens.

Re: getMetaData: The response could not be deserialized

PostPosted:Thu Sep 25, 2014 6:57 am
by Catscratch
Ok, here is the server log. After the last entry, the client shows the error popup I posted above.
Code: Select all
2014-09-25 08:55:24,226 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.servlet.frontend.PropertyGroupServlet- getAllGroups(/okm:root/3.png)
2014-09-25 08:55:24,227 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.servlet.frontend.PropertyGroupServlet- getGroups(/okm:root/3.png)
2014-09-25 08:55:24,227 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.api.OKMPropertyGroup- getGroups(null, /okm:root/3.png)
2014-09-25 08:55:24,227 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.module.db.DbPropertyGroupModule- getGroups(null)
2014-09-25 08:55:24,227 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.dao.NodeBaseDAO- calculateUuidFromPath(/okm:root/3.png)
2014-09-25 08:55:24,227 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.dao.NodeBaseDAO- calculateUuidFromPath(SessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] collectionRemovals=[] collectionUpdates=[]]), /okm:root/3.png)
2014-09-25 08:55:24,228 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.dao.NodeBaseDAO- calculateUuidFromPath: 07f73745-ece8-4c5a-9752-ce578ba4e947
2014-09-25 08:55:24,228 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.dao.NodeBaseDAO- calculateUuidFromPath: 07f73745-ece8-4c5a-9752-ce578ba4e947
2014-09-25 08:55:24,228 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.dao.NodeBaseDAO- getPropertyGroups(07f73745-ece8-4c5a-9752-ce578ba4e947, {})
2014-09-25 08:55:24,229 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.module.db.stuff.SecurityHelper- checkRead({uuid=07f73745-ece8-4c5a-9752-ce578ba4e947, context=okm_root, path=null, parent=c3b43f4b-42d6-4675-b7b8-693111b0c795, author=okmAdmin, name=3.png, created=Fri Sep 19 10:20:48 CEST 2014, lastModified=Fri Sep 19 10:20:48 CEST 2014, language=null, title=, description=null, mimeType=image/png, checkedOut=false, subscriptors=[], keywords=[], categories=[], userPermissions={okmAdmin=15}, rolePermissions={ROLE_USER=15}, textExtracted=true, locked=false, lock=null})
2014-09-25 08:55:24,229 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.module.db.stuff.DbSimpleAccessManager- isGranted(07f73745-ece8-4c5a-9752-ce578ba4e947, 1)
2014-09-25 08:55:24,229 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.module.db.stuff.DbSimpleAccessManager- isGranted: true
2014-09-25 08:55:24,230 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.dao.NodeBaseDAO- getPropertyGroups: [TEST]
2014-09-25 08:55:24,230 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.util.FormUtils- parsePropertyGroupsForms(D:\Programme\tomcat8okm\PropertyGroups.xml)
2014-09-25 08:55:24,230 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.util.FormUtils- parsePropertyGroupsForms: {{label=pgroup, name=pgroup, visible=true, readonly=false}=[{label=testlabel, name=testname, width=150px, height=25px, readonly=false, type=simple, value=, data=, optionsData=, options=[{label=optionlabel1, value=optionlabel1, selected=false}], validators=[], table=, optionsQuery=, suggestion=, class=}]}
2014-09-25 08:55:24,230 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.module.db.DbPropertyGroupModule- getGroups: []
2014-09-25 08:55:24,230 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.api.OKMPropertyGroup- getGroups: []
2014-09-25 08:55:24,230 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.servlet.frontend.PropertyGroupServlet- getGroups: []
2014-09-25 08:55:24,230 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.api.OKMPropertyGroup- getAllGroups(null)
2014-09-25 08:55:24,230 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.module.db.DbPropertyGroupModule- getAllGroups(null)
2014-09-25 08:55:24,230 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.util.FormUtils- parsePropertyGroupsForms(D:\Programme\tomcat8okm\PropertyGroups.xml)
2014-09-25 08:55:24,230 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.util.FormUtils- parsePropertyGroupsForms: {{label=pgroup, name=pgroup, visible=true, readonly=false}=[{label=testlabel, name=testname, width=150px, height=25px, readonly=false, type=simple, value=, data=, optionsData=, options=[{label=optionlabel1, value=optionlabel1, selected=false}], validators=[], table=, optionsQuery=, suggestion=, class=}]}
2014-09-25 08:55:24,230 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.dao.RegisteredPropertyGroupDAO- findAll()
2014-09-25 08:55:24,232 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.dao.RegisteredPropertyGroupDAO- findAll: [{name=TEST, properties={index=com.openkm.bean.form.Select}}, {name=pc:ROST, properties={testname=com.openkm.bean.form.Select}}, {name=pc:TEST, properties={pc:test.index=com.openkm.bean.form.Select}}, {name=pgroup, properties={testname=com.openkm.bean.form.Select}}]
2014-09-25 08:55:24,232 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.module.db.DbPropertyGroupModule- getAllGroups: [{label=pgroup, name=pgroup, visible=true, readonly=false}]
2014-09-25 08:55:24,232 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.api.OKMPropertyGroup- getAllGroups: [{label=pgroup, name=pgroup, visible=true, readonly=false}]
2014-09-25 08:55:24,233 [http-nio-0.0.0.0-8080-exec-9] DEBUG com.openkm.servlet.frontend.PropertyGroupServlet- getAllGroups: [{label=pgroup, name=pgroup, visible=true, readonly=false}]
2014-09-25 08:55:31,553 [http-nio-0.0.0.0-8080-exec-2] DEBUG com.openkm.servlet.frontend.PropertyGroupServlet- getPropertyGroupForm(pgroup)
2014-09-25 08:55:31,553 [http-nio-0.0.0.0-8080-exec-2] DEBUG com.openkm.api.OKMPropertyGroup- getPropertyGroupForm(null, pgroup)
2014-09-25 08:55:31,553 [http-nio-0.0.0.0-8080-exec-2] DEBUG com.openkm.module.db.DbPropertyGroupModule- getPropertyGroupForm(null, pgroup)
2014-09-25 08:55:31,553 [http-nio-0.0.0.0-8080-exec-2] DEBUG com.openkm.dao.RegisteredPropertyGroupDAO- findByPk(pgroup)
2014-09-25 08:55:31,553 [http-nio-0.0.0.0-8080-exec-2] DEBUG com.openkm.dao.RegisteredPropertyGroupDAO- findByPk: {name=pgroup, properties={testname=com.openkm.bean.form.Select}}
2014-09-25 08:55:31,553 [http-nio-0.0.0.0-8080-exec-2] DEBUG com.openkm.util.FormUtils- parsePropertyGroupsForms(D:\Programme\tomcat8okm\PropertyGroups.xml)
2014-09-25 08:55:31,553 [http-nio-0.0.0.0-8080-exec-2] DEBUG com.openkm.util.FormUtils- parsePropertyGroupsForms: {{label=pgroup, name=pgroup, visible=true, readonly=false}=[{label=testlabel, name=testname, width=150px, height=25px, readonly=false, type=simple, value=, data=, optionsData=, options=[{label=optionlabel1, value=optionlabel1, selected=false}], validators=[], table=, optionsQuery=, suggestion=, class=}]}
2014-09-25 08:55:31,554 [http-nio-0.0.0.0-8080-exec-2] DEBUG com.openkm.module.db.DbPropertyGroupModule- getPropertyGroupForm: [{label=testlabel, name=testname, width=150px, height=25px, readonly=false, type=simple, value=, data=, optionsData=, options=[{label=optionlabel1, value=optionlabel1, selected=false}], validators=[], table=, optionsQuery=, suggestion=, class=}]
2014-09-25 08:55:31,554 [http-nio-0.0.0.0-8080-exec-2] DEBUG com.openkm.api.OKMPropertyGroup- getPropertyGroupForm: [{label=testlabel, name=testname, width=150px, height=25px, readonly=false, type=simple, value=, data=, optionsData=, options=[{label=optionlabel1, value=optionlabel1, selected=false}], validators=[], table=, optionsQuery=, suggestion=, class=}]
2014-09-25 08:55:31,554 [http-nio-0.0.0.0-8080-exec-2] DEBUG com.openkm.servlet.frontend.PropertyGroupServlet- getPropertyGroupForm: [{label=testlabel, name=testname, width=150px, height=25px, readonly=false, type=simple, options=[{label=optionlabel1, value=optionlabel1, selected=false, suggested=false}], validators=[], data=, suggestion=}]
And here is the property group:
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 2.2//EN" "http://www.openkm.com/dtd/property-groups-2.2.dtd">
<property-groups>
  <property-group label="pgroup" name="pgroup">
    <select label="testlabel" name="testname" type="simple">
      <option label="optionlabel1" value="optionlabel1" />
    </select>
  </property-group>
</property-groups>
Don't know, but it seems to be a client problem. Is there also a client log?

Edit: The debug console only shows this...
Code: Select all
[ERROR] UnknownException(getPropertyGroupForm): The response could not be deserialized

Re: getMetaData: The response could not be deserialized

PostPosted:Fri Sep 26, 2014 4:11 pm
by jllort
You can enable tools -> log ( but you will not discover much with it ). It happens with other computers ?
I think without debug UI will not be possible discover what happens. I've tested with the same property group in a fresh installation and I'm not able to see anything ( be sure you've not got hidden characters ).
also I suggest unregister all property groups ( to see if it helps on something )
Do you got some antivirus, proxy, ad killer or similar in the computer or networks that could be doing something with data between server and the browser output ?

Re: getMetaData: The response could not be deserialized

PostPosted:Mon Sep 29, 2014 11:23 am
by Catscratch
How can I debug the frontend? Its build with some crucial gwt magic and google tools. :-) Where should I start the debugging and where would be the right class?

Edit: Ok I found it. Thats strange. I'm using m2e-wtp for automatic tomcat deployment in eclipse. And there is a problem, that the frontend folder is not deployed to the tomcat server, because eclipse uses the src/main/webapp folder for hot deployment instead of target/OpenKM. Therefor, I placed a compiled version of the frontend folder in the src/main/webapp folder, so that I can use hot deployment for this part too.

This results in an outdated frontend, which gave me the getMetadata Exception in this thread. So I updated the frontend folder by a new compiled one and now it is working. But I wonder if there is a better way to also use the frontend folder from the target directory in eclipse's hot deployment for tomcat. Don't know.

Re: getMetaData: The response could not be deserialized

PostPosted:Wed Oct 01, 2014 11:19 am
by jllort
Take a look at our documentIon, developer guide section where's indicated how to debug GWT with source code. I suggest use GWT Shell for it with community version, no SuperDevMode which it's not so easy.

Re: getMetaData: The response could not be deserialized

PostPosted:Tue Mar 17, 2015 8:03 pm
by edelgado
Dear catscratch, I had the same problem after installing a new version OpenKM and the solution was clear the browser cache or try with a different browser and the problem was solved.
The error is browser cache. (Guerda data from the previous installation)
Hope this works for someone else.
regards