Community
Vault Customization
Share your knowledge, ask questions, and explore popular Vault API, Data Standard, and VBA topics related to programming, creating add-ins, or working with the Vault API.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SDK troubles - ExtensibilityTools.dll - LoadExplorerUtil

4 REPLIES 4
SOLVED
Reply
Message 1 of 5
MiWaNiZa
1598 Views, 4 Replies

SDK troubles - ExtensibilityTools.dll - LoadExplorerUtil

Morning!

 

I have a trouble with creating VaultExplorer instance in my program.

 

First of all, I'm trying to create MS Project ribbon add-in to assign Vault objects to tasks by Id's. This way I'll be able to synchronize properties in both directions.

 

I took a VaultFileBrowser example from SDK, and placed it in add-in code. This caused several troubles:

 

  1. VS 2010 asked to sign dll's with strong names. Solution: I signed them, using Signer utility, previously generated strong name key by sn tool. But I ran Signer not from VS console, but from cmd, placed necessary .NET v3.5 and .NET v2 tools (CorFlags.exe, ilasm.exe, ildasm.exe, TlbImp.exe) in same directory - to prevent using .NET v4 tools.
  2. Program didn't log in. There was no networking activity in Fiddler's logs. Solution: I used to enforce API Log In Hotfix. This updated whole Vault SDK and dll's to 16.1.58.0 version. So, I had to make step 1 again to get signed dll's.
  3. Add-in logged in, took Id and placed it in requested cell. But add-in still couldn't get Explorer Util - following code returns null, whole params, e.g.  ServerString, Vault, UserId and Ticket are not empty.

 

VaultExplorer = ExplorerLoader.LoadExplorerUtil(
                    loginInfo.ServerString, loginInfo.Vault,
                    ServiceManager.SecurityService.SecurityHeader.UserId,
                    ServiceManager.SecurityService.SecurityHeader.Ticket);

I even tryed to use previous version (16.0.56.200) of Autodesk.Connectivity.Explorer.ExtensibilityTools. That cauced an error of redefinition in DownloadFile ( File file, string localPath ) function: VS enforced to use DownloadFile ( File file, Folder folder ) redefinition.

 

Spoiler
I still can't understand what it for, and how to feed it current folder through Autodesk.Connectivity.WebServices.Folder class - that's one more my question. 

I'm connecting Vault Pro 2010 SP1. I need Explorer Util to open and preview Vault objects directly from Project.

 

Thanks in advance.

Dmytro Yemelianov / Дмитрий Емельянов
Mechanical engineer & Software Developer / Инженер-машиностроитель и разработчик программного обеспечения
Blog (EN) | Blog (RU)
Facebook | Twitter | LinkedIn


 

4 REPLIES 4
Message 2 of 5
Redmond.D
in reply to: MiWaNiZa

You mention that you are using Vault Pro 2010 SP1.  Do you mean Vault Pro 2012?   Autodesk.Connectivity.Explorer.ExtensibilityTools.dll doesn't exist for Vault 2010.

 

A null IExplorerUtil value sounds strange.  Usually you get an Exception when something goes wrong.

 

There are various 32 and 64 bit issues you may run into with ExtensibilityTools.  Is your OS 64 bit?  Is MS Project running as 64 bit?  Is your VS project set to compile to 32 or 64 bit? 

For some more information see:  http://justonesandzeros.typepad.com/blog/2010/09/64-bit-support.html

Some things to try:

  • Set your VS project to be explicitly 32 or 64 bit.
  • Use the overloaded version of LoadExplorerUtil which lets you explicilty say which folder is used to load the Vault Explorer DLLs.

 

 



Doug Redmond
Software Engineer
Autodesk, Inc.

Message 3 of 5
MiWaNiZa
in reply to: Redmond.D

Right, I'm using Vault Pro 2012.


I have x64 OS, x32 MS Project and VS project set to compile at "Any CPU"? 

Using the overloaded version of LoadExplorerUtil, loading the Vault Explorer DLLs helped.

 

Meanwhile a "SOAP exception 106" appeared. I tried to apply your "UserIdTicketCredentials and WebServiceCredentials bugfix", but how to:

  • login by Windows authentication
  • get UserID by username, have no app logged in?

 

Dmytro Yemelianov / Дмитрий Емельянов
Mechanical engineer & Software Developer / Инженер-машиностроитель и разработчик программного обеспечения
Blog (EN) | Blog (RU)
Facebook | Twitter | LinkedIn


 

Message 4 of 5
Redmond.D
in reply to: MiWaNiZa

Here is what you need to do to fix error 106:

  1. Log into Vault by creating a new WebServiceManager with the UserPasswordCredentials.  If you want Windows authentication, use WinAuthCredentials.
  2. From your WebServiceManager go to SecurityService.SecurityHeaderValue to get the user ID and ticket information.
  3. Now you have all the information you need to call LoadExplorerUtil.

 



Doug Redmond
Software Engineer
Autodesk, Inc.

Message 5 of 5
MiWaNiZa
in reply to: Redmond.D

My current code implements described by you algorithm exactly.

 

The fault was in my negligence. MS Project ribbon button directly after MainForn.Show() called serviceManager.Dispose().

 

Luck you! 

Dmytro Yemelianov / Дмитрий Емельянов
Mechanical engineer & Software Developer / Инженер-машиностроитель и разработчик программного обеспечения
Blog (EN) | Blog (RU)
Facebook | Twitter | LinkedIn


 

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report