156
Views
8
Comments
Solved
[OutDoc] Error on GetDocumentation method from EspaceMetaModel extension
Question
outdoc
Web icon
Forge asset by OutSystems

Hi guys, 


When i use the GetDocumentation method to retrieve the XML of an eSpace, I get the following error: 


Message:


Unable to cast object of type 'ServiceStudio.Expressions.ParsedExpression' to type 'System.String'.: Unable to cast object of type 'ServiceStudio.Expressions.ParsedExpression' to type 'System.String'.    at ServiceStudio.Model.PropertyDescriptorPropertyMapper`1.<GetString>b__6(PropertyType obj)
   at ServiceStudio.Model.PropertyDescriptors.PropertyDescriptor`2.GetValue(ObjectType obj)
   at ServiceStudio.Model.PropertyDescriptors.PropertyDescriptor`2.GetValue(IObject obj)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.<>c__DisplayClass5d.<GetReferedAnonymousTypes>b__5a(PropertyDescriptor prop)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.<OfTypeIterator>d__92`1.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.HashSet`1.UnionWith(IEnumerable`1 other)
   at System.Collections.Generic.HashSet`1..ctor(IEnumerable`1 collection, IEqualityComparer`1 comparer)
   at OutSystems.RuntimeCommon.CollectionsExtensions.ToHashSet[T](IEnumerable`1 fromEnumerable)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.GetReferedAnonymousTypes(AbstractObject obj)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.LoadReferencedAnonymousTypes(AbstractObject obj)
   at ServiceStudio.Import.Importer.ImportObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, IKindConversion conversionToUse, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren, Boolean isRootOfImport)
   at ServiceStudio.Import.Importer.ImportObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.<>c__DisplayClass58.<LoadChildren>b__52()
   a...



Stack:

Unable to cast object of type 'ServiceStudio.Expressions.ParsedExpression' to type 'System.String'.: Unable to cast object of type 'ServiceStudio.Expressions.ParsedExpression' to type 'System.String'.    at ServiceStudio.Model.PropertyDescriptorPropertyMapper`1.<GetString>b__6(PropertyType obj)
   at ServiceStudio.Model.PropertyDescriptors.PropertyDescriptor`2.GetValue(ObjectType obj)
   at ServiceStudio.Model.PropertyDescriptors.PropertyDescriptor`2.GetValue(IObject obj)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.<>c__DisplayClass5d.<GetReferedAnonymousTypes>b__5a(PropertyDescriptor prop)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.<OfTypeIterator>d__92`1.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.HashSet`1.UnionWith(IEnumerable`1 other)
   at System.Collections.Generic.HashSet`1..ctor(IEnumerable`1 collection, IEqualityComparer`1 comparer)
   at OutSystems.RuntimeCommon.CollectionsExtensions.ToHashSet[T](IEnumerable`1 fromEnumerable)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.GetReferedAnonymousTypes(AbstractObject obj)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.LoadReferencedAnonymousTypes(AbstractObject obj)
   at ServiceStudio.Import.Importer.ImportObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, IKindConversion conversionToUse, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren, Boolean isRootOfImport)
   at ServiceStudio.Import.Importer.ImportObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.<>c__DisplayClass58.<LoadChildren>b__52()
   at ServiceStudio.Import.Importer.SafeExecuteInOtherTargetCollection(CollectionIndex collectionIndex, Func`1 action)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.LoadChildren(IKindConversion conversionToUse, AbstractObject obj)
   at ServiceStudio.Import.Importer.ImportObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, IKindConversion conversionToUse, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren, Boolean isRootOfImport)
   at ServiceStudio.Import.Importer.ImportObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.<>c__DisplayClass58.<LoadChildren>b__52()
   at ServiceStudio.Import.Importer.SafeExecuteInOtherTargetCollection(CollectionIndex collectionIndex, Func`1 action)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.LoadChildren(IKindConversion conversionToUse, AbstractObject obj)
   at ServiceStudio.Import.Importer.ImportObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, IKindConversion conversionToUse, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren, Boolean isRootOfImport)
   at ServiceStudio.Import.Importer.ImportObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.<>c__DisplayClass58.<LoadChildren>b__52()
   at ServiceStudio.Import.Importer.SafeExecuteInOtherTargetCollection(CollectionIndex collectionIndex, Func`1 action)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.LoadChildren(IKindConversion conversionToUse, AbstractObject obj)
   at ServiceStudio.Import.Importer.ImportObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, IKindConversion conversionToUse, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren, Boolean isRootOfImport)
   at ServiceStudio.Import.Importer.ImportObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.<>c__DisplayClass58.<LoadChildren>b__52()
   at ServiceStudio.Import.Importer.SafeExecuteInOtherTargetCollection(CollectionIndex collectionIndex, Func`1 action)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.LoadChildren(IKindConversion conversionToUse, AbstractObject obj)
   at ServiceStudio.Import.Importer.ImportObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, IKindConversion conversionToUse, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren, Boolean isRootOfImport)
   at ServiceStudio.Import.Importer.ImportInitialObject(ObjectKey oldKeyOfCurrentObject, Func`2 sourceAdditionalData, AbstractObjectKind sourceKind, IImportTarget target, IKindConversion conversionToUse, LoadCriticalData loadCriticalData, Action`1 loadCriticalReferences, Action`2 loadChildren)
   at ServiceStudio.Clone.ObjectCloner.FirstPassDeserializer.Execute(IKindConversion conversionToUse, AbstractObject objBeingCloned, IImportTarget targetParent, SecondPassDeserializer secondPassDeserializer)
   at ServiceStudio.Clone.ObjectCloner.InnerCloneObject(AbstractObject source, IImportTarget newParent, IKindConversion conversionToUse, Stack`1 pendingClones, IDictionary`2 extraAdditionalDatas)
   at ServiceStudio.Clone.ObjectCloner.CloneObject(AbstractObject source, IImportTarget newParent, IKindConversion conversionToUse, IEnumerable`1 extraAdditionalDatas)
   at ServiceStudio.Import.ImportExtensions.InnerCreateTopLevelReferenceElement(AbstractObject originallyReferedObject, ESpace targetESpace, Nullable`1 hiddenStatus)
   at ServiceStudio.Import.ImportExtensions.CreateTopLevelReferenceElement(ITopLevelReferenceableElement topLevelReferenceableElement, ESpace targetESpace, Nullable`1 hiddenStatus)
   at ServiceStudio.Model.ESpace.SignatureManager.GenerateElementSignature(ITopLevelReferenceableElement topLevelReferenceableElement)
   at ServiceStudio.Model.ESpace.SignatureManager.UpdateSignature(CompoundKey compoundKey, ITopLevelReferenceableElement topLevelReferenceableElement)
   at ServiceStudio.Model.ESpace.SignatureManager.UpdateSignatures()
   at ServiceStudio.Model.ESpace.UpdateSignatures()
   at ServiceStudio.Model.ESpace.Load(Stream stream, String initialLastSavePath, Boolean isUnregisteredESpace, Boolean readOnlyMode, Boolean recoverMode, ObjectKey newKeyForClone, String productKey, Nullable`1 forceModifiedFlag, IInformationForESpaceUpgrade informationForUpgrader)
   at ServiceStudio.Model.ESpace.Load(Byte[] bytes, String initialLastSavePath, String productKey, Nullable`1 forceModifiedFlag, IInformationForESpaceUpgrade informationForUpgrader)
   at ServiceStudio.Model.ESpace.Load(Byte[] bytes, String productKey, IInformationForESpaceUpgrade informationForUpgrader)
   at OutSystems.NssEspaceMetaModel.EspaceMetaModelWorker.MssGetDocumentation(Byte[] ssOml, String& ssXml, String& ssErrorsXml)
   at ssOutDoc.RssExtensionEspaceMetaModel.MssGetDocumentation(HeContext heContext, Byte[] inParamOml, String& outParamXml)
   at ssOutDoc.Actions.ActionGetXML(HeContext heContext, Byte[] inParamFileContent, String& outParamXmlContent)
   at ssOutDoc.Actions.ActionDocumentation_GenerateEspaceDocumentation(HeContext heContext, Int32 inParameSpaceVersionId, String& outParamxml, String& outParamerror)


