Greetings,

I have a question regarding the data transfer between a yawl net and a codelet.

I want a codelet to perform data manipulation. The issue I have is that I dont want to transfer every value as a parameter but to transfer it as a single xml. My question is whether it is possible to
transfer a custom xml to a codelet.

Below I describe my example:

The xsd i want to use is following:

<xs:complexType name="kundendaten">
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="unternehmen" type="xs:string" />
<xs:element name="adresse" type="allgemeineAdresse" />
<xs:element name="ustid" type="xs:string" />
<xs:element name="stelle" type="xs:string" />
<xs:element name="telefon" type="xs:string" />
<xs:element name="mobil" type="xs:string" />
<xs:element name="email" type="xs:string" />
<xs:element name="website" type="xs:string" />
<xs:element name="titel" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="allgemeineAdresse">
<xs:sequence>
<xs:element name="strasse" type="xs:string" />
<xs:element name="strasse2" type="xs:string" />
<xs:element name="stadt" type="xs:string" />
<xs:element name="bundesland" type="xs:string" />
<xs:element name="plz" type="xs:string" />
<xs:element name="land" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="unternehmensdaten">
<xs:sequence>
<xs:element name="unternehmensname" type="xs:string" />
<xs:element name="adresse" type="allgemeineAdresse" />
<xs:element name="ustid" type="xs:string" />
<xs:element name="telefon" type="xs:string" />
<xs:element name="mobil" type="xs:string" />
<xs:element name="email" type="xs:string" />
<xs:element name="website" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>

It describes a customers company in a certain enterprise resource planning system. My aim is to transfer a variable from type "kundendaten" to a codelet task. The source code of the codelet has an input parameter from type "kundendaten":

YParameter paramCompanyName = new YParameter(null, YParameter._INPUT_PARAM_TYPE);
paramCompanyName.setDataTypeAndName("kundendaten", "Kundenunternehmen", "");
paramCompanyName.setDocumentation("Kundendaten, die eingetragen werden sollen.");
params.add(paramCompanyName);

I can chose the codelet in the yawl editor and the task gets the right variable. Futher i can execute the smart data binding option between net variable and task variable but as soon as i launch the case and i expect the codelet to start it doesnt and the output log shows:

2019-05-27 13:47:08,353 [ERROR] CodeletRunner :- Exception executing codelet 'codelet.CreateNewCompany': null. Codelet could not be executed; default value returned for workitem '49.2:drei'

Like I wrote befor I want to ask wheter it is possible to transfer data to codelets with custom data types and if yes what do i have to change?

i kindly await your feedbackl

Thanks