Python UiPath - How to use Classes with UiPath.Python.Activities

Here is an image showing Python scope activity (version 3.6 and target x64):

The main problem is the relation between both invoke python methods, the first one is used to start the class object, and the second one to access a method of that class. Here is an image of the first invoke python properties:

Invoke Python init method

And in the getNumberPlusOne activity call, the input parameter is set to

{invoke_out}

The python code being executed:

class ExampleClass:
    def __init__(self,t,n):
        self.text = t
        self.number = n
    
    def getNumberPlusOne(self):
        return (self.number+1)

And finally, the error when executing the second Invoke Python Method:

An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
System.InvalidOperationException: Error invoking Python method ----> System.Runtime.Serialization.InvalidDataContractException: Type ‘UiPath.Python.PythonObject’ cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute. If the type is a collection, consider marking it with the CollectionDataContractAttribute. See the Microsoft .NET Framework documentation for other supported types.

Any idea about where is the mistake and how to interact with the output object created in the init method? Kindly help.

2 Likes

Hi @fbernal

Welcome to our UiPath Forum! :slight_smile:

Could you give this topic a read? I think it is about similar request:

2 Likes