设为首页 收藏本站
查看: 989|回复: 0

[经验分享] vmware开发包之vSphere Management SDK

[复制链接]

尚未签到

发表于 2015-4-3 14:47:34 | 显示全部楼层 |阅读模式
  vSphere Management SDK关于vmware管理等相关功能的.net和java的代码示例。
  在其5.5的解压包中
DSC0000.png
  eam:esx agent management表示esx虚机生产环境的代理
  sms:storage monitoring management存储监控
  spbm:storage policy based management存储策略
  ssoclient:客户端单点登录验证
  vsphere-ws:web service api
  
  当打开sample解决方案时会发现缺失一些dll文件。
DSC0001.png
  对于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文件。
DSC0002.png
  关于wse工具安装配置,安装运行时、工具集和vs工具这三个选项。
DSC0003.png
  
  这里提供两种编译方式,一种是通过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。
DSC0004.png
  
  安装完成重新引用生产的dll文件,这时候有点要注意,sample里面的项目采用.net framework 3.5,这取决于你编译dll的版本,可以更改项目版本或者采用对应的编译环境即可。
  另外在sample中有两种客户端登录方式。一种被称为过时的,实际上VMA代理实例,另一种就是SSO。
DSC0005.png
  不过SSO在sample的wsdl提供的api中却没有提供sso的接口。缺少部分类方法。所以注释掉sso的验证代码。
DSC0006.png
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-53584-1-1.html 上篇帖子: 虚拟化应用(一)开始 vSphere 4.1 下篇帖子: vSphere外篇-在vmware workstation上创建esx主机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表