This only happens with some eSpaces. 

Additional information: I've recently upgraded service studio's version to: 10.0.707.0

Any insight on this?


Thanks in advance,

João Carvalho

2016-11-10 18-02-34
OutSystems R&D
Staff
Solution

A new version of OutDoc that should solve the reported problem has just been published.

Please try it out and let us know if the problem persists.


Thanks!

UserImage.jpg
João Carvalho

OutSystems R&D wrote:

A new version of OutDoc that should solve the reported problem has just been published.

Please try it out and let us know if the problem persists.


Thanks!

Worked for me! 


Thanks!


2018-11-06 12-02-44
Brian Hollander

Exactly same problem here.... Can't figure out what is wrong.

2026-01-26 10-25-31
Lennart Kraak
Champion

Same issue here. The GetDocumentation method in extension EspaceMetaModel throws that error on some eSpaces.

2017-06-20 11-56-58
Erik Molendijk

We have/ had the same issue here.

The error only occurs when specific eSpaces are published with Service Studio version 10.0.707.0 or later.
The root cause is not found yet.

For that reason, as a temporary workaround, the suggestion is to use ServiceStudio version 10.0.704.0 or below to (re)publish the espaces triggering this issue with OutDoc.

UserImage.jpg
Rine Huiden

Same problem here, and we are all going to new version. 

When will there be a patch?


2018-11-12 10-02-08
Ângelo Sousa

Same problem here.

I have 20+ eSpaces and extensions in the application I'm documenting, only one of them is generating this error. 

Also, I'm using v10.0.705.0


UserImage.jpg
António Matos

I also have that problem in one eSpace.


I found that the problem in one WebBlock was two label widgets being used outside a form.

In another webblock, i had a form with only expressions, no inputs, so i removed the form, and the problem got fixed.

¯\_(?)_/¯ 

2016-11-10 18-02-34
OutSystems R&D
Staff
Solution

A new version of OutDoc that should solve the reported problem has just been published.

Please try it out and let us know if the problem persists.


Thanks!

UserImage.jpg
João Carvalho

OutSystems R&D wrote:

A new version of OutDoc that should solve the reported problem has just been published.

Please try it out and let us know if the problem persists.


Thanks!

Worked for me! 


Thanks!


Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.