ADN Open CIS
Сообщество программистов Autodesk в СНГ

09/04/2014

Лёгкое программирование под Autodesk Vault. Часть 4

НазадСодержаниеДалее

Задача

Программно поднять соединение с Autodesk Vault

Решение

Создать WebServiceManager из Autodesk.Connectivity.WebServices.dll, передав ему полученные полномочия.

Код - PowerShell: [Выделить]
  1. # Подсоединяем библиотеку
  2. Add-Type -Path "C:\Program Files (x86)\Autodesk\Autodesk Vault 2014 SDK\bin\Autodesk.Connectivity.WebServices.dll"
  3. #получаем полномочия в режиме "только чтение"
  4. $cred = New-Object Autodesk.Connectivity.WebServicesTools.UserPasswordCredentials ("localhost", "Vault", "Administrator", "", $true)
  5. #Создаём диспетчера
  6. $webSvc = New-Object Autodesk.Connectivity.WebServicesTools.WebServiceManager ($cred)

WebServiceManager – это ваши ворота в сад Vaulty API. И IWebServiceCredentials содержит ключ к этим воротам. Вы можете создать этот ключ шестнадцатью различными способами. (A-P) путём получения IWebServiceCredentials.

После подключения вам будет доступна следующая информация о соединении:

ReadOnly

Запущено ли соединение в режиме «только чтение»

RequiresSignIn

Необходима ли авторизация для использования службы.

Gets the value telling if a sign in is required before a service can be used.

RequiresSignOut

Необходимо ли разрывать соединение, когда служба выходит из области видимости.

SecurityHeader

Заголовок безопасности.

ServerIdentities

Идентификация сервера.

SupportsSignIn

Могут ли полномочия устанавливать соединение.

SupportsSignOut

Могут ли полномочия разрывать соединение.

UserName

Имя пользователя.

VaultName

Имя хранилища.

Однако, наиболее правильным будет устанавливать подключение при помощи VDF.

Код - PowerShell: [Выделить]
  1. # Подсоединяем библиотеку
  2. Add-Type -Path "c:\Program Files (x86)\Autodesk\Autodesk Vault 2014 SDK\bin\Autodesk.DataManagement.Client.Framework.Vault.Forms.dll"
  3. #Call login dialog and workflow, get credentials on successfull login
  4. $g_login=[Autodesk.DataManagement.Client.Framework.Vault.Forms.Library]::Login($null)

В результате вы получите диалог входа с информацией, которую ввели в последний раз.

Автор: Дмитрий Емельянов
Автор перевода: Дмитрий Емельянов

Обсуждение: http://adn-cis.org/forum/index.php?topic=659

Опубликовано 09.04.2014
Отредактировано 06.08.2014 в 15:06:51