Unable to deserialize object when starting a new case of a process

1
0
-1

Hi everybody.
I made this step:
1) I defined a BDM com.xyz.Class with only one attribute (a String, mandatory)
2) I defined a process variable "var" of type com.xyz.Class (the class defined in BDM)
3) I made a (VERY) simple process with one simple task which should show the process variable instantiated when starting a new case.
I realized a simple webapp which exposes a REST service for starting a new case, using Bonita engine API. For the code, I look at these examples https://documentation.bonitasoft.com/bonita/7.8/manage-a-process and in particular at the paragraph "Set variables of any type and start a process instance"

Whenever I try to start a new case, always I get this error:

message=Unable to deserialize object 
   <object-stream>
      <object-array>
        <long>6223957638235021791</long>
        <map>
          <entry>
            <string>var</string>
              <com.xyz.Class>
                <id>1</id>
              </com.xyz.Class>
          </entry>
        </map>
      </object-array>
    </object-stream>

with root cause
com.thoughtworks.xstream.mapper.CannotResolveClassException: com.xyz.Class

Am I wrong? What's the problem? Anyone can help me, providing an example of a process with Object as process variable?
If I replace my com.xyz.Class with a text process variable, the new case starts wthout any problem.

Thank you in advance

Comments

Submitted by michele.pantano on Wed, 01/09/2019 - 17:27

I tried to sart a new instance using REST API and I got this message

{
    "exception": "class org.bonitasoft.web.toolkit.client.common.exception.api.APIException",
    "message": "com.xyz.Class not found. Only jdk types are supported",
    "api": "bpm",
    "resource": "case"
}

Maybe is it possible create only process variables which are primitive types?

No answers yet.
Notifications