vSphere Management SDK关于vmware管理等相关功能的.net和java的代码示例。

在其5.5的解压包中

eam:esx agent management表示esx虚机生产环境的代理

sms:storage monitoring management存储监控

spbm:storage policy based management存储策略

ssoclient:客户端单点登录验证

vsphere-ws:web service api

当打开sample解决方案时会发现缺失一些dll文件。

对于Microsoft.Web.Services3.dll是微软wse3.0中的一个dll文件,可以用它来生产安全的web服务。

下载地址http://www.microsoft.com/en-us/download/details.aspx?id=14089

Vim25Service.dll和Vim25Service.XmlSerializers.dll以及VMWare.Vim.dll则包含了对vmware虚机的管理的api。可以安装VMware vSphere PowerCLI工具集,然后在C:\Windows\Assembly\GAC_MSIL目录下找到对应的dll,下载地址https://developercenter.vmware.com/sdks

当然在vSphere Management SDK开发包中也提供了基于web的服务接口,在...SDK\vsphere-ws\wsdl\vim25目录下,可以通过wse工具生成dll文件。

关于wse工具安装配置,安装运行时、工具集和vs工具这三个选项。

这里提供两种编译方式,一种是通过tool工具中的WseWsdl3.exe,一种是vs扩展工具。

安装完成后,打开vs的dos窗口,依次执行下方几个步骤。

生成VimService25.dll和VimService25.XmlSerializers.dll

1.生成cs文件。

wsdl.exe /n:Vim25Api /o:d:\sdk\dll\VimService.cs d:\sdk\dll\vimService.wsdl d:\sdk\dll\vim.wsdl

2.编译cs文件。

csc /t:library /out:d:\sdk\dll\VimService25.dll d:\sdk\dll\VimService.cs

3.生成序列化文件。这一过程需要比较长的时间。

sgen /p d:\sdk\dll\VimService25.dll

4.打开原先cs文件,将[System.Xml.Serialization.XmlIncludeAttribute(typeof...开头的文件注释掉 => //[System.Xml.Serialization.XmlIncludeAttribute(typeof...再重新编译cs文件。因为加上这些引用类,会导致每次示例化VimService非常慢,长达一分钟以上导致超时。

我们查看PowerCLI自带的VimService25.dll,反编译可以看到VimService类的头文件:

[GeneratedCode("wsdl", "2.0.50727.42"), DesignerCategory("code"), DebuggerStepThrough, WebServiceBinding(Name = "VimBinding", Namespace = "urn:vim25"), XmlSerializerAssembly(AssemblyName = "VimService25.XmlSerializers")]

我们通过wsdl编译的头文件:

[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="VimBinding", Namespace="urn:vim25")]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(ReadEnvironmentVariableInGuestRequestType))]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(TerminateProcessInGuestRequestType))]
......

