KNOWN ISSUE: Workflow form generates an error: "exception deserializing dictionary"
search cancel

KNOWN ISSUE: Workflow form generates an error: "exception deserializing dictionary"

book

Article ID: 176822

calendar_today

Updated On:

Products

Workflow Solution

Issue/Introduction

We get an error when trying to process a form, from IIS that at least in part reads as follows:

Error Details

Error Message:
The input stream is not a valid binary format. The starting contents (in bytes) are: 3C-3F-78-6D-6C-20-76-65-72-73-69-6F-6E-3D-22-31-2E ...
Message Stack:
at System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.Read(__BinaryParser input)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadSerializationHeaderRecord()
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)
at LogicBase.Framework.SerializableTypeConverter.GetObject(ObjectStorageContainer storageContainer, ObjectStorageObjectData values, Type valueType, ObjectStorageErrorHandler errorHandler) in c:\Stuff\projects\platform2006\core\LogicBase.Framework\ObjectStorage\ObjectStorageTypeConverters.cs:line 266
at LogicBase.Framework.ArrayTypeConverter.GetObject(ObjectStorageContainer storageContainer, ObjectStorageObjectData values, Type valueType, ObjectStorageErrorHandler errorHandler) in c:\Stuff\projects\platform2006\core\LogicBase.Framework\ObjectStorage\ObjectStorageTypeConverters.cs:line 891
at LogicBase.Framework.ObjectReadStream.GetValue(String name, Type type) in c:\Stuff\projects\platform2006\core\LogicBase.Framework\ObjectStorage\ObjectStorageInterface.cs:line 638

The email message we receive contains this:

Error Details

Error Message:
The input stream is not a valid binary format. The starting contents (in bytes) are: 3C-3F-78-6D-6C-20-76-65-72-73-69-6F-6E-3D-22-31-2E ...
Message Stack:
at System.Runtime.Serialization.Formatters.Binary.SerializationHeaderRecord.Read(__BinaryParser input)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadSerializationHeaderRecord()
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)
at LogicBase.Framework.SerializableTypeConverter.GetObject(ObjectStorageContainer storageContainer, ObjectStorageObjectData values, Type valueType, ObjectStorageErrorHandler errorHandler) in c:\Stuff\projects\platform2006\core\LogicBase.Framework\ObjectStorage\ObjectStorageTypeConverters.cs:line 266
at LogicBase.Framework.ArrayTypeConverter.GetObject(ObjectStorageContainer storageContainer, ObjectStorageObjectData values, Type valueType, ObjectStorageErrorHandler errorHandler) in c:\Stuff\projects\platform2006\core\LogicBase.Framework\ObjectStorage\ObjectStorageTypeConverters.cs:line 891
at LogicBase.Framework.ObjectReadStream.GetValue(String name, Type type) in c:\Stuff\projects\platform2006\core\LogicBase.Framework\ObjectStorage\ObjectStorageInterface.cs:line 638

Cause

There is an extended attribute in AD (an attribute that is not default in AD but added by another application) that is returning information to Workflow that Workflow doesn't know how to handle.  We are unable to duplicate the error at Symantec because we don't know which application extended the directory and/or what attribute caused the issue.

Resolution

We were able to get around the issue by removing from the Workflow all attributes that were not absolutely needed.  For instance, instead of simply selecting the "user" tree in AD, we selected only the key attributes within the tree that were needed.  One of the several hundred attributes we removed was the problem.  This is a "best practice" anyway - to only select the attributes you need.

Applies To
Workflow 6