Wait for Form Task & Resume - Object Persistance - Differences when processed via Phone App vs. Desktop Browser

This is an odd one, and very detailed.

Replicable only in Studio when debugging, haven’t attempted to publish and test yet.

I have a serializable object (Session) in my process flow accessible through the Main.xaml. In it, there is a property (Connection) that stores as SHA-256 hashed value (as a String). When I generate the task, the hashed value is retrievable after the CREATE FORM TASK activity has been completed. When I pass through into the WAIT FOR FORM TASK AND RESUME activity, some odd things happen:

1.) When i complete the task via the Orchestrator Phone app, when i resume the debug session, the Connection property value is there
2.) When i complete the task via the Desktop Browser orchestrator instance, when i resume the session, the connection property is empty.

I’m not doing anything different between phone vs desktop.

Other properties in the Session object look to be in retained, it appears only to be targeting the Connection property. Not sure if i’m violating a keyword by passing in that property name (Connection).

Despite it being tiny in impact, it may be a symptom of a larger issue. I’ll try to rename my property to something else to see if that does the trick.

Changed the property name, retested, issue remains. The only thing i can think of is that the string is too long? It’s 344 characters.

solved

I’m pretty sure no one will be running into this issue, but if there is in the off chance. My issue had to deal with how i was encrypting my Connection property. I had another property in my Session class called StringToHash, using a setter statement to update connection property, I did this without testing the length of the string entering into the set function.

I removed the StringToHash property, and exposed it as a method on the class object. Everything works fine now. What i suspect was happening, is that there is some type of cloning function that is occuring on my object as part of that Resume activity, more specifically, only when an agent is completing a task via a browser. When that clone event occurred, it attempted to clone the StringToHash property (which was empty), and set the Connection property to a hashed value of empty string.

Blech, I was thinking of deleting this whole thing, but if it helps some lost soul in the near/far future, happy that i could help.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.