我的第一个Autodesk Vault定制程序
我们的Vault开发专家Barbara离开了,我不得不开始学习Vault API了。如果你也刚开始学习Vault,这篇文章也许对有你帮助。Vault客户端主要采用Web Service与Vault服务器通讯,Vault也提供了丰富的API,其中重要的就是各个WebService。Vault提供了.net的API,可以用C#或者VB.net来做定制开发,开发工具自然是Visual Studio了。 Vault 2013开始,Vault API支持.net framework 4.0, 所有这里使用VS2010. 做个最简单的WinForm程序,枚举Vault服务器中的所有文件。
Vault 的SDK会随Vault Server或者Vault Client安装,在Vault的安装目录\SDK 目录下可以找到Vault SDK的安装文件,安装完毕后可以得到下列目录:
首先创建一个WinForm的应用程序,注意对于Vault 2013来说,需要使用.net Framework 4.0 .在上面添加一个listbox和一个button,然后添加引用。这里作为一个独立的应用程序,只需要引用Autodesk.Connectivity.WebServices.dll即可,然后编写代码如下:
代码并不复杂,在编译时会提示'Microsoft.Web.Services3.WebServicesClientProtocol程序集找不到,
Error 1 The type 'Microsoft.Web.Services3.WebServicesClientProtocol' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
解决办法即按照提示添加'Microsoft.Web.Services3的引用即可。如果你安装了Vault Client,这个dll在C:\Program Files (x86)\Microsoft WSE\v3.0目录下。如果你没有安装Vault client,你需要自行从微软网站下载WSE3(Web Service Extension)
另外还有错误信息:
Error 1 The type 'System.Web.Services.Protocols.SoapHttpClientProtocol' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
需要添加System.Web.Services的引用。
然后编译运行,结果如下: