[LDAP] Error when publishing theldap in version 9

[LDAP] Error when publishing theldap in version 9

  
Forge Component
(15)
Published on 2014-11-24 by Filipe Jacinto
15 votes
Published on 2014-11-24 by Filipe Jacinto
Hi all,

i get the following error when i am publishing the ldap in platform 9:

There was an error validating the extension: System.TypeLoadException: Could not load type 'OutSystems.NssLDAP.RLPropertyRecordList' from assembly 'OutSystems.NssLDAP, Version=6.0.1.5, Culture=neutral, PublicKeyToken=null' because the parent type is an interface.
at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at OutSystems.HubEdition.ServerCommon.Extensions.ExtensionValidator.CheckExtensionConsistency(String temporaryXIFPath, String temporaryResourcesDirPath, String anonTypesXml).

Thanks in advance,

Matheos Polydorou
Hello matheos, thank you for reporting this.
We still havent upgraded ldap to work in platform 9, so when we do it, i will check this error. Thanks
Hi Matheos!
 
We just uploaded a new version of this component to fix an issue with memory leaks and to be able to answer you, we tested this new version in two different infrastructures one Java and one .NET, both using the Platform Version 9.0.0.6 and we found no problems uploading the extension nor connecting to LDAP.
 
Can you please retry using this last uploaded version?
 
If the problem persists, please try to upgrade the extension using the last version of Integration Studio and publish it through that client tool instead of using service center.
Anyhow, please let us know how it went!
 
Thank you for your feedback!
 
Best regards,
Filipe Jacinto

Hi all,

thanks for the response.

When i am publishing your solution pack LDAP-2.3.0, i get the following error: 

Extension Name Conflict Extension Name LDAP already exists. Please rename it in Integration Studio before trying to store or publish it again.

Can i rename the ldap extension, without any conflicts? Please advice me.

thanks

Matheos Polydorou
Hi Matheos!
 
I think the LDAP extension that you have in your server must be this same extension you published some days ago and got an error.
Therefore you could delete it!
The best way to check if the "duplicate" can be deleted is to:
 - search for it in Service Center (/ServiceCenter/Extensions_List.aspx),
    - click the extension name to enter the it's detail page,
      - check the tab "eSpaces"
          -> there mustn't be listed any espace besides "LDAPDemo"
      - check the tab "Solutions"
          -> there mustn't be listed the "System Components" solution.
 
Anyway, if you cannot delete it due to what's written above or you don't really want to, you can rename this new LDAP extension using Integration Studio that's a client tool present in the "Development Environment" install downloadable through www.outsystems.com/NetworkDocuments
And then use Service Studio (a client tool also present it the same install package) to edit LDAPDemo espace and change all references to the old extension to the new one you renamed.
  
Thank you for your feedback!
 
Best regards,
Filipe Jacinto
Hi,

The LDAP you are having problems is most likelly the one distributed with Enterprise Manager.
Having this component with an extension with the same name doesn't help much :)

Enterprise Manager is no longer being maintained, but you should be able to continue using it as is.

Try this extension I'm attaching, It's an upgraded version of the LDAP extension that shipped with Enterprise Manager.

Regards,
João Rosado
Hi João

The attached extension is working!!!!! Thanks a lot.

Also i have another problem when i am publishing the EnterpriseManagerBPM (see below). Can you help me?

.NET Compilation.

