热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VMwarevSphereWebServicesSDK编程指南(二)-Java开发设置

Java开发设置这节说明如何设置开发java客户端的开发环境。主要包括以下内容:■Java开发的各项要求■java开发设置■生成存根和编译类文件■运行Simple

Java 开发设置


这节说明如何设置开发java客户端的开发环境。
主要包括以下内容:

■ Java 开发的各项要求
■ java 开发设置
■ 生成存根和编译类文件
■ 运行 SimpleClient 示例应用程序来验证设置

1. Java 开发的各项要求

  • 使用 VMware vSphere Web Services SDK 开发 Java Web服务客户端应用需要 Java SDK 和Java Web 服务开发工具集。为了获得更好的支持,建议使用 J2SE 1.7.x,特别是JDK 1.7或更高版本。现在 J2SE1.8.x 也得到了支持。

  • Java Web 服务开发工具集必须是一个可以部署到 Tomcat 服务器上的 SOAP 实现。例如,可以使用 JAX-WS 2.1版本中的客户端库。JAX-WS 2.1 libraries 包含在JDK 1.7中。

  • 也可以使用其他客户端工具和库,如 IBM WebSphere 和几个用vSphere Web Services SDK 开发的开源实现。这里只对 JAX-WS 客户端库进行了测试。

  • 案例打包为一个 samples.jar 文件,里面包含所有的 vSphere Web Services SDK 示例。这些示例包括使用JAX-WS库生成的客户端存根类文件。使用 JAX-WS 的示例是使用 JDK 1.7 编译生成的。

    注:如果你没有使用 JDK 1.7,那么必须使用 build.bat 文件在 Windows 上或者 build.sh 在 Linux 上,生成存根并编译示例文件(vim25.jar 和 samples.jar)。构建脚本会执行所有必要的任务,包括设置 CLASSPATH 和环境变量 PATH 。
    查看生成存根并编译类以获得详细信息。

2. Java 开发设置

具体的设置取决于你的开发平台是否已经满足了一些或所有的要求,计划使用哪个客户端 Web 服务库,以及是否计划使用所提供的示例。
具体的设置也取决于你的目标服务器是用 HTTPS 还是 HTTP 协议。

2.1 VMware vSphere Web Services SDK 获取

■ VMware vSphere Web Services SDK 可从https://developercenter.vmware.com 获取.
它在 vSphere Management SDK 包里面。

2.2 使用 JAX-WS 开发的设置

用 JAX-WS libraries 和 JDK 1.7 编译生成的示例包含 vim25.jar 和 samples.jar 两个jar包。
如果你开发用的是相同版本的JDK,就无需重新编译了。

下面的设置说明假设目标服务器使用的是 HTTPS 协议,即默认的服务器配置。

对开发平台进行设置以使用 Java 和 JAX-WS :

  1. 安装 JDK 并为 vSphere Web Services SDK package 创建目录,注意目录不要含空格,此为避免一些包含 SDK 批处理和脚本文件而导致的问题。

  2. 安装 JavaSE 6.0版本以上,现在一般安装 JDK 时会自动安装 JavaSE。

  3. 将 SDK 组件解压到步骤 1 创建的子目录中。

  4. (可选)导入服务器证书,并使用 Java keytool 实用工具创建一个vmware.keystore。 可查阅 导入服务器证书到 Java Keystore 细节.

    作为可选项,在运行时传递 –ignorecert 参数,可忽略 Java 应用程序中的服务器证书验证。

  5. 设置 JAVAHOME 环境变量。此处不赘述。

  6. 如果你不能使用 run.bat 脚本运行Java示例,需添加预编译的示例文件vim25.jar 和 samples.jar到你的系统 CLASSPATH 环境变量。

2.2.1 编译和运行 Samples 的批处理文件和 Shell 脚本

vSphere Web Services SDK 包含若干个用于 Windows 的批处理文件和用于 Linux 的shell脚本,
这些文件便于sample应用程序的构建和运行。

一些批处理文件被其他批处理文件使用。如, build.bat 有调用 lcp.bat 和 clean.bat 脚本。
如果你修改了某个批处理文件,需注意和它有依赖关系的文件。

批处理文件和shell脚本如下:

