原文地址:http://www.cnblogs.com/yuefei/p/3600441.html

原文写的挺好的,我这里增加了一些细节。来帮助像我这样的小白,明明按照说明来,可还是不对

准备:

vSphere Management SDK

Microsoft Visual Studio 2008

Web Services Enhancements (WSE) 3.0 for Microsoft .NET

.net framework v2.0 sdk

MicrosoftSqlServerSString

注意:

    .net framework v2.0 sdk 不是 .net framework v2.0

.net framework v2.0 sdk要安装自己的对应版本,如64位系统,安装32的.net framework v2.0 sdk是没有用的
    安装Web Services Enhancements (WSE) 3.0 for Microsoft .NET选择custom
    

 

Management SDK说明:

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服务。

安装Web Services Enhancements (WSE) 3.0 for Microsoft .NET后叹号即可消失

解决办法:

Vim25Service.dll

Vim25Service.XmlSerializers.dll

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

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

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

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

生成Vim25Service.dll和Vim25Service.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文件(生成Vim25Service.dll)。

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

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

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

4.到这里还没有结束

我们打开wsdl编译的文件VimService.cs:

[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))]......
public partial class VimService : System.Web.Services.Protocols.SoapHttpClientProtocol{

于是我们注释掉所有[System.Xml.Serialization.XmlIncludeAttribute(typeof...,

此步可以使用vs的全部替换功能来完成,大概有6478项,一定要用工具

然后我们在

public partial class VimService : System.Web.Services.Protocols.SoapHttpClientProtocol

前面增加一行,内容如下

[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的验证代码。

转载于:https://www.cnblogs.com/wanghongxu/p/4613972.html

vmware开发包之vSphere Management SDK相关推荐

  1. mp.weixin.php,GitHub - temberature/mp-php-sdk: 微信公众平台第三方授权php开发包, weixin mp developer SDK....

    mp-php-sdk 微信公众平台第三方授权php开发包, weixin mp developer SDK. 依赖https://github.com/dodgepudding/wechat-php- ...

  2. Android第三方开发包之高德地图SDK使用介绍

    Android第三方开发包之高德地图SDK使用介绍 前言 准备 Android Studio 配置工程 1,新建一个 Empty Activity 应用项目. 2,添加SDK 3,集成SDK 显示地图 ...

  3. Android第三方开发包值高德地图SDK使用介绍

    (1)配置Project的build.gradle:添加jcenter的仓库地址 文件位置: 代码: allprojects { repositories { jcenter() // 或者 mave ...

  4. Android第三方开发包值高德地图SDK使用介绍,android面试基础

    jcenter() // 或者 mavenCentral() } } (2)配置主工程文件的build.gradle文件 文件位置: 代码: android { defaultConfig { ndk ...

  5. PHP微信开发素材管理,PHP微信开发包,微信开发SDK

    本人自己用PHP原生开发的微信SDK包,有兴趣得可以了解一下.可以通过composer安装,或者码云下载.感兴趣的可以加Q群:735713840 相互讨论 使用详情见 index.php 文件内注释 ...

  6. 微信php开发包,TP5专用微信sdk使用教程

    # TP5专用微信sdk下载及使用教程 [TOC] ## TP5专用微信sdk概述 >[info] 本SDK是我本人根据现有网络的sdk,专门针对TP5框架进行的整理和重构,使用安装和使用更方便 ...

  7. 芯片-模组-开发板-软件开发包SDK(Software Development Kit)的关系(软件开发人员必须了解的硬件知识)

    使用的芯片相同,但不同模组的Flash大小.天线的材质.模组尺寸是不同的.是的,芯片到模组的演变经历了"定制化.专用化"的过程.模组最终会嵌入到电视.电冰箱.空调等不同的产品中去, ...

  8. 使用VMware VSphere WebService SDK进行开发 (一)——基本信息阐述

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  9. sdk开发包如何使用_SDK如何使能行业?华为昇腾要用软件充分释放硬件性能

    谈及落地,软件永远是激发硬件性能的核心. 自AI出现,围绕传统产业"智能化转型"的探讨就一直没有停下.而随着"新基建"口号的喊出,工业制造等场景的智能化进程更是 ...

最新文章

  1. Linux系统Python配置MySQL详细教程
  2. Apache用户认证、域名跳转、Apache访问日志
  3. NTFRS事件ID:13568
  4. 模型训练太慢?显存不够用?这个算法让你的GPU老树开新花
  5. Docker 原理、学习教程
  6. flowgraph java_如何在TensorFlow import_graph_def期间更改输入的维度
  7. 深度优先搜索——First Step(洛谷 P3654)
  8. python列表和数组区别java_Python列表与Java数组效率
  9. LDA Effect Size分析 LEfSe详解
  10. Win11如何重置电脑 Win11重置电脑教程
  11. python开源报表工具_12个最好的开源报表工具
  12. Unity实现Angry Bird弹弓发射功能
  13. 开放朋友圈,关联视频号,Linkflow让企业微信这波更新如虎添翼
  14. TrafficStats 网络实时测速
  15. python 切片(正负数)
  16. 怎样用ecognition软件实现同一幅图片上的不同区域的多尺度分割
  17. 崔希凡JavaWeb笔记day10~day12(2016年8月22日11:59:18)
  18. Spring+SpringMVC+mybatis基于ssm的超市会员管理系统
  19. 使用c语言测试大端和小端,C语言*符号使用及大端法小端法测试
  20. Flutter-防京东商城项目-签名验证 增加收货地址、显示收货地址 事件广播-41

热门文章

  1. Android菜单详解——理解android中的Menu
  2. Policy Injection Application Block
  3. CloudStack管理员文档 - 虚拟机
  4. leetcode算法题--最优除法
  5. OpenStack Neutron浅析(三)
  6. xtrabackup 安装、备份和恢复
  7. abstract不能和哪些关键字共存 学习
  8. iOS开发中显示实时的FPS值
  9. 【ZooKeeper Notes 9】ZooKeepr日志清理
  10. Static Text控件响应函数方法