C:\Users\hubadmin\AppData\Local\Temp\db412a3f-fb68-47a1-8bd7-7ca4d03716cb\EnterpriseManagerBPM\Source\NET\EnterpriseManagerBPM.sln : Solution file warning MSB4051: Project {EBFA5825-CE37-4265-9932-A6DAD3C6EBE9} is referencing a project with GUID {EFB0D1E3-076D-4F16-A595-B33BFC5B3F18}, but a project with this GUID was not found in the .SLN file.
EnterpriseManagerBPM.cs(20,36): warning CS0618: 'OutSystems.HubEdition.RuntimePlatform.DBTransactionManager' is obsolete: 'Use OutSystems.RuntimePublic.Db.DatabaseAccess class to access a database and its services'
EnterpriseManagerBPM.cs(22,13): error CS1502: The best overloaded method match for 'OutSystems.HubEdition.RuntimePlatform.DBRuntimePlatform.UpdateActivity(OutSystems.Internal.Db.Transaction, int?, int, int?, int?, string, int?, bool?, bool?, bool?, OutSystems.HubEdition.RuntimePlatform.Processes.ActivityStatus?, bool?, string, bool?, string, bool?, System.DateTime?, int?, string, System.DateTime?, string, string)' has some invalid arguments
EnterpriseManagerBPM.cs(22,46): error CS1503: Argument '1': cannot convert from 'System.Data.IDbTransaction' to 'OutSystems.Internal.Db.Transaction'
EnterpriseManagerBPM.cs(37,36): warning CS0618: 'OutSystems.HubEdition.RuntimePlatform.DBTransactionManager' is obsolete: 'Use OutSystems.RuntimePublic.Db.DatabaseAccess class to access a database and its services'
EnterpriseManagerBPM.cs(38,49): error CS1502: The best overloaded method match for 'OutSystems.HubEdition.RuntimePlatform.DBRuntimePlatform.GetActivity(OutSystems.Internal.Db.Transaction, int?, int, bool)' has some invalid arguments
EnterpriseManagerBPM.cs(38,79): error CS1503: Argument '1': cannot convert from 'System.Data.IDbTransaction' to 'OutSystems.Internal.Db.Transaction'
EnterpriseManagerBPM.cs(45,30): error CS1502: The best overloaded method match for 'OutSystems.HubEdition.RuntimePlatform.DBRuntimePlatform.GetActivityDefinitionKind(OutSystems.Internal.Db.Transaction, int)' has some invalid arguments
EnterpriseManagerBPM.cs(45,74): error CS1503: Argument '1': cannot convert from 'System.Data.IDbTransaction' to 'OutSystems.Internal.Db.Transaction'
EnterpriseManagerBPM.cs(59,36): warning CS0618: 'OutSystems.HubEdition.RuntimePlatform.DBTransactionManager' is obsolete: 'Use OutSystems.RuntimePublic.Db.DatabaseAccess class to access a database and its services'
EnterpriseManagerBPM.cs(60,49): error CS0117: 'OutSystems.HubEdition.RuntimePlatform.DBRuntimePlatform' does not contain a definition for 'CheckUserPermissionForActivity'
EnterpriseManagerBPM.cs(79,36): warning CS0618: 'OutSystems.HubEdition.RuntimePlatform.DBTransactionManager' is obsolete: 'Use OutSystems.RuntimePublic.Db.DatabaseAccess class to access a database and its services'
EnterpriseManagerBPM.cs(81,13): error CS1502: The best overloaded method match for 'OutSystems.HubEdition.RuntimePlatform.DBRuntimePlatform.UpdateActivity(OutSystems.Internal.Db.Transaction, int?, int, int?, int?, string, int?, bool?, bool?, bool?, OutSystems.HubEdition.RuntimePlatform.Processes.ActivityStatus?, bool?, string, bool?, string, bool?, System.DateTime?, int?, string, System.DateTime?, string, string)' has some invalid arguments
EnterpriseManagerBPM.cs(81,46): error CS1503: Argument '1': cannot convert from 'System.Data.IDbTransaction' to 'OutSystems.Internal.Db.Transaction'
EnterpriseManagerBPM.cs(95,36): warning CS0618: 'OutSystems.HubEdition.RuntimePlatform.DBTransactionManager' is obsolete: 'Use OutSystems.RuntimePublic.Db.DatabaseAccess class to access a database and its services'
EnterpriseManagerBPM.cs(102,26): error CS1502: The best overloaded method match for 'OutSystems.HubEdition.RuntimePlatform.DBRuntimePlatform.GetActivity(OutSystems.Internal.Db.Transaction, int?, int, bool)' has some invalid arguments
EnterpriseManagerBPM.cs(102,56): error CS1503: Argument '1': cannot convert from 'System.Data.IDbTransaction' to 'OutSystems.Internal.Db.Transaction'
EnterpriseManagerBPM.cs(113,44): error CS1502: The best overloaded method match for 'OutSystems.HubEdition.RuntimePlatform.DBRuntimePlatform.GetActivityDefinitionKind(OutSystems.Internal.Db.Transaction, int)' has some invalid arguments
EnterpriseManagerBPM.cs(113,88): error CS1503: Argument '1': cannot convert from 'System.Data.IDbTransaction' to 'OutSystems.Internal.Db.Transaction'
EnterpriseManagerBPM.cs(124,13): error CS1502: The best overloaded method match for 'OutSystems.HubEdition.RuntimePlatform.DBRuntimePlatform.UpdateActivity(OutSystems.Internal.Db.Transaction, int?, int, int?, int?, string, int?, bool?, bool?, bool?, OutSystems.HubEdition.RuntimePlatform.Processes.ActivityStatus?, bool?, string, bool?, string, bool?, System.DateTime?, int?, string, System.DateTime?, string, string)' has some invalid arguments
EnterpriseManagerBPM.cs(124,46): error CS1503: Argument '1': cannot convert from 'System.Data.IDbTransaction' to 'OutSystems.Internal.Db.Transaction'.

Thanks in advance,

Matheos Polydorou

Hi,

That one is only used in a couple public actions of enterprise manager, you could probably just delete the methods and remove the extension (quite unlikelly they are being used).

Anyway I'll see if I can upgrade that one as well, since it will be usefull for everyone doing upgrades with Enterprise Manager.

Regards,
João Rosado
Hi again,

The EnterpriseManagerBPM is a bit trickier to upgrade since it uses internal methods of the platform that it shouldn't.
So I had to upgrade 2 different versions: one for 9.0.0.2 and one for 9.0.0.6+.

The correct upgrade path for these is to modify the Enterprise Manager and replace all the usages of the EnterpriseManagerBPM with the methods from BPT_API extension that is being supported (and is included in the SystemComponents solution).

For upgrade sake, here is an upgraded version just to let you continue.

Regards,
João Rosado
And the one for 9.0.0.6+