于是我们注释掉[System.Xml.Serialization.XmlIncludeAttribute(typeof...,再加上[System.Xml.Serialization.XmlSerializerAssembly(AssemblyName = "VimService25.XmlSerializers")]。

生成STSService.dll

1.cd到wse工具。

cd C:\Program Files (x86)\Microsoft WSE\v3.0\Tools

2.生成cs文件。此处在末尾加上所有wsdl文件。

WseWsdl3.exe /o:c:\STSService.cs /type:webClient c:\test\STSService.wsdl c:\test\profiled-saml-schema-assertion-2.0.xsd c:\test\profiled-saml-schema-assertion-2.0-extensions.xsd c:\test\profiled-saml-schema-assertion-2.0-types.xsd c:\test\profiled-sstc-saml-delegation.xsd c:\test\profiled-wsse-header.xsd c:\test\profiled-wss-wssecurity-utility-1.0.xsd c:\test\profiled-ws-trust.xsd c:\test\ws-addr.xsd c:\test\ws-trust-1.4-extensions.xsd c:\test\xmldsig-core-schema.xsd

3.编译cs文件。此处需要引用Microsoft.Web.Services3.dll。

csc /t:library /out:c:\STSService.dll c:\STSService.cs /reference:"C:\Program Files (x86)\Microsoft WSE\v3.0\Microsoft.Web.Services3.dll"

在编译STSService.dll的过程中可能会出现下图警告。这代表需要安装.net framework v2.0 sdk这么个东西,注意并非.net framework 2.0。

安装完成重新引用生产的dll文件,这时候有点要注意,sample里面的项目采用.net framework 3.5,这取决于你编译dll的版本,可以更改项目版本或者采用对应的编译环境即可。

另外在sample中有两种客户端登录方式。一种被称为过时的,实际上VMA代理实例,另一种就是SSO。

不过SSO在sample的wsdl提供的api中却没有提供sso的接口。缺少部分类方法。所以注释掉sso的验证代码。

vmware开发包之vSphere Management SDK的更多相关文章

  1. Vmware Vsphere WebService SDK开发(第一讲)-基本知识学习

    刚开始这方面开发的时候,不知道如何下手,能够查到的资料特别少,而且看到很多网友和我一样也在找这方面的资料.接下来的一段时间我就结合自己所参与的项目,完成关于Vmware Vsphere WebServ ...

  2. Android SDK开发包国内下载地址

    不知道是因为最近kaihui还是怎么的,打开android sdk官方网站特别的慢,想下载最新版本的platform几乎变成不可能完成的任务,不知道为什么Google不像Apache那样在各国设立镜像 ...

  3. Android SDK开发包国内下载地址(转)

    想了解Android 应用开发,但可恨开发环境安装就困难重重,这里找到一个国内下载地址,特转来记录 Android SDK开发包国内下载地址

  4. Microsoft Speech SDK开发包 使用

    下载开发包.我们首先从微软的官网上面下载开发包,下载地址如下: http://www.microsoft.com/en-us/download/details.aspx?id=10121我们主要下载三 ...

  5. brother b-PAC sdk开发包

    brother b-PAC sdk开发包 https://download.brother.com/welcome/dlfp100607/bsdkw32031eu.exe https://www.br ...

  6. *** wechat-php-sdk 微信公众平台php开发包

    wechat-php-sdk 微信公众平台php开发包,细化各项接口操作,支持链式调用,欢迎Fork此项目weixin developer SDK. 项目地址:https://github.com/d ...

  7. 使用C#代码部署SharePoint 2013开发包简单总结(一)

    这篇文章将总结下如何将自己开发的列表.Web部件.事件接收器等元素部署到SharePoint的服务器.因水平有限,我的做法未必是最佳实践,会有些错误理解和疏漏,欢迎各位高手批评指正——但一定要能给出更 ...

  8. [转]QGis2.9在windows下的编译以及二次开发包下载

    今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...

  9. 更新 是 可用的 针对 安卓 软件开发包和工具 Updates are available for android software development packages and tools

    作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com 更新 是 可用的 针对 安卓 软件开发包和工 ...

随机推荐

  1. 恒大威武!关于SQL的一些基础知识整理回顾

    首先的首先,恒大威武! 开始正题. 关系代数: 目前主流的关系型数据库,是建立在关系代数的基础上的,即他的数学支撑是关系代数. 关系代数主要包括如下几个二目运算:并运算union.交运算interse ...

  2. 关于OpenGL Framebuffer Object、glReadPixels与离屏渲染

    最近写论文需要用到离屏渲染(主要是因为模型太大普通窗口绘制根本做不了),于是翻阅了红宝书查了下相关api和用法.中文版的红宝书可读性有点差,很多地方翻译地晦涩,但好歹读起来比较快,主要相关章节为第8章 ...

  3. JavaScript知识总结--对象的相关概念

    一.定义 无序属性的集合. 说白了就是一个容器,可以容纳[基本值.对象或者函数],这些东西都叫做属性.每个属性都有一个名字,每个名字都映射一个值(可以是基本类型的值,也可以是引用类型的值).从以上描述 ...

  4. leetcode553

    public class Solution { public string OptimalDivision(int[] nums) { ) { return ""; } ) { ] ...

  5. Weak References

    http://docwiki.embarcadero.com/RADStudio/Seattle/en/Automatic_Reference_Counting_in_Delphi_Mobile_Co ...

  6. WPF 绑定以基础数据类型为集合的无字段名的数据源

    WPF 绑定以基础数据类型为集合的无字段名的数据源 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-21 我们在控件的数据绑定 ...

  7. 【摘录】UNITY优化-有关骨骼数量的上限问题

    1.顶点性能一般来说,如果您想在iPhone 3GS或更新的设备上每帧渲染不超过40,000可见点,那么对于一些配备 MBX GPU的旧设备(比如,原始的 iPhone,如 iPhone 3g和 iP ...

  8. jquery UI 的 datapicker 中文汉化问题

    这个问题自己上网上百度的了很多的方法都没有 具体一点的东西,好在自己没有放弃 从昨天到现在,自己 摸索了很久终于找到了汉化的方法了,希望可以帮助到像我这样刚入web门的小白. 废话不说了直接来干货吧! ...

  9. jquery ui的css设计

    jquery ui 是当前最强大的UI库之一,其两大卖点是对IE6的良好支持与换肤功能.为了构建avalon ui,今天起我将投入一部分精力来研究时下最流行的几个CSS框架.它是首当其冲. jquer ...

  10. 用css实现文本不换行切超出限制时显示省略号(小tips)

    div{ max-width: 500px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;/*文本不换行*/ } 如上 ...