这里写图片描述

2.2.2 导入服务器证书至 Java 秘钥

如果你打算使用 HTTPS 协议则需导入服务器证书,否则使用 –ignorecert 这个命令行参数忽略这一步骤。很明显,使用 HTTPS 协议可为生产环境提供更好的安全性。

JAVAHOME 环境变量是必须设置的,并将其添加至 PATH 环境变量里面。对于每个目标服务器的证书需位于 C:\VMware-Certs 子目录中。
查阅获取服务器证书。

导入证书至本地 Java Keystore步骤:

  1. 打开 Windows 命令窗口 或Linux shell 命令窗口;
  2. 为 Java 证书存储创建目录
    仅创建目录,实际的 keystore 秘钥文件 vmware.keystore 在导入证书时创建。

    这里写图片描述

  3. 命令窗口切换当前目录;
    如 Windows 为:cd vmware-certs\vmware

  4. 使用 Java keytool 工具导入证书;
    语法如下:

keytool -import -trustcacerts -alias root -file root.cer -keystore keystore.jks
然后会出现要求设置密码的提示:
Enter keystore password:

5. 为 keystore 秘钥创建一个密码,在提示后面输入;
秘钥工具在控制台显示了证书信息,如:

Owner:OID.1.2.840.113549.1.9.2="1183400896,564d7761726520496e632e", CN=sdkpubslab-01.vmware.com,
EMAILADDRESS=ssl-certificates@vmware.com, OU=VMware ESX Server Certificate, O="VMware, Inc.",
L=Palo Alto, ST=California, C=US Issuer: OID.1.2.840.113549.1.9.2="1183400896,564d7761726520496e632e",
CN=sdkpubslab-01.vmware.com, EMAILADDRESS=ssl-certificates@vmware.com, OU=VMware ESX Server Certificate,
O="VMware, Inc.", L=Palo Alto, ST=California, C=US Serial number: 0 Valid
from: Mon Jul 02 11:28:17 PDT 2007 until: Mon Aug 31 11:28:17 PDT 2026
Certificate fingerprints:
MD5: . . .61:35:C0:C4
SHA1: 4C:...78:B2
在证书信息最后,会显示一个请求提示,以确认该证书是可信的:
Trust this certificate? [no]:

6. 输入 yes, 回车确认,导入证书至 vmware.keystore keystore;
控制台显示下面的信息:
Certificate was added to keystore
7. 为每个目标服务器重复 4~6 步骤。

3. 生成存根和编译类文件

vSphere Web Services SDK 包括一系列的示例程序的 Java 存档文件,
sample .jar 是使用 JDK 1.7 和 JAX-WS Web 服务库创建的。

3.1 预编译 JAX-WS 示例

JAX-WS samples 包括由 JDK 1.7 内含的 JAX-WS 库创建的vim25.jar 和 samples.jar 文件,
文件位于 %WS_SDK_HOME%\java\JAX-WS\lib 目录。

如果你的开发环境使用的是 jax-ws 库和 JDK 1.7,那么你可以直接使用这些预编译库文件。

3.2 使用 Build 脚本

如果你的开发环境使用的是和预编译 samples 不同的 JDK 版本或客户端库,那么你必须重新生成客户端存根,并重新编译它们,以创建Java存档文件。
在SDK中包含的 build.bat 或 build.sh 脚本可以为你执行所有必要的任务。

用 build.bat 或 build.sh 脚本生成存根和编译文件步骤:

  1. 打开命令提示符窗口;

  2. 切换至 build.bat 或 build.sh 文件所在目录;

    cd %WS_SDK_HOME%\java\JAX-WS\

  3. 运行 build.bat (或 build.sh) 文件;
    控制台将显示输出,首先是从 wsdl 生成存根。几分钟后运行完成, Done 出现在命令提示符,从 wsdl 生成存根的消息会出现两次,因为此构建文件使用两组 WSDL 声明生成客户端存根,在 \vim 和\vim25 可以找到。

例:用 build.bat (或 build.sh) 文件成功生成存根和编译

这里写图片描述

当流程结束时,恰当的 sample .jar 文件显示当前日期和时间。
如果不需要从 WSDL 重新生成存根,可用 -w 标志 build 脚本,如:
build -w

