MaartenV9058 Member since 2014 6 posts
Posted: June 1, 2017
Last activity: October 16, 2018

Case on production with missing pxObjClass giving BadClassDefinitionException - How to fix it so that case has value for pxObjClass?

This week a production incident was reported in our application that when opening only showed a screen saying: Work object not found. Class <blank> does not exist. (..) . The logs showed a BadClassDefinitionException in step 8 of OOTB activity Work- Open.

After further analysis we found that the exposed column pxObjClass in the work DB table had a value, but the pxObjClass inside the blob/pzPVStream was missing for some reason. I used this query: Select pyid,pxobjclass,pr_read_from_stream('.pxObjClass', pzInsKey, pzPVStream) AS "pxObjClass" from WORK_TABLE_NAME where pyid='RD-xxxxxx';

The issue was that methods Obj-Open-By-Handle and Obj-Open gave the BadClassDefinitionException after deserializing the blob. We then used Obj-Browse with UseLightWeightList unchecked and hereby I could read in the blob into CaseList.pxResults(1).

The next step was to give a value to the pxObjClass of the case by using Page-Change-Class and this succesfully happens in memory on the page. I then used a few ways to write the work object back to the table:

- Doing Obj-Save with commitWithErrorHandling ==> From the tracer with DB query on I see a MERGE query running and a commit happpening, however only the pxUpdateDateTime in the blob changes but the pxObjClass is still not there

- Doing an Obj-Save with Write-Now ==> Same result

- Doing an Obj-Save with Write-Now and WriteWithErrors ==> Same result

- Doing an Obj-Save with commit method ==> Same result

Does anyone why the pxObjClass is not succesfully populated in the blob? And any other suggestions/solutions to fix this issue?

**Moderation Team has archived post**

This post has been archived for educational purposes. Contents and links will no longer be updated. If you have the same/similar question, please write a new post.

Data Integration Java and Activities Data Integration
Moderation Team has archived post
Share this page LinkedIn