4. 运行 SimpleClient 示例应用程序来验证设置

可以通过运行一个示例应用程序来测试你的设置和连接,如SimpleClient。
SimpleClient 是一个连接到服务器的Java类,并获得顶级清单实体、它们的属性和引用的一览表。

如果你使用 JAX-WS 生成的存根,这些脚本需要先设置 JAVAHOME 环境变量。

使用提供的脚本运行一个示例应用

使用 run.bat 或 run.sh 脚本可运行任何 Java 示例。SimpleClient 就是一个不错的验证设置是否正确的示例应用,
SimpleClient 的源文件路径为:
%WS_SDK_HOME%\java\JAXWS\samples\com\vmware\general\SimpleClient.java

当运行脚本时,为示例应用程序指定的 Java 类文件加上 –url, –username 和 –password 在命令行切换,
在Java类规范中包含完整的包名。

下面的语句展示了使用 run.bat 脚本执行 SimpleClient 示例应用程序(在JAX-WS 中Java sample 目录中)的一般格式。

run.bat com.vmware.samples.general.SimpleClient --url https://yourFQDNservername/sdk 
--username username --password password [--ignorecert ignorecert]

示例:一个使用预编译的Java示例成功运行 SimpleClient 示例应用的输出:

Object Type : Folder
Reference Value : ha-folder-vm
Property Name : name
Property Value : vm
Object Type : HostSystem
Reference Value : ha-host
Property Name : name
Property Value : sdkpubslab-02.eng.vmware.com
Object Type : ResourcePool
Reference Value : ha-root-pool
Property Name : name
Property Value : Resources
Object Type : Folder
Reference Value : ha-folder-host
Property Name : name
Property Value : host
Object Type : ComputeResource
Reference Value : ha-compute-res
Property Name : name
Property Value : sdkpubslab-02.eng.vmware.com
Object Type : VirtualMachine
Reference Value : 16
Property Name : name
Property Value : Windows_2K3_VM
...
Object Type : Datacenter
Reference Value : ha-datacenter
Property Name : name
Property Value : ha-datacenter
Object Type : Folder
Reference Value : ha-folder-root
Property Name : name
Property Value : ha-folder-root

从命令提示符运行预编译的 SimpleClient 步骤:

  1. 打开 Windows 命令窗口 或Linux shell 命令窗口;

  2. 切换至 Java samples 目录;

    cd %WS_SDK_HOME%\java\JAXWS\samples

  3. 调用 Java runtime,提供 SimpleClient 应用的完整包名、服务器URN、凭证和 Java keystore 密钥库位置或者用 –ignorecert 参数忽略证书。完整的语法如下:

java -Djavax.net.ssl.trustStore=keystore-path-or-%KEYSTORE%-environment-variable 
package-hierarchy-classname --url server-url --username username
--password password [--ignorecert ignorecert]

示例:

java -Djavax.net.ssl.trustStore=%VMKEYSTORE% com.vmware.general.SimpleClient 
--url https://example.com/sdk --username pubs --password *** --ignorecert ignorecert

注:如果由于系统堆或其他内存问题而出现错误消息,则可以给 Java VM 更多内存,如下:

java -Djavax.net.ssl.trustStore=%VMKEYSTORE% -Xms512M -Xmx1024M com.vmware.general.SimpleClient 
https://sdkpubslab-02.eng.vmware.com/sdk --username username --password password
--ignorecert ignorecert

原文:
VMware vSphere 6.5 Documentation Center:
Setting Up for Java Development


推荐阅读
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • Jmeter对RabbitMQ压力测试
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Jmeter对RabbitMQ压力测试相关的知识,希望对你有一定的参考价值。Jm ... [详细]
  • Maven构建Hadoop,
    Maven构建Hadoop工程阅读目录序Maven安装构建示例下载系列索引 序  上一篇,我们编写了第一个MapReduce,并且成功的运行了Job,Hadoop1.x是通过ant ... [详细]
  • 找到JDK下载URL当然去官网找了。目前最新的1.8的下载URL(RPM)如下:http:download.oracle.comotn-pubjavajdk8u161-b122f3 ... [详细]
author-avatar
hupi12丨
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有