<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>VMware Communities : Document List - vSphere Web Services SDK</title>
    <link>http://communities.vmware.com/community/developer/forums/managementapi?view=documents</link>
    <description>Latest Documents in vSphere Web Services SDK</description>
    <language>en</language>
    <pubDate>Thu, 19 Nov 2009 22:39:38 GMT</pubDate>
    <generator>Clearspace 1.10.12 (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2009-11-19T22:39:38Z</dc:date>
    <dc:language>en</dc:language>
    <item>
      <title>Hello World - Getting started with the vSphere Web Services SDK (Java)</title>
      <link>http://communities.vmware.com/docs/DOC-11302</link>
      <description />
      <pubDate>Tue, 17 Nov 2009 21:05:52 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-11302</guid>
      <dc:date>2009-11-17T21:05:52Z</dc:date>
      <clearspace:dateToText>5 days, 23 hours ago</clearspace:dateToText>
    </item>
    <item>
      <title>Getting Started with the vSphere Web Services SDK</title>
      <link>http://communities.vmware.com/docs/DOC-11301</link>
      <description />
      <pubDate>Tue, 17 Nov 2009 20:56:18 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-11301</guid>
      <dc:date>2009-11-17T20:56:18Z</dc:date>
      <clearspace:dateToText>1 week, 1 day ago</clearspace:dateToText>
    </item>
    <item>
      <title>Resources for folks new to the vSphere Web Services SDK</title>
      <link>http://communities.vmware.com/docs/DOC-11300</link>
      <description>Resources to help people get started with the vSphere Web Services SDK&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/servlet/JiveServlet/downloadBody/11301-102-1-10681/GettingStartedGuide.pdf"&gt;Getting Started Guide:&lt;/a&gt; Developed by our SDK Developer Support Team, contains references and pointers to help you get started. Sample code in Java and C#&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="jive-link-external" href="http://communities.vmware.com/servlet/JiveServlet/downloadBody/11302-102-1-10685/HelloWorld.pdf" title="Balaji Parimi from Ecosystem Engineering show us how to get started using the SDK, contains Java sample code."&gt;Hello World&lt;/a&gt;: Guide put together by the Ecosystem Engineering Sample Code in Java&lt;/li&gt;
&lt;/ul&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vsphere_sdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">getting_started</category>
      <pubDate>Tue, 17 Nov 2009 20:49:21 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-11300</guid>
      <dc:date>2009-11-17T20:49:21Z</dc:date>
      <clearspace:dateToText>1 week, 1 day ago</clearspace:dateToText>
    </item>
    <item>
      <title>vSphere SDKs / APIs Overview</title>
      <link>http://communities.vmware.com/docs/DOC-10880</link>
      <description />
      <category domain="http://communities.vmware.com/tags?communityID=2416">vsphere_apis</category>
      <pubDate>Wed, 07 Oct 2009 23:15:50 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-10880</guid>
      <dc:date>2009-10-07T23:15:50Z</dc:date>
      <clearspace:dateToText>1 month, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>Introduction to the vSphere SDK using Java and C# - Posting by David D (Lab from FL Tech Ex)</title>
      <link>http://communities.vmware.com/docs/DOC-10862</link>
      <description>We wanted to let you know we ran a very successful vSphere SDK lab at [Partner Exchange / Tech Exchange a few weeks ago in Orlando. For those of you who missed the event, I'm posting the manuals and code files. Going through the lab is a great way to get started with the API and includes handy sample code for modification or inclusion in your own programs.&lt;br /&gt;
&lt;p /&gt;
{youtube}&lt;a class="jive-link-external" href="http://www.youtube.com/watch?v=paGqr9SWl-4"&gt;http://www.youtube.com/watch?v=paGqr9SWl-4&lt;/a&gt;{youtube}&lt;br /&gt;
&lt;p /&gt;
The lab covers both the Java and C# versions of the VI SDK and uses the vSphere Web Services SDK 4.0 (formerly VI SDK 4.0). Though the lab doesn't cover any vSphere-specific features, I haven't tested it with VI SDK 2.5 and it will probably require some minor modification. For scripters that would prefer an introduction to the vSphere Perl SDK (formerly the VI Perl Toolkit) or the vSphere PowerCLI (formerly VI Toolkit for Windows), I posted a similar lab for those in an &lt;a class="jive-link-external" href="http://communities.vmware.com/blogs/DeveloperCenter/2009/01/14/an-introduction-to-scripting-vi-using-perl-or-powershell"&gt;earlier blog post&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Exercises cover all the basics for using the SDK: &lt;br /&gt;
 * Understanding managed objects and data objects&lt;br /&gt;
 * Connecting to the VI API webservice&lt;br /&gt;
 * getting the properties of managed objects using the PropertyCollector&lt;br /&gt;
 * Using the SearchIndex&lt;br /&gt;
 * Finding objects using TraversalSpecs&lt;br /&gt;
 * Finding objects based on arbitrary criteria&lt;br /&gt;
 * Collecting properties of multiple objects at the same time&lt;br /&gt;
 * Understanding performance differences in some basic property collection strategies&lt;br /&gt;
 * Monitoring properties for changes&lt;br /&gt;
 * Monitoring tasks for completion&lt;br /&gt;
 * Gathering performance statistics&lt;br /&gt;
&lt;br /&gt;
There's obviously a lot more to do in the SDK, but once you've mastered those basic skills, most of the rest of the SDK is just an extension of what you already know. The exercises on collecting multiple objects properties at the same time and understanding performance differences due to property collector strategies cover some common problems I see with the management ecosystem partners I handle and are a great review for anyone trying to make sure their SDK code scales well.&lt;br /&gt;
&lt;br /&gt;
A few things to note: I didn't update the doc with the new names of the various API components... I wrote the lab while those names were still under development. Also, I want to thank the other folks who helped put this lab together: Balaji Parimi (who wrote the Java code), Rajesh Kamal (who wrote the C# code), Alton Yu, John Kennedy, Paul Vasquez, and Steve Jin.&lt;br /&gt;
&lt;br /&gt;
While most of the code handles errors gracefully and follows best practices, I’d like to point out that the code here is designed to teach concepts, not to be “enterprise ready”.</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">sdk_lab</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">florida_technology_exchange</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">java</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">c#</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vsphere</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">lab</category>
      <pubDate>Mon, 05 Oct 2009 20:46:20 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-10862</guid>
      <dc:date>2009-10-05T20:46:20Z</dc:date>
      <clearspace:dateToText>1 month, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>VMware vSphere SDKs / APIs - Architecture</title>
      <link>http://communities.vmware.com/docs/DOC-10771</link>
      <description />
      <category domain="http://communities.vmware.com/tags?communityID=2416">vmware_sdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">api</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">powershell</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">esx</category>
      <pubDate>Tue, 15 Sep 2009 19:15:23 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-10771</guid>
      <dc:date>2009-09-15T19:15:23Z</dc:date>
      <clearspace:dateToText>2 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>VMware Coffee Talk Library - Reference Links</title>
      <link>http://communities.vmware.com/docs/DOC-10751</link>
      <description>&lt;a class="jive-link-external" href="http://twitter.com/home?status=http://communities.vmware.com/docs/DOC-10751" title="TwitThis"&gt;Share on twitter!&lt;/a&gt;&lt;br /&gt;
&lt;img src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/5802/coffee-cup.jpg" alt="http://communities.vmware.com/servlet/JiveServlet/downloadImage/5802/coffee-cup.jpg" class="jive-image"  /&gt; &lt;br /&gt;
&lt;br /&gt;
VMware Coffee Talk Webinars - Fresh Content Served First Wednesday of the Month&lt;br /&gt;
&lt;br /&gt;
&lt;table class="jive-wiki-table"&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Topic&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Day&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Registration Information&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Presentation, WebinarLinks&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What is new with vSphere Web Services SDK Deep Dive with &lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10292"&gt;Balaji Parimi\&lt;/a&gt; Part 1&lt;/td&gt;
&lt;td&gt;Wed May 6th, 2009&lt;/td&gt;
&lt;td&gt;Completed&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-attachment" href="http://communities.vmware.com/servlet/JiveServlet/download/2416-207840-1244058-22354/vSphereSDK_NewFeatures-5-6-09.pdf"&gt;vSphereSDK_NewFeatures-5-6-09.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="https://vmware.webex.com/vmware/lsr.php?AT=pb&amp;#38;SP=MC&amp;#38;rID=32494347&amp;#38;rKey=F3491F72805A6729"&gt;Webinar recording Link\&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What is new with vSphere Web Services SDK Best Practices with &lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10292"&gt;Balaji Parimi\&lt;/a&gt; Part 2&lt;/td&gt;
&lt;td&gt;Friday May 8th, 2009&lt;/td&gt;
&lt;td&gt;Completed&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-attachment" href="http://communities.vmware.com/servlet/JiveServlet/download/2416-207840-1244058-22432/vSphereSDK_BestPractices.pdf"&gt;vSphereSDK_BestPractices.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="https://vmware.webex.com/vmware/lsr.php?AT=pb&amp;#38;SP=MC&amp;#38;rID=32561602&amp;#38;rKey=C28B42AD86773364"&gt;Webinar recording Link\&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PowerCLI - What is new in PowerCLI by Carter Shanklin&lt;/td&gt;
&lt;td&gt;Wed June 3rd, 2009&lt;/td&gt;
&lt;td&gt;Completed&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-external" href="http://blogs.vmware.com/vipowershell/2009/06/june-2009-powercli-webinar-the-aftermath.html"&gt;PDF, Slides, Sample Code Link\&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="https://vmware.webex.com/vmware/lsr.php?AT=pb&amp;#38;SP=MC&amp;#38;rID=33099282&amp;#38;rKey=E0D4326BB29D8C3B"&gt;Webinar recording link\&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Special Event - VMware Studio 2.0 - &lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10116"&gt;Matthew Ford\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Wed June 24th, 2009&lt;/td&gt;
&lt;td&gt;Completed&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-attachment" href="http://communities.vmware.com/servlet/JiveServlet/download/2815-216138-1285974-24821/Studio-CoffeeTalk-final.pdf"&gt;Studio-CoffeeTalk-final.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="https://vmware.webex.com/vmware/lsr.php?AT=pb&amp;#38;SP=MC&amp;#38;rID=33553427&amp;#38;rKey=9b90f6ac85505624"&gt;Webinar recording link\&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VMware Virtual Disk Development Kit - VDDK 1.1 - &lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10291"&gt;Sudarsan Piduri\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Wed July 1st, 2009&lt;/td&gt;
&lt;td&gt;Completed&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-attachment" href="http://communities.vmware.com/servlet/JiveServlet/download/2655-212846-1268441-25126/vddk-coffee-talk.pdf"&gt;vddk-coffee-talk.pdf&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="https://vmware.webex.com/vmware/lsr.php?AT=pb&amp;#38;SP=MC&amp;#38;rID=33689717&amp;#38;rKey=e3f6e58d7dbf9c5e"&gt;Webinar recording\&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Extending PowerCLI to Enterprise Applications with Virtualization EcoShell - Scott Herold&lt;/td&gt;
&lt;td&gt;Wed August 5th, 2009&lt;/td&gt;
&lt;td&gt;Completed&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-attachment" href="http://communities.vmware.com/servlet/JiveServlet/download/2530-222424-1318360-26429/Virtualization+EcoShell.pdf"&gt;Virtualization EcoShell.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="https://vmware.webex.com/vmware/lsr.php?AT=pb&amp;#38;SP=MC&amp;#38;rID=34440042&amp;#38;rKey=467fdfafb577017e"&gt;Webinar recording Link\&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;vCloud API Overview - Ticho Tenev&lt;/td&gt;
&lt;td&gt;Wed Sept 16th 2009&lt;/td&gt;
&lt;td&gt;Completed&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/230999"&gt;Webinar and PDF\&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;vSphere APIs for Performance Monitoring - Ravi S. and Balaji P.&lt;/td&gt;
&lt;td&gt;Wed Oct 7th 2009&lt;/td&gt;
&lt;td&gt;Completed&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/233040"&gt;Webinar and PDF\&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VMware vCenter ChargeBack APIs Overview by Hemanth Kumar Pannem&lt;/td&gt;
&lt;td&gt;Wed November 4th 2009&lt;/td&gt;
&lt;td&gt;Completed&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-message" href="http://communities.vmware.com/message/1378507#1378507"&gt;Webinar and PDF\&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VMware vSphere Client Plug Ins - Nimish Sheth VMware R&amp;#38;D&lt;/td&gt;
&lt;td&gt;Wed December 2nd 2009&lt;/td&gt;
&lt;td&gt;&lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/241823"&gt;Information\&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;TBD&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br clear="left" /&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vmware_coffee_talk_webinar</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">reference_links</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vcloud_api</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">clode</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">viperl</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vsphere_client_plugin</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vmware</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">sdk</category>
      <pubDate>Mon, 14 Sep 2009 21:02:34 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-10751</guid>
      <dc:date>2009-09-14T21:02:34Z</dc:date>
      <clearspace:dateToText>2 weeks, 9 hours ago</clearspace:dateToText>
    </item>
    <item>
      <title>VMware Coffee Talk - Intl Toll Free Numbers - Oct 7th 9:00 PST</title>
      <link>http://communities.vmware.com/docs/DOC-10703</link>
      <description>Toll free: 1-888-253-4037&lt;br /&gt;
&lt;p /&gt;
Toll: 1-719-867-0591&lt;br /&gt;
&lt;br /&gt;
Participant Passcode:325665&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Argentina: &lt;br /&gt;
 0800 666 1931&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Australia: &lt;br /&gt;
 1 800 093 472&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Austria: &lt;br /&gt;
 0800 293 550&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Bahamas: &lt;br /&gt;
 1 800 389 0426&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Belgium: &lt;br /&gt;
 0 800 72 931&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Brazil: &lt;br /&gt;
 0800 891 9644&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Chile: &lt;br /&gt;
 123 0020 6921&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - China, Northern Region: &lt;br /&gt;
 10 800 714 0940&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - China, Southern Region: &lt;br /&gt;
 10 800 140 0915&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Colombia: &lt;br /&gt;
 01 800 518 0429&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Costa Rica: &lt;br /&gt;
 0800 015 0438&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Czech Republic: &lt;br /&gt;
 800 142 882&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Denmark: &lt;br /&gt;
 80 886 982&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Dominican Republic: &lt;br /&gt;
 1 800 205 1059&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - France: &lt;br /&gt;
 0 800 902 640&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Germany: &lt;br /&gt;
 0 800 181 3124&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Greece: &lt;br /&gt;
 00 800 161 2205 1059&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Hong Kong: &lt;br /&gt;
 800 968 149&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Hungary: &lt;br /&gt;
 06 800 182 46&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - India: &lt;br /&gt;
 000 800 1006 285&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Indonesia: &lt;br /&gt;
 001 803 017 1059&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Ireland: &lt;br /&gt;
 1 800 553 535&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Israel: &lt;br /&gt;
 1 80 924 5906&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Italy: &lt;br /&gt;
 800 870 025&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Japan: &lt;br /&gt;
 00531 16 0573&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Latvia: &lt;br /&gt;
 8000 2437&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Lithuania: &lt;br /&gt;
 8 800 3 02 01&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Luxembourg: &lt;br /&gt;
 800 2 5741&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Malaysia: &lt;br /&gt;
 1 800 812 410&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Mexico: &lt;br /&gt;
 001 800 514 1067&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Monaco: &lt;br /&gt;
 800 93 275&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Netherlands: &lt;br /&gt;
 0 800 022 0026&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - New Zealand: &lt;br /&gt;
 0 800 444 601&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Norway: &lt;br /&gt;
 800 181 22&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Philippines: &lt;br /&gt;
 1 800 111 003 99&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Poland: &lt;br /&gt;
 00 800 111 48 10&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Portugal: &lt;br /&gt;
 800 819 148&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Russia: &lt;br /&gt;
 810 800 2488 1012&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Singapore: &lt;br /&gt;
 800 101 1739&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Slovenia: &lt;br /&gt;
 0 800 80054&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - South Africa: &lt;br /&gt;
 0 800 999 558&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - South Korea: &lt;br /&gt;
 003 0813 1580&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Spain: &lt;br /&gt;
 900 957 061&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Sweden: &lt;br /&gt;
 02 079 7447&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Switzerland: &lt;br /&gt;
 0 800 563 574&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Taiwan: &lt;br /&gt;
 00 801 126 797&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Thailand: &lt;br /&gt;
 001 800 156 205 1059&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - UK: &lt;br /&gt;
 0 800 404 7655&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Uruguay: &lt;br /&gt;
 0004 019 0077&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
 International toll free - Venezuela: &lt;br /&gt;
 0 800 100 3100</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">coffee_talk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">toll_free_numbers</category>
      <pubDate>Fri, 11 Sep 2009 00:44:12 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-10703</guid>
      <dc:date>2009-09-11T00:44:12Z</dc:date>
      <clearspace:dateToText>2 months, 4 days ago</clearspace:dateToText>
    </item>
    <item>
      <title>Server Hardware Health - Session, Demo, and Perl Sample Code</title>
      <link>http://communities.vmware.com/docs/DOC-10665</link>
      <description>&lt;div class="sociable"&gt;&lt;a class="jive-link-external" href="http://twitter.com/home?status=http://communities.vmware.com/docs/DOC-10665" title="TwitThis"&gt; Share on twitter!&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Just added - Session Tech Exchange Dev Day:&lt;/b&gt; &lt;br /&gt;
&lt;a class="jive-link-external" href="http://download3.vmware.com/vmworld/2009/techexchange_hardware.html"&gt;http://download3.vmware.com/vmworld/2009/techexchange_hardware.html&lt;/a&gt;&lt;br /&gt;
(PDF attached)&lt;br /&gt;
&lt;br /&gt;
(Demo was put together by Neha, Seemanki, and Dildip) &lt;br /&gt;
&lt;br /&gt;
{youtube}&lt;a class="jive-link-external" href="http://www.youtube.com/watch?v=X-hZoPgXAFU"&gt;http://www.youtube.com/watch?v=X-hZoPgXAFU&lt;/a&gt;{youtube}&lt;br /&gt;
&lt;br /&gt;
Sample Code in Perl&lt;br /&gt;
&lt;br /&gt;
Servers used:&lt;br /&gt;
&lt;br /&gt;
HP DL 380 G5 (HP ESXi image) &lt;br /&gt;
Dell 2950 &lt;br /&gt;
&lt;br /&gt;
Demo Overview Attached (PDF)&lt;br /&gt;
Web Ex Link: &lt;a class="jive-link-external" href="https://vmware.webex.com/vmware/lsr.php?AT=pb&amp;#38;SP=MC&amp;#38;rID=35062922&amp;#38;rKey=875ec7ec3b0bb8d9"&gt;https://vmware.webex.com/vmware/lsr.php?AT=pb&amp;#38;SP=MC&amp;#38;rID=35062922&amp;#38;rKey=875ec7ec3b0bb8d9&lt;/a&gt;&lt;br /&gt;
Legal Disclaimer for sample code attached: &lt;br /&gt;
&lt;a class="jive-link-external" href="http://communities.vmware.com/servlet/JiveServlet/download/1359583-28031/VMware%20Contributed%20Sample%20Code.pdf"&gt;http://communities.vmware.com/servlet/JiveServlet/download/1359583-28031/VMware%20Contributed%20Sample%20Code.pdf&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">cim_sdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">api</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">smash</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">sample</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">code</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">server_health</category>
      <pubDate>Tue, 01 Sep 2009 23:03:58 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-10665</guid>
      <dc:date>2009-09-01T23:03:58Z</dc:date>
      <clearspace:dateToText>1 month, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>Session management with Cookies</title>
      <link>http://communities.vmware.com/docs/DOC-10297</link>
      <description>Just thought I'd share this bit 'o knowledge with the community. When building the VI Toolkits for .NET and Java I created methods for connecting to VI with an existing session cookie (like Perl and PowerShell). In .NET that looks like this:&lt;br /&gt;
&lt;br /&gt;
// The next line is self-explanatory.&lt;br /&gt;
			m_vim_svc_content =&lt;br /&gt;
				m_vim_svc.RetrieveServiceContent( vim_svc_ref );&lt;br /&gt;
&lt;br /&gt;
			if ( GetOptionValue( "sessionfile" ) != null )&lt;br /&gt;
			{&lt;br /&gt;
				Trace.TraceInformation( "Connecting with session file" );&lt;br /&gt;
&lt;br /&gt;
				BinaryFormatter bf = new BinaryFormatter();&lt;br /&gt;
				Stream s = File.Open(&lt;br /&gt;
					GetOptionValue( "sessionfile" ), FileMode.Open );&lt;br /&gt;
				Cookie c = bf.Deserialize( s ) as Cookie;&lt;br /&gt;
				s.Close();&lt;br /&gt;
				m_vim_svc.CookieContainer.Add( c );&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
In the above example the session content is retrieved and then the Cookie object is deserialized from a text file where it was stored (you can store just the cookie value and create a new Cookie object as well, but storing the object by serializing it to a file means that the VI Toolkit for Windows (PowerShell) can use it as well).&lt;br /&gt;
&lt;br /&gt;
In Java however, the same logic does not work. You have to do this:&lt;br /&gt;
&lt;br /&gt;
m_vim_svc = vim_svc_loc.getVimPort( new java.net.URL( getVIUrl() ) );&lt;br /&gt;
		VimBindingStub vbs = ( VimBindingStub ) m_vim_svc;&lt;br /&gt;
		vbs.setMaintainSession( true );&lt;br /&gt;
&lt;p /&gt;
		if ( getOptionValue( "sessionfile" ) != null )&lt;br /&gt;
		{&lt;br /&gt;
			/*&lt;br /&gt;
			 * Load the session cookie. It is important that when using Axis,&lt;br /&gt;
			 * the session cookie is loaded BEFORE the service content is &lt;br /&gt;
			 * retrieved, otherwise the session will not be authenticated.&lt;br /&gt;
			 */&lt;br /&gt;
			String session_file = getOptionValue( "sessionfile" );&lt;br /&gt;
			BufferedReader br = &lt;br /&gt;
				new BufferedReader( new FileReader( session_file ) );&lt;br /&gt;
			String session_cookie = br.readLine();&lt;br /&gt;
			br.close();&lt;br /&gt;
			vbs._setProperty( &lt;br /&gt;
				org.apache.axis.transport.http.HTTPConstants.HEADER_COOKIE,&lt;br /&gt;
				session_cookie );&lt;br /&gt;
			m_vim_svc_content = m_vim_svc.retrieveServiceContent( vim_svc_ref );&lt;br /&gt;
		}&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			m_vim_svc_content = m_vim_svc.retrieveServiceContent( vim_svc_ref );&lt;br /&gt;
			m_vim_svc.login( m_vim_svc_content.getSessionManager(),&lt;br /&gt;
				getOptionValue( "username" ), getOptionValue( "password" ),&lt;br /&gt;
				null );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
In Java you must set the cookie BEFORE you retrieve the service content. However, you still must retrieve the service content before you login via username and password.&lt;br /&gt;
&lt;br /&gt;
I am putting this out there just in case one or two of you trip over the same issue.&lt;br /&gt;
&lt;br /&gt;
Many thanks to Steve Jin @ VMware for pointing me in the right direction on this.&lt;br /&gt;
&lt;hr /&gt;
Let's say there large number of concurrent client requests to ESX hostd coming from a mgmt application.&lt;br /&gt;
The app is running inside a VM and connects to the same ESX server that hosts the VM.&lt;br /&gt;
&lt;br /&gt;
Each request makes similar VI SDK java api calls. &lt;br /&gt;
&lt;br /&gt;
Is there a limit on the max number of concurrent sessions that are allowed? We see messages:&lt;br /&gt;
&lt;strike&gt;2008-08-26 14:45:36.833 'SoapAdapter' 22461360 error&lt;/strike&gt; SOAP session count limit reached&lt;br /&gt;
&lt;br /&gt;
Another question, is if we allow one client thread to establish a session cookie and other threads to reuse the same session cookie, would this give a substantial performance gain on the ESX server? (session pooling)&lt;br /&gt;
&lt;br /&gt;
Is connection pooling possible?&lt;br /&gt;
&lt;hr /&gt;
The documentation states that the session limit is set to 100.&lt;br /&gt;
&lt;br /&gt;
This document was generated from the following thread:&amp;nbsp;&lt;a href="http://communities.vmware.com/thread/147030" class="jive-link-thread"&gt;!! Session management with Cookies !!&lt;/a&gt;</description>
      <pubDate>Fri, 03 Jul 2009 19:14:19 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-10297</guid>
      <dc:date>2009-07-03T19:14:19Z</dc:date>
      <clearspace:dateToText>4 months, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>Problems connecting to VI SDK using C++/gsoap-2.7</title>
      <link>http://communities.vmware.com/docs/DOC-10296</link>
      <description>Hi&lt;br /&gt;
I know this topic has been discussed quite a lot recently, but unfortunately I haven't been able to find a solution to my problem.  I am currently running ESX Server 3.5.  I have no problems accessing it via the SDK using Java and Perl.  However, I am trying to get a simple C++ program working that can connect to it and do something useful.  First of all, I changed the proxy.xml file on the ESX Server so that the sdk can be accessed via both http and https.&lt;br /&gt;
&lt;br /&gt;
Second, on my client machine (64-bit AMD Athlon running Ubuntu 8.10) I have installed gsoap-2.7 to convert the WSDL files into stubs necessary to communicate with the server.  I use the various gsoap programs to convert the vimService.wsdl file in the directory SDK/wsdl/vim/ as follows:&lt;br /&gt;
&lt;br /&gt;
wsdl2h -x -s vimService.wsdl &lt;br /&gt;
soapcpp2 -i -C -I/home/ashok/gsoap-2.7/gsoap/import vimService.h&lt;br /&gt;
&lt;br /&gt;
This generates soapH.h, soapStub.h, soapC.cpp, as well as soapVimBindingProxy.{h,cpp}.&lt;br /&gt;
&lt;br /&gt;
Here is my simple test.cpp driver program that tries to access the ESX Server and create a snapshot of one of the VMs (note that I've specified http and not https in the URL):&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
#include "soapH.h"&lt;br /&gt;
#include "VimBinding.nsmap"&lt;br /&gt;
#include "soapVimBindingProxy.h"&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
VimBindingProxy service;&lt;br /&gt;
&lt;br /&gt;
service.soap_endpoint = "http://&amp;lt;server ip address&amp;gt;:443/sdk";&lt;br /&gt;
&lt;br /&gt;
ns2__ManagedObjectReference mor;&lt;br /&gt;
ns2__CreateSnapshotRequestType req;&lt;br /&gt;
_ns2__CreateSnapshotResponse resp;&lt;br /&gt;
&lt;br /&gt;
req._USCOREthis = &amp;mor;&lt;br /&gt;
req.name = "ashok_linux_1";&lt;br /&gt;
req.memory = false;&lt;br /&gt;
req.quiesce = false;&lt;br /&gt;
&lt;br /&gt;
if (service.CreateSnapshot(&amp;#38;req, &amp;#38;resp) == SOAP_OK) {&lt;br /&gt;
std::cout &amp;lt;&amp;lt; "OK"&amp;lt;&amp;lt; std::endl;&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
std::cout &amp;lt;&amp;lt; "BAD" &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
service.soap_print_fault(stdout);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;hr /&gt;
I compile this and run as follows:&lt;br /&gt;
&lt;br /&gt;
g++ *.cpp -Wall -DWITH_OPENSSL -lgsoap++&lt;br /&gt;
&lt;br /&gt;
ashok@ashok-desktop: ./a.out &lt;br /&gt;
BAD&lt;br /&gt;
Error -1 fault: SOAP-ENV:Client &lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=2416&amp;subject=no+subcode"&gt;no subcode&lt;/a&gt;&lt;br /&gt;
"End of file or no input: Connection reset by peer"&lt;br /&gt;
Detail: &lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=2416&amp;subject=no+detail"&gt;no detail&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The message "Error -1 fault: SOAP-ENV:Client &lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=2416&amp;subject=no+subcode"&gt;no subcode&lt;/a&gt;" is something that I always  get, regardless of the SDK function that I invoke.  Has anyone figured out this problem, specifically using the C++ stub functions auto-generated by gsoap?  If so, please tell me what I'm doing wrong as I'm close to pulling my hair out!&lt;br /&gt;
&lt;br /&gt;
Ashok&lt;br /&gt;
&lt;hr /&gt;
I think I'm going to write up a tutorial for C++ &amp;#38; gsoap to get people started.  I got a working setup that will build libraries and use the advanced C++ proxy option.  This generates more OO like code that (in my opinion) reads and is easier to code with.  I'll post it up in this thread if I do get to it this week.&lt;br /&gt;
&lt;br /&gt;
First thing is you'll need to login first.  You won't be able to call most of the functions in the SDK until you do.&lt;br /&gt;
&lt;br /&gt;
You'll also need to keep the compile flags consistent for all the objects.  You'll need at least -DWITH_COOKIES.  Without cookies you'll end up with permission errors as you end up regenerating a new SessionID for each call.&lt;br /&gt;
&lt;br /&gt;
Can you also post up all the steps in your compile process?  It wasn't clear if you compiled and linked in your soapC.&lt;br /&gt;
&lt;br /&gt;
Here's a very simple example you can work from.  I don't call a login in this one, but you can use it to get a working program and start to build on it.  It does use SSL so you can see how that's handled.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;#include &amp;quot;soapVimBindingProxy.h&amp;quot;
#include &amp;quot;VimBinding.nsmap&amp;quot;
#include &amp;lt;time.h&amp;gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;typeinfo&amp;gt;

using namespace std;

void sigpipe_handle(int x) { cout &amp;lt;&amp;lt; &amp;quot;sigpipe: &amp;quot; &amp;lt;&amp;lt; x &amp;lt;&amp;lt; endl; }

int main(int argc, char* argv[])
{
	VimBinding vim;
	ns1__ManagedObjectReference ManagedObjectRef;
	ns1__RetrieveServiceContentRequestType RetrieveServiceContentReq;
	_ns1__RetrieveServiceContentResponse RetrieveServiceContentRes;
	ns1__ServiceContent *ServiceContent;
	ns1__AboutInfo *AboutInfo;
	
	if (argc != 2)
	{
		cout &amp;lt;&amp;lt; &amp;quot;Usage: &amp;quot; &amp;lt;&amp;lt; argv[0] &amp;lt;&amp;lt; &amp;quot; &amp;lt;service url&amp;gt;&amp;quot; &amp;lt;&amp;lt; endl;
		exit(1);
	}
	
	string service_url(argv[1]);	
	
	vim.endpoint = service_url.c_str();
	soap_ssl_init();
	
	
	if (soap_ssl_client_context(
		vim.soap,
		SOAP_SSL_NO_AUTHENTICATION,
		NULL,
		NULL,
		NULL,
		NULL,
		NULL	))
	{
		cout &amp;lt;&amp;lt; &amp;quot;SSL:&amp;quot;;
		soap_print_fault(vim.soap, stderr);
		soap_done(vim.soap);
		soap_end(vim.soap);
		exit(1);
	}
	
	ManagedObjectRef.__item = &amp;quot;ServiceInstance&amp;quot;;
	ManagedObjectRef.type = new string(&amp;quot;ServiceInstance&amp;quot;);
	RetrieveServiceContentReq._USCOREthis = &amp;amp;ManagedObjectRef;
	
	if ( vim.__ns1__RetrieveServiceContent(&amp;#38;RetrieveServiceContentReq, &amp;#38;RetrieveServiceContentRes) == SOAP_OK )
	{
		cout &amp;lt;&amp;lt; &amp;quot;RetrieveServiceContent - OK&amp;quot; &amp;lt;&amp;lt; endl;
	}
	else
	{
		delete ManagedObjectRef.type;
		soap_print_fault(vim.soap,stderr);
		soap_done(vim.soap);
		soap_end(vim.soap);
		exit(1);
	}
	
	ServiceContent = RetrieveServiceContentRes.returnval;
	
	if (ServiceContent &amp;#38;&amp;#38; ServiceContent-&amp;gt;about)
	{
		AboutInfo = ServiceContent-&amp;gt;about;
		cout &amp;lt;&amp;lt; &amp;quot;fullName: &amp;quot; &amp;lt;&amp;lt; AboutInfo-&amp;gt;fullName &amp;lt;&amp;lt; endl;
		cout &amp;lt;&amp;lt; &amp;quot;  name: &amp;quot; &amp;lt;&amp;lt; AboutInfo-&amp;gt;name &amp;lt;&amp;lt; endl;
		cout &amp;lt;&amp;lt; &amp;quot;  build: &amp;quot; &amp;lt;&amp;lt; AboutInfo-&amp;gt;build &amp;lt;&amp;lt; endl;
		cout &amp;lt;&amp;lt; &amp;quot;  version: &amp;quot; &amp;lt;&amp;lt; AboutInfo-&amp;gt;version &amp;lt;&amp;lt; endl;
		cout &amp;lt;&amp;lt; &amp;quot;  apiType: &amp;quot; &amp;lt;&amp;lt; AboutInfo-&amp;gt;apiType &amp;lt;&amp;lt; endl;
		cout &amp;lt;&amp;lt; &amp;quot;  productLineId: &amp;quot; &amp;lt;&amp;lt; AboutInfo-&amp;gt;productLineId &amp;lt;&amp;lt; endl;
	}
	
	delete ManagedObjectRef.type;
	
	soap_done(vim.soap);
	soap_end(vim.soap);
	
	return 0;
	
}
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;hr /&gt;
Thank you very much for your response.  I am looking forward to reading your C++/gsoap "Getting Started" tutorial.   I will try working with the template code you provided, but I first tried adding login capability to my original test program.  My program (test.cpp) now looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
#include &amp;lt;cstdlib&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include "soapH.h"&lt;br /&gt;
#include "VimBinding.nsmap"&lt;br /&gt;
#include "soapVimBindingProxy.h"&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
  VimBindingProxy service;&lt;br /&gt;
  ns2__ManagedObjectReference mor;&lt;br /&gt;
&lt;p /&gt;
  service.soap_endpoint = "http://&amp;lt;ip address&amp;gt;:443/sdk";&lt;br /&gt;
&lt;br /&gt;
  // Invoke Login API&lt;br /&gt;
  ns2__LoginRequestType login_request;&lt;br /&gt;
  _ns2__LoginResponse   login_response;&lt;br /&gt;
  login_request._USCOREthis = &amp;mor;&lt;br /&gt;
  login_request.userName = "root"; &lt;br /&gt;
  login_request.password = "&amp;lt;my root passwd&amp;gt;";&lt;br /&gt;
&lt;br /&gt;
  if (service.Login(&amp;#38;login_request, &amp;#38;login_response) == SOAP_OK) {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; "login ok" &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  } &lt;br /&gt;
  else {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; "login not ok" &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    service.soap_print_fault(stdout);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Invoke RetrieveServiceContent API &lt;br /&gt;
  ns2__RetrieveServiceContentRequestType service_request;&lt;br /&gt;
 _ns2__RetrieveServiceContentResponse service_response;&lt;br /&gt;
  service_request._USCOREthis = &amp;mor;&lt;br /&gt;
&lt;br /&gt;
  if (service.RetrieveServiceContent(&amp;#38;service_request, &amp;#38;service_response) == SOAP_OK) {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; "retrieve ok" &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  } &lt;br /&gt;
  else {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; "retrieve not ok" &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    service.soap_print_fault(stdout);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;hr /&gt;
&lt;br /&gt;
This is how I compiled the code:&lt;br /&gt;
&lt;br /&gt;
ashok@ashok-desktop:g++  -DWITH_OPENSSL -DWITH_COOKIES test.cpp soapC.cpp soapVimBindingProxy.cpp /home/ashok/gsoap-2.7/gsoap/stdsoap2.cpp -lssl -lcrypto&lt;br /&gt;
&lt;br /&gt;
Unfortunately, I get both "not ok" messages when I run the executable.   Looking at this code, is it obvious to you what I'm not doing correctly?&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
Ashok&lt;br /&gt;
&lt;hr /&gt;
You'll need your ServiceContent first.  You'll need it for most of the method calls against the SDK and should get it first.  You also need to do a bit more setup on the ManagedObject reference.&lt;br /&gt;
&lt;br /&gt;
You should setup the ManagedObjectReference with the "ServiceInstance" string.  I updated it below.  Call this before the login, you'll need the ServiceContent response for login.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;// Invoke RetrieveServiceContent API 
ns2__RetrieveServiceContentRequestType service_request;
_ns2__RetrieveServiceContentResponse service_response;

mor.__item = &amp;quot;ServiceInstance&amp;quot;;
mor.type = new string(&amp;quot;ServiceInstance&amp;quot;);
service_request._USCOREthis = &amp;amp;mor;

if (service.RetrieveServiceContent(&amp;#38;service_request, &amp;#38;service_response) == SOAP_OK) 
{
    std::cout &amp;lt;&amp;lt; &amp;quot;retrieve ok&amp;quot; &amp;lt;&amp;lt; std::endl;
} 
else 
{
   std::cout &amp;lt;&amp;lt; &amp;quot;retrieve not ok&amp;quot; &amp;lt;&amp;lt; std::endl;
   service.soap_print_fault(stdout);
}

delete mor.type;
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
The login function is from the SessionManager object, so you'll need that to set up your Login call:&lt;br /&gt;
&lt;p /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;
ns2__ServiceContent *ServiceContent;
ServiceContent = service_response.returnval;

// Invoke Login API
ns2__LoginRequestType login_request;
_ns2__LoginResponse login_response;

login_request._USCOREthis = ServiceContent-&amp;gt;sessionManager;
login_request.userName = &amp;quot;root&amp;quot;; 
login_request.password = &amp;quot;&amp;lt;my root passwd&amp;gt;&amp;quot;;

if (service.Login(&amp;#38;login_request, &amp;#38;login_response) == SOAP_OK) 
{
    std::cout &amp;lt;&amp;lt; &amp;quot;login ok&amp;quot; &amp;lt;&amp;lt; std::endl;
} 
else 
{
    std::cout &amp;lt;&amp;lt; &amp;quot;login not ok&amp;quot; &amp;lt;&amp;lt; std::endl;
    service.soap_print_fault(stdout);
}
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;hr /&gt;
I finally got your test program (from your prior post) to build and run properly.  Thanks so much for your help! In case anyone is interested, here are the exact sequence of steps I took to get things working.  Note that I have installed both gsoap-2.7 and the VI SDK in my home directory /home/ashok:&lt;br /&gt;
&lt;br /&gt;
1) Copy over the vim25 WSDL file:&lt;br /&gt;
    cp /home/ashok/vi_sdk/SDK/wsdl/vim25/vim.wsdl .&lt;br /&gt;
&lt;br /&gt;
2) Build .h and .cpp files from WSDL:&lt;br /&gt;
    wsdl2h -o vim25.h vim.wsdl&lt;br /&gt;
    soapcpp2 -x -C vim25.h -I/home/ashok/gsoap-2.7/gsoap/import&lt;br /&gt;
&lt;br /&gt;
3) Put test program in file test.cpp&lt;br /&gt;
&lt;br /&gt;
4) Build executable:&lt;br /&gt;
    g++ -DWITH_OPENSSL -DWITH_COOKIES test.cpp soapC.cpp soapClient.cpp /home/ashok/gsoap-2.7/gsoap/stdsoap2.cpp -lssl -lcrypto&lt;br /&gt;
&lt;br /&gt;
5) Run executable&lt;br /&gt;
&lt;br /&gt;
ashok@ashok-desktop:~/vi_gsoap$ ./a.out &lt;a class="jive-link-external" href="https://"&gt;https://&lt;/a&gt;&amp;lt;ip addr&amp;gt;:443/sdk&lt;br /&gt;
RetrieveServiceContent - OK&lt;br /&gt;
fullName: VMware ESX Server 3.5.0 build-123630&lt;br /&gt;
  name: VMware ESX Server&lt;br /&gt;
  build: 123630&lt;br /&gt;
  version: 3.5.0&lt;br /&gt;
  apiType: HostAgent&lt;br /&gt;
  productLineId: esx&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
I can use the property collector to get the ManagedObjectReference corresponding to a specific VirtualMachine.  However, I'm having trouble getting the MOR corresponding to a snapshot of the VM.  Given the name of a VM and the name of a snapshot within the VM, could you please tell me the general algorithm I need to follow to get a hold of the ManagedObjectReference for this snapshot?&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
Thanks&lt;br /&gt;
&lt;p /&gt;
Ashok&lt;hr /&gt;
If you're getting your VM ManagedObject from RetrieveProperties, you should also just get the &lt;b&gt;snapshot&lt;/b&gt; property.  The &lt;b&gt;currentSnapshot&lt;/b&gt; from this property will have a ManagedObjectReference to the snapshot.  You can use this to the snapshot task methods or you can RetrieveProperties again to get the snapshot info.&lt;br /&gt;
&lt;br /&gt;
I might be able to get you some code examples in a bit.&lt;br /&gt;
&lt;hr /&gt;
Stumpr&lt;br /&gt;
&lt;p /&gt;
Sorry to bother you with more questions.  So I have no problems using the PropertyCollector to iterate over all the VirtualMachine objects.  For each VM object, I can easily grab the Snapshot MORs associated with it as well as get info about all the virtual disk files that comprise the VM.  What I would like to do now is to use the PropertyCollector to iterate over all the Datastore objects and for each Datastore, find out which VirtualMachines map to the datastore.  I took your original traversal code and modified it slightly (I changed the datacenter traversal path and propertyspec type).  My changes are marked with ***:&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
FolderTraversalSelectionSpec.name = new string("FolderTraversalSpec");&lt;br /&gt;
DataCenterVMTraversalSelectionSpec.name = new string("DataCenterVMTraversalSpec");&lt;br /&gt;
&lt;br /&gt;
DataCenterVMTraversalSpec.name = new string("DataCenterVMTraversalSpec");&lt;br /&gt;
DataCenterVMTraversalSpec.type = "Datacenter";&lt;br /&gt;
DataCenterVMTraversalSpec.path = "datastoreFolder";      ***&lt;br /&gt;
DataCenterVMTraversalSpec.skip = &amp;#38;xsd_true;&lt;br /&gt;
&lt;br /&gt;
FolderTraversalSpec.name = new string("FolderTraversalSpec");&lt;br /&gt;
FolderTraversalSpec.type = "Folder";&lt;br /&gt;
FolderTraversalSpec.path = "childEntity";&lt;br /&gt;
FolderTraversalSpec.skip = &amp;#38;xsd_true;&lt;br /&gt;
&lt;br /&gt;
DataCenterVMTraversalSpec.selectSet.push_back(&amp;#38;FolderTraversalSelectionSpec);&lt;br /&gt;
FolderTraversalSpec.selectSet.push_back(&amp;#38;DataCenterVMTraversalSelectionSpec);&lt;br /&gt;
FolderTraversalSpec.selectSet.push_back(&amp;#38;FolderTraversalSelectionSpec);&lt;br /&gt;
&lt;br /&gt;
PropertySpec.type = "Datastore";   ***&lt;br /&gt;
PropertySpec.all = &amp;#38;xsd_true;        ***&lt;br /&gt;
&lt;br /&gt;
ObjectSpec.obj = ServiceContent-&amp;gt;rootFolder;&lt;br /&gt;
ObjectSpec.skip = &amp;#38;xsd_true;&lt;br /&gt;
&lt;br /&gt;
ObjectSpec.selectSet.push_back(&amp;#38;FolderTraversalSpec);&lt;br /&gt;
ObjectSpec.selectSet.push_back(&amp;#38;DataCenterVMTraversalSpec);&lt;br /&gt;
&lt;br /&gt;
PropertyFilterSpec.propSet.push_back(&amp;#38;PropertySpec);&lt;br /&gt;
PropertyFilterSpec.objectSet.push_back(&amp;#38;ObjectSpec);&lt;br /&gt;
&lt;br /&gt;
RetrievePropertiesReq._USCOREthis = ServiceContent-&amp;gt;propertyCollector;&lt;br /&gt;
RetrievePropertiesReq.specSet.push_back(&amp;#38;PropertyFilterSpec);&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
When I invoke the RetrieveProperties function:&lt;br /&gt;
&lt;br /&gt;
if ( vim.__ns1__RetrieveProperties(&amp;#38;RetrievePropertiesReq, &amp;#38;RetrievePropertiesRes) == SOAP_OK )&lt;br /&gt;
&lt;br /&gt;
the ESX server responds with a fault:&lt;br /&gt;
&lt;br /&gt;
SOAP 1.1 fault: "":ServerFaultCode &lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=2416&amp;subject=no+subcode"&gt;no subcode&lt;/a&gt;&lt;br /&gt;
""&lt;br /&gt;
Detail: &lt;br /&gt;
&lt;p /&gt;
Is this something you have seen before?&lt;br /&gt;
Thanks&lt;br /&gt;
Ashok&lt;br /&gt;
&lt;hr /&gt;
I don't think there is a folder for the Datastore.  You will probably need to just do your call to get the Datacenter object(s) and then enumerate their datastores...using the string "datastoreFolder" is likely the cause of your serverFaultCode.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;FolderTraversalSelectionSpec.name = new string(&amp;quot;FolderTraversalSpec&amp;quot;);
DataCenterVMTraversalSelectionSpec.name = new string(&amp;quot;DataCenterVMTraversalSpec&amp;quot;);

DataCenterVMTraversalSpec.name = new string(&amp;quot;DataCenterVMTraversalSpec&amp;quot;);
DataCenterVMTraversalSpec.type = &amp;quot;Datacenter&amp;quot;;
DataCenterVMTraversalSpec.path = &amp;quot;vmFolder&amp;quot;; // Change this back
DataCenterVMTraversalSpec.skip = &amp;#38;xsd_true;

FolderTraversalSpec.name = new string(&amp;quot;FolderTraversalSpec&amp;quot;);
FolderTraversalSpec.type = &amp;quot;Folder&amp;quot;;
FolderTraversalSpec.path = &amp;quot;childEntity&amp;quot;;
FolderTraversalSpec.skip = &amp;#38;xsd_true;

DataCenterVMTraversalSpec.selectSet.push_back(&amp;#38;FolderTraversalSelectionSpec);
FolderTraversalSpec.selectSet.push_back(&amp;#38;DataCenterVMTraversalSelectionSpec);
FolderTraversalSpec.selectSet.push_back(&amp;#38;FolderTraversalSelectionSpec);

PropertySpec.type = &amp;quot;Datacenter&amp;quot;; // Change this to Datacenter
PropertySpec.all = &amp;#38;xsd_false; // Change this to false, just get the Datastore property -- will be faster
PropertySpec.pathSet.push_back(&amp;quot;name&amp;quot;); // Get the name in case you have multiple datacenters in your inventory
PropertySpec.pathSet.push_back(&amp;quot;datastore&amp;quot;); // Get the datastore property

ObjectSpec.obj = ServiceContent-&amp;gt;rootFolder;
ObjectSpec.skip = &amp;#38;xsd_true;

ObjectSpec.selectSet.push_back(&amp;#38;FolderTraversalSpec);
ObjectSpec.selectSet.push_back(&amp;#38;DataCenterVMTraversalSpec);

PropertyFilterSpec.propSet.push_back(&amp;#38;PropertySpec);
PropertyFilterSpec.objectSet.push_back(&amp;#38;ObjectSpec);

RetrievePropertiesReq._USCOREthis = ServiceContent-&amp;gt;propertyCollector;
RetrievePropertiesReq.specSet.push_back(&amp;#38;PropertyFilterSpec);
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;p /&gt;
You can read up on TraversalSpecs in the VI SDK Programming guide.  I sort of take the lazy method of just using a sort of 'generic all' TraversalSpec, but you'll want to review it to understand what inventory objects you can query that way.&lt;br /&gt;
&lt;br /&gt;
What will really start to drive you crazy is when you have to deal with the DynamicProperty data type you get back from your calls.  You'll end up with a lot of conditional code using either dynamic_cast or typeid calls.  I've been thinking of creating a class, say Entity, that would parse the properties data and build a hash_map similar to how the perl toolkit get_view* and find_entity_view* calls work.&lt;br /&gt;
&lt;hr /&gt;
Thank you very much.  I'll give this a try and let you know what happens.  What I find confusing is that when I access the MOB for my ESX server over the web, I see that the Datacenter object type has a property called 'datastoreFolder' and the value of this property is 'ha-folder-datastore'.  &lt;br /&gt;
&lt;br /&gt;
One other thing: I have created 2 VMs on two different ESX servers -- one runs ESX Server 3.5 and the other runs the 4.0 Beta.  I can successfully issue a PowerOn command to the ESX 4.0 server using the call: vim-&amp;gt;__ns1__PowerOnVM(&amp;#38;powerOnReq, &amp;#38;powerOnRes)  (where the powerOnReq object contains a pointer to the VM MOR corresponding to the VM I created).  However, when I issue the same command to the ESX 3.5 server, I get the SOAP_FAULT error that I reported previously:&lt;br /&gt;
&lt;br /&gt;
SOAP 1.1 fault: "":ServerFaultCode no subcode&lt;br /&gt;
""&lt;br /&gt;
Detail: &lt;br /&gt;
&lt;br /&gt;
I am certain I am accessing the VM MOR properly on the ESX 3.5 server because I can print out the correct properties of this machine.  I just can't power it on/off, take snapshots, etc.  Do you have any idea why the 3.5 server won't allow me to issue these commands?  Could it be some kind of permission issue?&lt;br /&gt;
&lt;br /&gt;
ashok&lt;br /&gt;
&lt;hr /&gt;
Could be, do you have full admin rights on 3.5?&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
Hi Ashok,&lt;br /&gt;
&lt;p /&gt;
Let me try to understand what you did with the ESX server, you call the following line of code but supplied a MOR to your host. Am I right? &lt;br /&gt;
&lt;p /&gt;
&lt;span class="jive-thread-reply-body-container"&gt;vim-&amp;gt;__ns1__PowerOnVM(&amp;#38;powerOnReq, &amp;#38;powerOnRes) &lt;br /&gt;
&lt;p /&gt;
If so, you for sure got the error message. Basically the PowerOnVM is only applicable for the virtual machine managed object. If you want to power on a host, you want to use... Wait a second, you cannot power on a host using VI SDK at all. But if you want to power it off, then you can use ShutdownHost_Task() method. Check out more @ &lt;a class="jive-link-external" href="http://pubs.vmware.com/vi-sdk/visdk250/ReferenceGuide/vim.HostSystem.html"&gt;http://pubs.vmware.com/vi-sdk/visdk250/ReferenceGuide/vim.HostSystem.html&lt;/a&gt;&lt;br /&gt;
&lt;p /&gt;
Final note, if you use higher level API like VI Java API, you will not get this problem at all. The compile will enforce the type checking. Find it more at &lt;a class="jive-link-external" href="http://vijava.sf.net"&gt;http://vijava.sf.net&lt;/a&gt;. &lt;br /&gt;
&lt;p /&gt;
Steve JIN, VMware Engineering&lt;br /&gt;
Creator of &lt;a class="jive-link-external" href="http://vijava.sf.net"&gt;VMware Infrastructure Java(Jython) API&lt;/a&gt;. VI Java API 2.0 --- 15 times faster than AXIS in loading, 4+ faster in deserialization; only 1/4 of the size required by AXIS. More importantly, the freedom to redistribute it with your applications. (&lt;a class="jive-link-external" href="http://sourceforge.net/project/showfiles.php?group_id=228007"&gt;Download&lt;/a&gt;, &lt;a class="jive-link-external" href="http://vijava.svn.sourceforge.net/viewvc/vijava/trunk/src/com/vmware/vim25/mo/samples/"&gt;Samples&lt;/a&gt;, &lt;a class="jive-link-external" href="http://vijava.wiki.sourceforge.net/"&gt;DocWiki&lt;/a&gt;, &lt;a class="jive-link-external" href="http://sourceforge.net/export/rss2_projnews.php?group_id=228007"&gt;RSS Feed&lt;/a&gt;)&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.linkedin.com/groups?gid=1817385"&gt;Get Connected with Other Developers in the Community?&lt;/a&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;hr /&gt;
I didn't get that impression.  He stated he had a moref from a VM he created (and used it to populate his PowerOnReq object), then got a fault only when trying to power on the VM on an ESX 3.5 server, his beta 4 worked properly.  If it isn't a permission issue Ashok, post up some code.  Might be able to see if there is anything off in the call.&lt;br /&gt;
&lt;hr /&gt;
I wasn't sure what he did... You are right, sharing more code definitely helps.&lt;br /&gt;
&lt;br /&gt;
Steve JIN, VMware Engineering&lt;br /&gt;
Creator of &lt;a class="jive-link-external" href="http://vijava.sf.net"&gt;VMware Infrastructure Java(Jython) API&lt;/a&gt;. VI Java API 2.0 --- 15 times faster than AXIS in loading, 4+ faster in deserialization; only 1/4 of the size required by AXIS. More importantly, the freedom to redistribute it with your applications. (&lt;a class="jive-link-external" href="http://sourceforge.net/project/showfiles.php?group_id=228007"&gt;Download&lt;/a&gt;, &lt;a class="jive-link-external" href="http://vijava.svn.sourceforge.net/viewvc/vijava/trunk/src/com/vmware/vim25/mo/samples/"&gt;Samples&lt;/a&gt;, &lt;a class="jive-link-external" href="http://vijava.wiki.sourceforge.net/"&gt;DocWiki&lt;/a&gt;, &lt;a class="jive-link-external" href="http://sourceforge.net/export/rss2_projnews.php?group_id=228007"&gt;RSS Feed&lt;/a&gt;)&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.linkedin.com/groups?gid=1817385"&gt;Get Connected with Other Developers in the Community?&lt;/a&gt;&lt;br /&gt;
&lt;hr /&gt;
Steve and stumpr:&lt;br /&gt;
&lt;br /&gt;
(stumpr: what is your real name by the way?)&lt;br /&gt;
&lt;br /&gt;
I am attaching the small test program that I've been using to power on / power off a specified VM.  To recap, I can use this program to manipulate a VM on an ESX 4.0 beta server, but not a VM on an ESX 3.5 server.  I am pretty certain that this has nothing to do with permissions on the 3.5 server.  The reason for this is that I can powerOn/powerOff a VM on the ESX 3.5 machine using the Java sample program VMpowerOps.java, but I cannot do this with my C++ program.  In both programs, I login using the same username ("root") and password.   &lt;br /&gt;
&lt;br /&gt;
Here is the command I issue to get the Java program working (note that I use the "--ignorecert" option):&lt;br /&gt;
&lt;br /&gt;
ashok@ashok-ubuntu-vm:~/vi_sdk/SDK/samples/Axis/java$ ./run.sh com.vmware.samples.vm.VMpowerOps --url &lt;a class="jive-link-external" href="https://"&gt;https://&lt;/a&gt;&amp;lt;ip address&amp;gt;:443/sdk/vimService --username root --password &amp;lt;my password&amp;gt; --vmname ashok_linux_1 --operation poweroff --ignorecert&lt;br /&gt;
./run.sh: 48: pushd: not found&lt;br /&gt;
RUNNING&lt;br /&gt;
&lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=2416&amp;subject=+Sun+Mar+22+00%3A20%3A26+PDT+2009+"&gt; Sun Mar 22 00:20:26 PDT 2009 &lt;/a&gt; Begin Log.&lt;br /&gt;
Started &lt;br /&gt;
Powering off virtualmachine 'ashok_linux_1'&lt;br /&gt;
Virtual Machine ashok_linux_1 powered off successfuly&lt;br /&gt;
Ended VMpowerOps&lt;br /&gt;
&lt;p /&gt;
Why would the powerOn/powerOff operation work correctly from the Java application, but not the C++ app?&lt;br /&gt;
&lt;hr /&gt;
It's sort of an issue with the gsoap code generation, but I found an answer after a comparing a few packet captures.&lt;br /&gt;
&lt;br /&gt;
So there are actually two functions created after parsing the VMware vim25 wsdl matching PowerOnVM.  One is the &lt;b&gt;PowerOnVM&lt;/b&gt; function you used.  However, this will send the method name to the VIM instance as &lt;b&gt;PowerOnVM&lt;/b&gt; which is the VIM service returns as unsupported.  This in turn generates the fault code you were seeing.&lt;br /&gt;
&lt;br /&gt;
There is another function, &lt;b&gt;PowerOnVM_USCORETask&lt;/b&gt;.  You'll need to use this version (and I suspect you'll need it for every _Task function).  This will create the soap envelope with the function name as the VIM service expects.&lt;br /&gt;
&lt;br /&gt;
I'm guessing that Beta 4 either is supports both (or just PowerOnVM).&lt;br /&gt;
&lt;br /&gt;
It's actually an easy fix.&lt;br /&gt;
&lt;br /&gt;
Update your powerVM function to match the following: (I put a "This line has changed" comment at the end of each line I changed)&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-plain"&gt;static void
powerVM(VimBinding* vim, ns1__ServiceContent* serviceContent,
	string vm_name, bool powerOn) {

  ns1__ManagedObjectReference* vm_mor = 
    getVMManagedObjectRef(vim, serviceContent, vm_name);

  if (powerOn) {
    // Power-on the Virtual Machine.
    ns1__PowerOnVMRequestType powerOnReq;
    _ns1__PowerOnVM_USCORETaskResponse powerOnRes; // This line is changed
    
    powerOnReq._USCOREthis = vm_mor;
    if (vim-&amp;gt;__ns1__PowerOnVM_USCORETask(&amp;#38;powerOnReq, &amp;#38;powerOnRes) == SOAP_OK) { // This line is changed
      cout &amp;lt;&amp;lt; &amp;quot;PowerOn of VM &amp;quot; &amp;lt;&amp;lt; vm_name &amp;lt;&amp;lt; &amp;quot; successful&amp;quot; &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;
    }
    else {
      cout &amp;lt;&amp;lt; &amp;quot;PowerOn of VM &amp;quot; &amp;lt;&amp;lt; vm_name &amp;lt;&amp;lt; &amp;quot; unsuccessful&amp;quot; &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;
      soap_print_fault(vim-&amp;gt;soap,stderr);
      soap_done(vim-&amp;gt;soap);
      soap_end(vim-&amp;gt;soap);
      exit(1);
    }
  }
  else {
    // Power-off the Virtual Machine.
    ns1__PowerOffVMRequestType powerOffReq;
    _ns1__PowerOffVM_USCORETaskResponse powerOffRes;  // This line is changed
    
    powerOffReq._USCOREthis = vm_mor;
    if (vim-&amp;gt;__ns1__PowerOffVM_USCORETask(&amp;#38;powerOffReq, &amp;#38;powerOffRes) == SOAP_OK) { // This line is changed
      cout &amp;lt;&amp;lt; &amp;quot;PowerOff of VM &amp;quot; &amp;lt;&amp;lt; vm_name &amp;lt;&amp;lt; &amp;quot; successful&amp;quot; &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;
    }
    else {
      cout &amp;lt;&amp;lt; &amp;quot;PowerOff of VM &amp;quot; &amp;lt;&amp;lt; vm_name &amp;lt;&amp;lt; &amp;quot; unsuccessful&amp;quot; &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;
      soap_print_fault(vim-&amp;gt;soap,stderr);
      soap_done(vim-&amp;gt;soap);
      soap_end(vim-&amp;gt;soap);
      exit(1);
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
I just verified that using the PowerOnVM_USCORETask function on the ESX 3.5 server works fine, thanks for your help!  I will let you know if I run into any problems with the datastore object retrieval.&lt;br /&gt;
&lt;p /&gt;
I'm curious as  to why  gsoap generates both PowerOnVM and PowerOnVM_USCORETask functions.  It seems that we should always use the latter function.  When would one use the former?&lt;br /&gt;
&lt;p /&gt;
 Ashok&lt;hr /&gt;
Well, both are defined in the WSDL.  In fact, the PowerOnVM worked for Beta 4 right?&lt;br /&gt;
&lt;br /&gt;
They may have it in there as a place holder or just not have gotten around to implementing that version on the server side.  Don't know.  Does the PowerOnVM_Task work on Beta 4 as well?  I don't have a b4 system to test against.&lt;br /&gt;
&lt;hr /&gt;
Stumpr is right that both methods are there in the WSDL. In the API ref, you only see the *_Task version. Please stick with the *_Task() since the * version may go away.&lt;br /&gt;
&lt;br /&gt;
Steve JIN, VMware Engineering&lt;br /&gt;
Creator of &lt;a class="jive-link-external" href="http://vijava.sf.net/"&gt;VMware Infrastructure Java(Jython) API&lt;/a&gt;. VI Java API 2.0 --- 15 times faster than AXIS in loading, 4+ faster in deserialization; only 1/4 of the size required by AXIS. More importantly, the freedom to redistribute it with your applications. (&lt;a class="jive-link-external" href="http://sourceforge.net/project/showfiles.php?group_id=228007"&gt;Download&lt;/a&gt;, &lt;a class="jive-link-external" href="http://vijava.svn.sourceforge.net/viewvc/vijava/trunk/src/com/vmware/vim25/mo/samples/"&gt;Samples&lt;/a&gt;, &lt;a class="jive-link-external" href="http://vijava.wiki.sourceforge.net/"&gt;DocWiki&lt;/a&gt;, &lt;a class="jive-link-external" href="http://sourceforge.net/export/rss2_projnews.php?group_id=228007"&gt;RSS Feed&lt;/a&gt;)&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.linkedin.com/groups?gid=1817385"&gt;Get Connected with Other Developers in the Community?&lt;/a&gt;&lt;br /&gt;
&lt;hr /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
I have followed the same steps listed in this thread to traverse Managed objects to get the list of VMs in my  C++ client with gsoap.&lt;br /&gt;
Login happened successfully. But RetrieveProperties()  is returning zero objects.&lt;br /&gt;
&lt;br /&gt;
(I am using ESX server 3.5.)&lt;br /&gt;
&lt;br /&gt;
The following message appears in /var/log/vmware/hostd.log, whenever I run my client.&lt;br /&gt;
&lt;br /&gt;
&lt;strike&gt;2009-05-13 04:24:49.542 'ha-eventmgr' 29846448 info&lt;/strike&gt; Event 10 : User root@127.0.0.1 logged in&lt;br /&gt;
&lt;strike&gt;2009-05-13 04:24:49.554 'App' 14834608 error&lt;/strike&gt; _FetchPropertyPath got unexpected error of type N3Vim5Fault16NotAuthenticated9ExceptionE: vim.fault.NotAuthenticated, for ref=ha-folder-root, path=childEntity&lt;br /&gt;
&lt;strike&gt;2009-05-13 04:24:49.564 'Vmomi' 3076436896 info&lt;/strike&gt; Activation &lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=2416&amp;subject=N5Vmomi10ActivationE%3A0xae06200"&gt;N5Vmomi10ActivationE:0xae06200&lt;/a&gt; : Invoke done &lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=2416&amp;subject=logout"&gt;logout&lt;/a&gt; on &lt;strike&gt;vim.SessionManager:ha-sessionmgr&lt;/strike&gt;&lt;br /&gt;
&lt;strike&gt;2009-05-13 04:24:49.565 'Vmomi' 3076436896 info&lt;/strike&gt; Throw vim.fault.NotAuthenticated&lt;br /&gt;
&lt;strike&gt;2009-05-13 04:24:49.565 'Vmomi' 3076436896 info&lt;/strike&gt; Result:&lt;br /&gt;
(vim.fault.NotAuthenticated) {&lt;br /&gt;
   dynamicType = &amp;lt;unset&amp;gt;, &lt;br /&gt;
   object = 'vim.SessionManager:ha-sessionmgr', &lt;br /&gt;
   privilegeId = "System.View", &lt;br /&gt;
   msg = ""&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
The client code is:&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;sstream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include "visdkH.h"&lt;br /&gt;
#include "visdkStub.h"&lt;br /&gt;
#include "VimBinding.nsmap"&lt;br /&gt;
#include &amp;lt;assert.h&amp;gt;&lt;br /&gt;
#include &amp;lt;typeinfo&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
struct soap *soap;&lt;br /&gt;
ostringstream server;&lt;br /&gt;
&lt;br /&gt;
void sigpipe_handle(int x) { &lt;br /&gt;
  cout &amp;lt;&amp;lt; "sigpipe: " &amp;lt;&amp;lt; x &amp;lt;&amp;lt; endl; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int getCurrentVMMob(sduvisdk2__ServiceContent *ServiceContent) {&lt;br /&gt;
&lt;br /&gt;
    sduvisdk2__TraversalSpec DatacenterToVmFolderTraversalSpec, FolderToChildEntityTraversalSpec;&lt;br /&gt;
    sduvisdk2__SelectionSpec DatacenterToVmFolderSelectionSpec, FolderToChildEntitySelectionSpec;&lt;br /&gt;
&lt;p /&gt;
    sduvisdk2__PropertySpec propertySpec;&lt;br /&gt;
    sduvisdk2__ObjectSpec objectSpec;&lt;br /&gt;
    sduvisdk2__PropertyFilterSpec propertyFilterSpec;&lt;br /&gt;
    sduvisdk2__DynamicProperty dynamicProperty;&lt;br /&gt;
&lt;br /&gt;
    sduvisdk2__RetrievePropertiesRequestType retrievePropertiesReq;&lt;br /&gt;
    _sduvisdk2__RetrievePropertiesResponse retrievePropertiesRes;&lt;br /&gt;
    sduvisdk2__ManagedObjectReference* vm_mor = NULL;&lt;br /&gt;
&lt;p /&gt;
    bool xsd_true = 1;&lt;br /&gt;
    bool xsd_false = 0;&lt;br /&gt;
&lt;p /&gt;
    FolderToChildEntitySelectionSpec.name = new string("DatacenterToVmFolderTraversalSpec");&lt;br /&gt;
    DatacenterToVmFolderSelectionSpec.name = new string("FolderToChildEntityTraversalSpec");&lt;br /&gt;
&lt;p /&gt;
    DatacenterToVmFolderTraversalSpec.name = new string("DatacenterToVmFolderTraversalSpec");&lt;br /&gt;
    DatacenterToVmFolderTraversalSpec.type = "Datacenter";&lt;br /&gt;
    DatacenterToVmFolderTraversalSpec.path = "vmFolder";&lt;br /&gt;
    DatacenterToVmFolderTraversalSpec.skip = &amp;#38;xsd_true;&lt;br /&gt;
&lt;p /&gt;
    FolderToChildEntityTraversalSpec.name = new string("FolderToChildEntityTraversalSpec");&lt;br /&gt;
    FolderToChildEntityTraversalSpec.type = "Folder";&lt;br /&gt;
    FolderToChildEntityTraversalSpec.path = "childEntity";&lt;br /&gt;
    FolderToChildEntityTraversalSpec.skip = &amp;#38;xsd_true;&lt;br /&gt;
&lt;p /&gt;
    DatacenterToVmFolderTraversalSpec.selectSet.push_back(&amp;#38;FolderToChildEntitySelectionSpec);&lt;br /&gt;
    FolderToChildEntityTraversalSpec.selectSet.push_back(&amp;#38;DatacenterToVmFolderSelectionSpec);&lt;br /&gt;
    FolderToChildEntityTraversalSpec.selectSet.push_back(&amp;#38;FolderToChildEntitySelectionSpec);&lt;br /&gt;
&lt;p /&gt;
    propertySpec.type = "VirtualMachine";&lt;br /&gt;
    propertySpec.all = &amp;#38;xsd_false;&lt;br /&gt;
    propertySpec.pathSet.push_back("name");&lt;br /&gt;
&lt;p /&gt;
    objectSpec.obj = ServiceContent-&amp;gt;rootFolder;&lt;br /&gt;
    objectSpec.skip = &amp;#38;xsd_true;&lt;br /&gt;
&lt;p /&gt;
    objectSpec.selectSet.push_back(&amp;#38;FolderToChildEntityTraversalSpec);&lt;br /&gt;
    objectSpec.selectSet.push_back(&amp;#38;DatacenterToVmFolderTraversalSpec);&lt;br /&gt;
&lt;p /&gt;
    propertyFilterSpec.propSet.push_back(&amp;#38;propertySpec);&lt;br /&gt;
    propertyFilterSpec.objectSet.push_back(&amp;#38;objectSpec);&lt;br /&gt;
&lt;p /&gt;
    retrievePropertiesReq._USCOREthis = ServiceContent-&amp;gt;propertyCollector;&lt;br /&gt;
    retrievePropertiesReq.specSet.push_back(&amp;#38;propertyFilterSpec);&lt;br /&gt;
&lt;br /&gt;
    soap_call___sduvisdk2__RetrieveProperties(soap, server.str().c_str(), "",&lt;br /&gt;
                                              &amp;#38;retrievePropertiesReq, &amp;#38;retrievePropertiesRes);&lt;br /&gt;
&lt;br /&gt;
    if (soap-&amp;gt;error) {&lt;br /&gt;
        soap_print_fault(soap, stderr);&lt;br /&gt;
        goto end_of_function; &lt;br /&gt;
    } &lt;br /&gt;
&lt;p /&gt;
    cout &amp;lt;&amp;lt; "Retrieved Properties: " &amp;lt;&amp;lt; retrievePropertiesRes.returnval.size() &amp;lt;&amp;lt; "\n";&lt;br /&gt;
&lt;p /&gt;
    for (unsigned int i = 0; i &amp;lt; retrievePropertiesRes.returnval.size(); i++) {&lt;br /&gt;
      dynamicProperty = *retrievePropertiesRes.returnval&lt;i&gt;-&amp;gt;propSet[0];&lt;br /&gt;
&lt;p /&gt;
      assert(dynamicProperty.name == "name");&lt;br /&gt;
      xsd__string* name = (xsd__string*) dynamicProperty.val;&lt;br /&gt;
&lt;br /&gt;
      cout &amp;lt;&amp;lt; "VM name: " &amp;lt;&amp;lt; name-&amp;gt;__item &amp;lt;&amp;lt; endl;	&lt;br /&gt;
    }&lt;br /&gt;
end_of_function:&lt;br /&gt;
    delete FolderToChildEntitySelectionSpec.name;&lt;br /&gt;
    delete FolderToChildEntityTraversalSpec.name;&lt;br /&gt;
    delete DatacenterToVmFolderSelectionSpec.name;&lt;br /&gt;
    delete DatacenterToVmFolderTraversalSpec.name;&lt;br /&gt;
&lt;p /&gt;
    return soap-&amp;gt;error;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    int ret = 0;&lt;br /&gt;
    sduvisdk2__RetrieveServiceContentRequestType SvcCont;&lt;br /&gt;
    _sduvisdk2__RetrieveServiceContentResponse Response;&lt;br /&gt;
&lt;p /&gt;
    sduvisdk2__ManagedObjectReference *Mobj;&lt;br /&gt;
    sduvisdk2__ServiceContent *sc;&lt;br /&gt;
&lt;p /&gt;
    sduvisdk2__LoginRequestType login;&lt;br /&gt;
    _sduvisdk2__LoginResponse loginResponse;&lt;br /&gt;
&lt;p /&gt;
    sduvisdk2__LogoutRequestType logout;&lt;br /&gt;
    _sduvisdk2__LogoutResponse logoutResponse;&lt;br /&gt;
&lt;p /&gt;
    sduvisdk2__AboutInfo *about;  &lt;br /&gt;
    sduvisdk2__UserSession *returnval = NULL;&lt;br /&gt;
&lt;br /&gt;
    if (argc != 4) {&lt;br /&gt;
        cout &amp;lt;&amp;lt; "Usage: " &amp;lt;&amp;lt; argv[0] &amp;lt;&amp;lt; " &amp;lt;ESX-server-IP&amp;gt; &amp;lt;user&amp;gt; &amp;lt;passwd&amp;gt;\n";&lt;br /&gt;
        exit(1);&lt;br /&gt;
    }       &lt;br /&gt;
    server &amp;lt;&amp;lt; "https://" &amp;lt;&amp;lt; argv[1] &amp;lt;&amp;lt; ":443/sdk";&lt;br /&gt;
&lt;br /&gt;
    soap = soap_new();&lt;br /&gt;
    soap_init(soap);&lt;br /&gt;
    soap_set_namespaces(soap, namespaces);&lt;br /&gt;
&lt;br /&gt;
    Mobj = new sduvisdk2__ManagedObjectReference;&lt;br /&gt;
&lt;p /&gt;
    soap_ssl_init();&lt;br /&gt;
    if (soap_ssl_client_context( soap, SOAP_SSL_NO_AUTHENTICATION, NULL, NULL, NULL, NULL, NULL)) {&lt;br /&gt;
&lt;br /&gt;
	 std::cout &amp;lt;&amp;lt; "SSL:";&lt;br /&gt;
	 soap_print_fault(soap, stderr);&lt;br /&gt;
	 soap_done(soap);&lt;br /&gt;
	 soap_end(soap);&lt;br /&gt;
	 exit(1);&lt;br /&gt;
    }&lt;br /&gt;
    Mobj-&amp;gt;__item = "ServiceInstance";&lt;br /&gt;
    Mobj-&amp;gt;type = new string("ServiceInstance");&lt;br /&gt;
    SvcCont._USCOREthis = Mobj;&lt;br /&gt;
&lt;br /&gt;
    ret = soap_call___sduvisdk2__RetrieveServiceContent(soap, server.str().c_str(), "", &amp;#38;SvcCont, &amp;#38;Response);&lt;br /&gt;
    if(SOAP_OK == ret) {&lt;br /&gt;
        cout &amp;lt;&amp;lt; "Retrieve success\n";&lt;br /&gt;
&lt;br /&gt;
    } else {&lt;br /&gt;
&lt;p /&gt;
        cout &amp;lt;&amp;lt; "Soap Errors " &amp;lt;&amp;lt; soap-&amp;gt;error &lt;br /&gt;
             &amp;lt;&amp;lt; " " &amp;lt;&amp;lt; soap-&amp;gt;errnum;&lt;br /&gt;
        soap_print_fault(soap, stderr);&lt;br /&gt;
        goto end_of_function;&lt;br /&gt;
    }&lt;br /&gt;
    sc = Response.returnval;&lt;br /&gt;
&lt;br /&gt;
    if( !sc || !sc-&amp;gt;sessionManager ) {&lt;br /&gt;
         goto end_of_function;&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
    about = sc-&amp;gt;about;  &lt;br /&gt;
    cout &amp;lt;&amp;lt; "---------------------------------------\n" &lt;br /&gt;
         &amp;lt;&amp;lt; "About Info: \n"&lt;br /&gt;
         &amp;lt;&amp;lt; "Name          :" &amp;lt;&amp;lt; about-&amp;gt;name          &amp;lt;&amp;lt; endl&lt;br /&gt;
         &amp;lt;&amp;lt; "FullName      :" &amp;lt;&amp;lt; about-&amp;gt;fullName      &amp;lt;&amp;lt; endl&lt;br /&gt;
         &amp;lt;&amp;lt; "Vendor        :" &amp;lt;&amp;lt; about-&amp;gt;vendor        &amp;lt;&amp;lt; endl&lt;br /&gt;
         &amp;lt;&amp;lt; "version       :" &amp;lt;&amp;lt; about-&amp;gt;version       &amp;lt;&amp;lt; endl&lt;br /&gt;
         &amp;lt;&amp;lt; "build         :" &amp;lt;&amp;lt; about-&amp;gt;build         &amp;lt;&amp;lt; endl  &lt;br /&gt;
         &amp;lt;&amp;lt; "osType        :" &amp;lt;&amp;lt; about-&amp;gt;osType        &amp;lt;&amp;lt; endl&lt;br /&gt;
         &amp;lt;&amp;lt; "productLineId :" &amp;lt;&amp;lt; about-&amp;gt;productLineId &amp;lt;&amp;lt; endl&lt;br /&gt;
         &amp;lt;&amp;lt; "apiType       :" &amp;lt;&amp;lt; about-&amp;gt;apiType       &amp;lt;&amp;lt; endl&lt;br /&gt;
         &amp;lt;&amp;lt; "apiVersion    :" &amp;lt;&amp;lt; about-&amp;gt;apiVersion    &amp;lt;&amp;lt; endl       &lt;br /&gt;
         &amp;lt;&amp;lt; "----------------------------------------\n";     &lt;br /&gt;
&lt;p /&gt;
    login._USCOREthis = sc-&amp;gt;sessionManager;&lt;br /&gt;
    login.userName = argv[2];&lt;br /&gt;
    login.password = argv[3];&lt;br /&gt;
&lt;p /&gt;
    soap_call___sduvisdk2__Login(soap, server.str().c_str(), "", &amp;#38;login, &amp;#38;loginResponse);&lt;br /&gt;
    if(soap-&amp;gt;error != SOAP_OK ) {&lt;br /&gt;
         soap_print_fault(soap, stderr);&lt;br /&gt;
         goto end_of_function;&lt;br /&gt;
    }&lt;br /&gt;
    returnval = loginResponse.returnval;&lt;br /&gt;
&lt;br /&gt;
    cout &amp;lt;&amp;lt;  "Login success, the details are:\n"&lt;br /&gt;
         &amp;lt;&amp;lt;  "\tUser: "      &amp;lt;&amp;lt; returnval-&amp;gt;userName &amp;lt;&amp;lt; endl&lt;br /&gt;
         &amp;lt;&amp;lt;  "\tFull Name: " &amp;lt;&amp;lt; returnval-&amp;gt;fullName &amp;lt;&amp;lt; endl &lt;br /&gt;
         &amp;lt;&amp;lt;  "\tLocale: "    &amp;lt;&amp;lt; returnval-&amp;gt;locale &amp;lt;&amp;lt; endl;&lt;br /&gt;
&lt;p /&gt;
    ret = getCurrentVMMob(sc);&lt;br /&gt;
    if (ret != SOAP_OK) &lt;br /&gt;
        cout &amp;lt;&amp;lt; "Failed to get CurrentVMMob\n";  &lt;br /&gt;
&lt;p /&gt;
    cout &amp;lt;&amp;lt; "\nNow Logging out\n";&lt;br /&gt;
    logout._USCOREthis = sc-&amp;gt;sessionManager;&lt;br /&gt;
&lt;p /&gt;
    ret = soap_call___sduvisdk2__Logout(soap, server.str().c_str(), "", &amp;#38;logout, &amp;#38;logoutResponse);&lt;br /&gt;
    if( soap-&amp;gt;error != SOAP_OK ) {&lt;br /&gt;
         soap_print_fault(soap, stderr);&lt;br /&gt;
         goto end_of_function;&lt;br /&gt;
    }&lt;br /&gt;
    cout &amp;lt;&amp;lt; "Logout succesful\n";&lt;br /&gt;
&lt;br /&gt;
end_of_function:&lt;br /&gt;
    soap_done(soap);&lt;br /&gt;
    soap_end(soap);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
When I run this code:&lt;br /&gt;
&lt;br /&gt;
$ ./DynamicClient 10.72.197.66 root XXXXX&lt;br /&gt;
Retrieve success&lt;br /&gt;
&lt;hr /&gt;
About Info: &lt;br /&gt;
Name          :VMware ESX Server&lt;br /&gt;
FullName      :VMware ESX Server 3.5.0 build-64607&lt;br /&gt;
Vendor        :VMware, Inc.&lt;br /&gt;
version       :3.5.0&lt;br /&gt;
build         :64607&lt;br /&gt;
osType        :vmnix-x86&lt;br /&gt;
productLineId :esx&lt;br /&gt;
apiType       :HostAgent&lt;br /&gt;
apiVersion    :2.5.0&lt;br /&gt;
&lt;hr /&gt;
Login success, the details are:&lt;br /&gt;
        User: root&lt;br /&gt;
        Full Name: root&lt;br /&gt;
        Locale: en&lt;br /&gt;
Retrieved Properties: 0&lt;br /&gt;
&lt;br /&gt;
Now Logging out&lt;br /&gt;
SOAP 1.1 fault: "":ServerFaultCode &lt;a class="jive-link-adddocument" href="http://communities.vmware.com/community-document-picker.jspa?communityID=2416&amp;subject=no+subcode"&gt;no subcode&lt;/a&gt;&lt;br /&gt;
"The session is not authenticated."&lt;br /&gt;
Detail: &lt;br /&gt;
&lt;br /&gt;
Why is Logout() call failing. Please let me know if I am doing anything wrong in my client code.&lt;br /&gt;
&lt;br /&gt;
Thanks!&lt;br /&gt;
&lt;hr /&gt;
Did you compile all your sources with -DWITH_COOKIES?&lt;br /&gt;
&lt;hr /&gt;
Hi stumpr,&lt;br /&gt;
&lt;br /&gt;
Yes. I complied my sources with -DWITH_COOKIES. I am hitting this issue with/without -DWITH_COOKIES.&lt;br /&gt;
&lt;br /&gt;
Thanks!&lt;br /&gt;
&lt;hr /&gt;
You &lt;b&gt;have&lt;/b&gt; to use WITH_COOKIES, or you will not be authenticated on subsequent calls to the API.  Make sure you compiled all components, not just your final executable.  I'll take another look at your code and see if anything sticks out.&lt;br /&gt;
&lt;hr /&gt;
Hi stumpr,&lt;br /&gt;
&lt;br /&gt;
I tried to generate the stubs once again and compiled the sources with -DWITH_COOKIES. Logout is working fine now. &lt;br /&gt;
I see proper messages in /var/log/vmware/hostd.log&lt;br /&gt;
&lt;br /&gt;
&lt;strike&gt;2009-05-14 02:21:45.673 'ha-eventmgr' 3076436896 info&lt;/strike&gt; Event 45 : User root@127.0.0.1 logged in&lt;br /&gt;
&lt;strike&gt;2009-05-14 02:21:45.697 'ha-eventmgr' 14834608 info&lt;/strike&gt; Event 46 : User root logged out&lt;br /&gt;
&lt;br /&gt;
When I run the client (attached with this post), no Object Contents are found. Is there anything wrong in my client code (traversing the Mobs)&lt;br /&gt;
&lt;br /&gt;
bash-2.05b$ ./a.out 10.72.197.66 root XXXXX&lt;br /&gt;
Retrieve success&lt;br /&gt;
&lt;hr /&gt;
About Info: &lt;br /&gt;
Name          :VMware ESX Server&lt;br /&gt;
FullName      :VMware ESX Server 3.5.0 build-64607&lt;br /&gt;
Vendor        :VMware, Inc.&lt;br /&gt;
version       :3.5.0&lt;br /&gt;
build         :64607&lt;br /&gt;
osType        :vmnix-x86&lt;br /&gt;
productLineId :esx&lt;br /&gt;
apiType       :HostAgent&lt;br /&gt;
apiVersion    :2.5.0&lt;br /&gt;
&lt;hr /&gt;
Login success, the details are:&lt;br /&gt;
        User: root&lt;br /&gt;
        Full Name: root&lt;br /&gt;
        Locale: en&lt;br /&gt;
Retrieved Properties: 0 &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; No VMs found&lt;br /&gt;
&lt;br /&gt;
Now Logging out&lt;br /&gt;
Logout succesful&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
Thanks once again!!&lt;br /&gt;
&lt;hr /&gt;
Hi stumpr,&lt;br /&gt;
&lt;br /&gt;
I made an error in following statements:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;&lt;div class="jive-quote"&gt;FolderToChildEntitySelectionSpec.name = new string("DatacenterToVmFolderTraversalSpec");&lt;br /&gt;
DatacenterToVmFolderSelectionSpec.name = new string("FolderToChildEntityTraversalSpec");&lt;/div&gt;&lt;/div&gt;
&lt;br /&gt;
The client code works fine after correcting them to,&lt;br /&gt;
&lt;div class="jive-quote"&gt;&lt;div class="jive-quote"&gt;FolderToChildEntitySelectionSpec.name = new string("FolderToChildEntityTraversalSpec");&lt;br /&gt;
DatacenterToVmFolderSelectionSpec.name = new string("DatacenterToVmFolderTraversalSpec");&lt;/div&gt;&lt;/div&gt;
&lt;br /&gt;
Sorry for troubling you guys.&lt;br /&gt;
&lt;br /&gt;
bash-2.05b$ ./a.out 10.72.197.66 root brooklyn&lt;br /&gt;
Retrieve success&lt;br /&gt;
&lt;hr /&gt;
About Info: &lt;br /&gt;
Name          :VMware ESX Server&lt;br /&gt;
FullName      :VMware ESX Server 3.5.0 build-64607&lt;br /&gt;
Vendor        :VMware, Inc.&lt;br /&gt;
version       :3.5.0&lt;br /&gt;
build         :64607&lt;br /&gt;
osType        :vmnix-x86&lt;br /&gt;
productLineId :esx&lt;br /&gt;
apiType       :HostAgent&lt;br /&gt;
apiVersion    :2.5.0&lt;br /&gt;
&lt;hr /&gt;
Login success, the details are:&lt;br /&gt;
        User: root&lt;br /&gt;
        Full Name: root&lt;br /&gt;
        Locale: en&lt;br /&gt;
Retrieved Properties: 5&lt;br /&gt;
VM name: rhel5&lt;br /&gt;
VM name: Solaris_VM&lt;br /&gt;
VM name: Pattar_rhel4&lt;br /&gt;
VM name: winxp&lt;br /&gt;
VM name: winserver2k8&lt;br /&gt;
&lt;br /&gt;
Now Logging out&lt;br /&gt;
Logout succesful&lt;br /&gt;
bash-2.05b$ &lt;br /&gt;
&lt;br /&gt;
Thanks a lot!!&lt;br /&gt;
&lt;hr /&gt;
&lt;span style="font-size:10pt"&gt;I followed the same steps as listed in this post but I am unable to get past the "vim.fault.NotAuthenticated, for ref=ha-folder-root" error. I am working with ESX 4.0 and have no issues accessing it via SDK using the Java samples. For my project I need to build an application in C++ to manage the ESX hosts. I am able to retrieve the ServiceContent and login to the host however my attempts to retrieve the Virtual Machines on the host is failing with following error on the host (hostd-0.log file):&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family:Arial"&gt;&lt;span style="font-size:10pt"&gt;&lt;strike&gt;2009-06-2309:12:00.812 F6430B90 info 'ha-eventmgr'&lt;/strike&gt; Event 123 : User root@127.0.0.1logged in&lt;br /&gt;
--2009-06-23 09:12:00.817 F6430B90 error 'App'-- _FetchPropertyPath got unexpected error of type N3Vim5Fault16NotAuthenticated9ExceptionE: vim.fault.NotAuthenticated, for ref=ha-folder-root, path=childEntity&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
&lt;span style="font-family:Arial"&gt;&lt;span style="font-size:10pt"&gt;All the application components are built with -DWITH_OPENSSL and -DWITH_COOKIES flags. I have attached the source file (retrieveVMs.cpp) for this program.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Am I doing something wrong in the client code or is this some permissions issue I need to fix on the host? I have another C++ sample program based on the SimpleClient.java sample form SDK and that results in same error. &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Thanks!&lt;br /&gt;
&lt;hr /&gt;
Probably is from permissions. I tested your code (with some modifications) and it seems is working. Look here &lt;a class="jive-link-external" href="http://www.randombugs.com/linux/vmware-webservice-gsoap.html"&gt;http://www.randombugs.com/linux/vmware-webservice-gsoap.html&lt;/a&gt; to see a version of your code adapted for VImBinding add with some extra features.&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
The issue I posted related to authenction was related to cookies. I was building against libgsoapssl++ when I saw this issue. Building with the gsoap source (stdsoap2.cpp) and -DWITH_COOKIES flag resolved the issue.&lt;br /&gt;
&lt;p /&gt;
Your post in randombugs is a good starting point for someone working with VMWare Webservices SDK.&lt;br /&gt;
&lt;p /&gt;
 Thanks!&lt;hr /&gt;
Anyone make any progress on the gsoap with ssl certificate validation on ESX 4.0?  I haven't dug in too deep but was playing with it a bit on Friday as time permitted.&lt;br /&gt;
&lt;hr /&gt;
Did you see that: &lt;a class="jive-link-external" href="http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc13.1"&gt;http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc13.1&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;i&gt;soap_init(&amp;#38;soap);&lt;/i&gt; &lt;br clear="all" /&gt;	  soap_ssl_server_context(&amp;#38;soap,  SOAP_SSL_DEFAULT,  "server.pem",	/* keyfile: required when server must authenticate to clients (see SSL docs on how to obtain this file) &lt;b&gt;/&lt;/b&gt; &lt;br clear="all" /&gt; *	 "password",	/* password to read the key file &lt;b&gt;/&lt;/b&gt; &lt;br clear="all" /&gt; *	  "cacert.pem",	/* optional cacert file to store trusted certificates &lt;b&gt;/&lt;/b&gt; &lt;br clear="all" /&gt; *	 NULL,		/* optional capath to directory with trusted certificates &lt;b&gt;/&lt;/b&gt; &lt;br clear="all" /&gt; *	 "dh512.pem",	/* DH file, if NULL use RSA &lt;b&gt;/&lt;/b&gt; &lt;br clear="all" /&gt; *	 NULL,		/* if randfile!=NULL: use a file with random data to seed randomness &lt;b&gt;/&lt;/b&gt; &lt;br clear="all" /&gt; *	  NULL		/* optional server identification to enable SSL session cache (must be a unique name) */ &lt;br clear="all" /&gt;	 ))&lt;/blockquote&gt;
&lt;hr /&gt;
I've seen it.  Have you run your code against ESX 4.0 servers?  If so, post up your gsoap, openssl and OS version please.&lt;br /&gt;
&lt;hr /&gt;
Ok, I think I found the issue with the certificates.&lt;br /&gt;
&lt;br /&gt;
The program used to generate the certs (/sbin/generate-certificates) is deleting what I believe is the intermediate certificate.  You can see the error when you run &lt;b&gt;openssl verify /etc/vmware/ssl/rui.crt&lt;/b&gt;.  However, I commented out the rm commands at the end &lt;b&gt;/sbin/generate-certificates&lt;/b&gt; script and then combined the files &lt;b&gt;/etc/vmware/ssl/ca.crt&lt;/b&gt; and &lt;b&gt;/etc/vmware/ssl/rui.crt&lt;/b&gt; into a new file (after deleting my old rui.crt and rui.key files).  This is then cleanly verified with &lt;b&gt;openssl verify /etc/vmware/ssl/combined.crt&lt;/b&gt;.  This certificate will work with VMware ESX 4.0 and gSoap.  This is likely to come up with other applications that do not allow you to trust a certificate with an intermediate trust or strictly checks for an intermediary.&lt;br /&gt;
&lt;br /&gt;
I'd chalk this one upto a bug personally.  The ca.crt and rui.crt should be concatenated into a single file before cleaning up.  This probably won't affect anyone not doing server certificate validation and/or clients that use keychains in the OS (which will probably let you implicitly trust the certificate even without its intermediary).&lt;br /&gt;
&lt;br /&gt;
I just couldn't let this one go, even though I'm not using gsoap as much lately.&lt;br /&gt;
&lt;br /&gt;
This document was generated from the following thread:&amp;nbsp;&lt;a href="http://communities.vmware.com/thread/200348" class="jive-link-thread"&gt;Problems connecting to VI SDK using C++/gsoap-2.7&lt;/a&gt;&lt;/i&gt;</description>
      <pubDate>Fri, 03 Jul 2009 19:09:45 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-10296</guid>
      <dc:date>2009-07-03T19:09:45Z</dc:date>
      <clearspace:dateToText>4 months, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>Vmware Coffee Talk Bio - Balaji Parimi</title>
      <link>http://communities.vmware.com/docs/DOC-10292</link>
      <description>&lt;img src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-10292-1-6162/Balaji.bmp" alt="Balaji.bmp" class="jive-image"  /&gt; &lt;br /&gt;
&lt;br /&gt;
Balaji Parimi, Sr. MTS, Ecosystem Engineering&lt;br /&gt;
&lt;br /&gt;
Current role and responsibilities&lt;br /&gt;
&lt;br /&gt;
VMware engineering consultant to the partners, focusing on creating a solution based on VMware’s virtual infrastructure. Train partner engineering teams on using the SDK. Review partner’s solution architecture and make necessary recommendations&lt;br /&gt;
&lt;br /&gt;
Background&lt;br /&gt;
&lt;br /&gt;
Have a master’s degree in Computer Science, and a master’s degree in Software Engineering. &lt;br /&gt;
Have been working in the industry since 1998.\&lt;br /&gt;
&lt;br /&gt;
When I order coffee at a coffee shop I use the name "Balaji"</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">coffee_talk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">web_services_sdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">balaji_parimi</category>
      <pubDate>Wed, 01 Jul 2009 18:36:15 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-10292</guid>
      <dc:date>2009-07-01T18:36:15Z</dc:date>
      <clearspace:dateToText>4 months, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>What's new in vSphere Web Services SDK - Webinar - PDF Presentations</title>
      <link>http://communities.vmware.com/docs/DOC-9912</link>
      <description>&lt;b&gt;Abstract&lt;/b&gt;: VMware vSphere Web Services SDK (formerly known as the VMware Infrastructure SDK) provides the interfaces to programmatically manage the VMware vSphere platform. This session explains the new features and discusses best practices for the new SDK. This can help the vSphere Web Services SDK application designers and developers immensely with various usage scenarios. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Level:&lt;/b&gt; Advanced level session, so it assumes that the attendees have some familiarity with VI SDK &lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="https://vmware.webex.com/vmware/lsr.php?AT=pb&amp;#38;SP=MC&amp;#38;rID=32494347&amp;#38;rKey=F3491F72805A6729"&gt;Part 1 Webinar Link&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-attachment" href="http://communities.vmware.com/servlet/JiveServlet/download/2416-207840-1244058-22354/vSphereSDK_NewFeatures-5-6-09.pdf"&gt;vSphereSDK_NewFeatures-5-6-09.pdf&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
_______________________&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;a class="jive-link-external" href="https://vmware.webex.com/vmware/lsr.php?AT=pb&amp;#38;SP=MC&amp;#38;rID=32561602&amp;#38;rKey=C28B42AD86773364"&gt;Part 2 Webinar Link&lt;/a&gt; &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
&lt;a class="jive-link-attachment" href="http://communities.vmware.com/servlet/JiveServlet/download/2416-207840-1244058-22432/vSphereSDK_BestPractices.pdf"&gt;vSphereSDK_BestPractices.pdf&lt;/a&gt; &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Visit our &lt;a class="jive-link-blogpost" href="http://communities.vmware.com/blogs/DeveloperCenter/2009/08/07/announcing-the-vmware-coffee-talk-live-webinars-first-wed-of-the-month-900-am-1000-am-pst"&gt;Coffee Talk Blog&lt;/a&gt; for latest webinar events&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
This document was generated from the following thread: &lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/207840"&gt;Whats new in vSphere Web Services SDK - Live Webinar Please join us May 6th, May 8th&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vsphere</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">sdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">webinar</category>
      <pubDate>Tue, 12 May 2009 16:21:50 GMT</pubDate>
      <author>cromero@vmware.com</author>
      <guid>http://communities.vmware.com/docs/DOC-9912</guid>
      <dc:date>2009-05-12T16:21:50Z</dc:date>
      <clearspace:dateToText>6 months, 2 days ago</clearspace:dateToText>
    </item>
    <item>
      <title>vSphere, VI 3.x SDK - Support Information</title>
      <link>http://communities.vmware.com/docs/DOC-9841</link>
      <description>Support options for the following SDKs and Toolkits:&lt;br /&gt;
&lt;br /&gt;
vSphere Web Services SDK&lt;br /&gt;
vSphere SDK for Perl&lt;br /&gt;
vSphere PowerCLI&lt;br /&gt;
vSphere vCLI&lt;br /&gt;
vSphere Guest SDK&lt;br /&gt;
vSphere Management Assistant&lt;br /&gt;
VMware Virtual Disk Development Kit&lt;br /&gt;
VMware CIM SDK&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;VMware Developer Community - Developers are encouraged to participate in our community where they can get help, share answers, and get recognized by your peers. &lt;a class="jive-link-external" href="http://developer.vmware.com/"&gt;http://developer.vmware.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;ul&gt;
&lt;li&gt;VMware Global Support Services (GSS)- installation support for libraries and bug resolution Please refer to the &lt;a class="jive-link-external" href="http://www.vmware.com/support/policies/sdk.html"&gt;GSS Support policy&lt;/a&gt; for more information. Please note VMware GSS does not provide SDK Development Support.&lt;/li&gt;
&lt;/ul&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;ul&gt;
&lt;li&gt;Technical Alliance Partners have several support options. Select level and above are entitled to incident support and SDK Co-Development. For more information please visit the &lt;a class="jive-link-external" href="http://vmware.com/partners/alliances/programs/co-dev/"&gt;TAP site&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;ul&gt;
&lt;li&gt;For End Users needing assistance with development, scripting and customized training please submit your inquiries to our &lt;a class="jive-link-external" href="http://www.vmware.com/go/sdkpso"&gt;PSO team&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Please note: When submitting a SDK Support Request we strongly encourage you to review and upload diagnostic information as described in our &lt;a class="jive-link-external" href="http://kb.vmware.com/selfservice/search.do?cmd=displayKC&amp;#38;docType=kc&amp;#38;externalId=1001457&amp;#38;sliceId=2&amp;#38;docTypeID=DT_KB_1_1&amp;#38;dialogID=38825174&amp;#38;stateId=0%200%2038821443"&gt;KB 1001457&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">sdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">support</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vsphere</category>
      <pubDate>Mon, 20 Apr 2009 18:46:39 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-9841</guid>
      <dc:date>2009-04-20T18:46:39Z</dc:date>
      <clearspace:dateToText>6 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>VMware vSphere - SDK Performance Monitoring - Resource</title>
      <link>http://communities.vmware.com/docs/DOC-9840</link>
      <description>&lt;b&gt;vSphere API and Performance Monitoring Resource&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Pointers to Performance Monitoring content to help software developers build performance monitoring applications. Please add any other pointers you think our community should be aware of. &lt;br /&gt;
&lt;br /&gt;
Latest Updates: &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Using vscsiStats for Storage Performance Analysis by Scott D. (using ESXi)&lt;br /&gt;
&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10095"&gt;http://communities.vmware.com/docs/DOC-10095&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; vSphere APIs for Performance Monitoring Webinar&lt;br /&gt;
&lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/233040"&gt;http://communities.vmware.com/thread/233040&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Performance TroubleShooting for VMware vSphere 4 &lt;br /&gt;
&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-10352"&gt;http://communities.vmware.com/docs/DOC-10352&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
-&amp;gt;New vSphere Performance Monitoring Video and Sample Code - from Tech Exchange Orlando &lt;br /&gt;
See Application Performance Monitoring through the VI APIs (takes a few minutes to load - 60 mins) &lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.vmware.com/communities/content/developer/webinars/performance.html"&gt;http://www.vmware.com/communities/content/developer/webinars/performance.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
vSphere API Reference Guide 4.0:&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/cpu_counters.html"&gt;http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/cpu_counters.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.PerformanceManager.html"&gt;http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.PerformanceManager.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; &lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-3930"&gt;Performance Monitoring and Analysis&lt;/a&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://download3.vmware.com/media/partners/techexchange/vi05.html"&gt;VI SDK Performance Monitoring Video&lt;/a&gt;&lt;br /&gt;
60 Minutes goes into details of best practices when gathering VI Performance information.&lt;br /&gt;
&lt;a class="jive-link-attachment" href="http://communities.vmware.com/servlet/JiveServlet/download/2380-17274/VI-Performance-Monitoring.pdf"&gt;VI-Performance-Monitoring.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-attachment" href="http://communities.vmware.com/servlet/JiveServlet/download/2380-17272/technote_PerformanceCounters-11-03-08.pdf"&gt;technote_PerformanceCounters-11-03-08.pdf&lt;/a&gt; - Improved Performance Counter Definition&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-attachment" href="http://communities.vmware.com/servlet/JiveServlet/download/2380-17273/VI+3.5+Memory+Statistic+Definitions.pdf"&gt;VI 3.5 Memory Statistic Definitions.pdf&lt;/a&gt; - Details on Memory Statistics for VI 3.5&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-community" href="http://communities.vmware.com/community/vmtn/general/performance" title="Performance-related technical discussions &amp; VMmark"&gt;VMware Performance Community&lt;/a&gt; - Dedicated to all things Peformance&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-wiki" href="http://communities.vmware.com/docs/DOC-5251"&gt;Best Practices for Perfomance&lt;/a&gt; - Community Guide</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">esxi</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">sdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">performance</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vsphere</category>
      <pubDate>Mon, 20 Apr 2009 18:15:23 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-9840</guid>
      <dc:date>2009-04-20T18:15:23Z</dc:date>
      <clearspace:dateToText>1 month, 4 days ago</clearspace:dateToText>
    </item>
    <item>
      <title>Tutorial: Get Your First VI SDK Program Running in 5 Minutes</title>
      <link>http://communities.vmware.com/docs/DOC-9602</link>
      <description>This tutorial shows how you can quickly set up the VI SDK development environment and get your first HelloVM program work using the open source VI Java API. It includes detailed steps with many screenshots.</description>
      <pubDate>Sat, 28 Feb 2009 04:43:22 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-9602</guid>
      <dc:date>2009-02-28T04:43:22Z</dc:date>
      <clearspace:dateToText>9 months, 17 hours ago</clearspace:dateToText>
    </item>
    <item>
      <title>VMware vSphere Management Study - Promotional Drawing Terms and Conditions</title>
      <link>http://communities.vmware.com/docs/DOC-9595</link>
      <description />
      <pubDate>Thu, 26 Feb 2009 18:47:13 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-9595</guid>
      <dc:date>2009-02-26T18:47:13Z</dc:date>
      <clearspace:dateToText>4 months, 1 week ago</clearspace:dateToText>
    </item>
    <item>
      <title>VI SDK PropertyFilter - Getting Started Community Guide</title>
      <link>http://communities.vmware.com/docs/DOC-9499</link>
      <description />
      <category domain="http://communities.vmware.com/tags?communityID=2416">propertyfilger</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">getting</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">started</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">community</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">guide</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vi</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">sdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">java</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">c#</category>
      <pubDate>Fri, 13 Feb 2009 17:11:29 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-9499</guid>
      <dc:date>2009-02-13T17:11:29Z</dc:date>
      <clearspace:dateToText>9 months, 2 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>Single sign-on from VI SDK to CIM</title>
      <link>http://communities.vmware.com/docs/DOC-8880</link>
      <description>This technote described how to get access to CIM from VI SDK. It comes with a real sample code showing how it's done exactly.</description>
      <pubDate>Sat, 22 Nov 2008 19:13:27 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-8880</guid>
      <dc:date>2008-11-22T19:13:27Z</dc:date>
      <clearspace:dateToText>1 year, 3 days ago</clearspace:dateToText>
    </item>
    <item>
      <title>VI SDK Developer License Agreement - Frequently Asked Questions</title>
      <link>http://communities.vmware.com/docs/DOC-7983</link>
      <description>Q. What is included in the VMware Infrastructure SDK (VI SDK)? &lt;br /&gt;
A. The VI SDK includes documentation, tools, libraries, and sample code to help software developers integrate with, build in-house or commercial applications.  To learn more about the VI SDK and its client application architecture, read the Getting Started FAQs &lt;a class="jive-link-external" href="http://communities.vmware.com/docs/DOC-7270"&gt;http://communities.vmware.com/docs/DOC-7270&lt;/a&gt; or visit the VI SDK Documentation page &lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vc-sdk/"&gt;http://www.vmware.com/support/developer/vc-sdk/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Q. Can I distribute, sell software that I developed using the VI SDK? &lt;br /&gt;
A. Yes.  &lt;br /&gt;
&lt;br /&gt;
Q. Do I have to pay any royalties to VMware for products that I build using the VI SDK? &lt;br /&gt;
A. No, you do not need any additional royalties in order to use the VI SDK.  Licenses for other/related VMware products (such as ESX, vCenter, ESXi, etc) must be purchased separately as required&lt;br /&gt;
&lt;br /&gt;
Q. Can I redistribute the VI SDK libraries and sample code? &lt;br /&gt;
A. You can redistribute only those parts of the SDK package that have been designated as “distributable code”.&lt;br /&gt;
In VI SDK 2.5, the following components can be redistributed: vim.jar, vim25.jar. To note developers typically generate web service stubs from the WSDL file that is included in the VI SDK using a SOAP toolkit.  The stubs source and the compiled stubs can also be distributed. For latest names of VI SDK libraries that can be redistributed visit &lt;a class="jive-link-external" href="http://vmware.com/go/sdk-redistribution-info"&gt;http://vmware.com/go/sdk-redistribution-info&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Q. Can you tell us about the samples provided in the VI SDK? &lt;br /&gt;
A. The samples in the VI SDK bundle were developed by VMware R&amp;#38;D to help demonstrate how to use the &lt;br /&gt;
functionality exposed through the VI API.  The samples are not intended to be used as-is in production environments. VMware customers/partners can use the samples as guidelines to create their own derivative applications to manage the VMware Infrastructure, and distribute these derivative works. VMware will not    support these 3rd party derivative works.&lt;br /&gt;
&lt;br /&gt;
Q. Where can I find a list of third party applications that support the VMware platform?&lt;br /&gt;
A. The VMware Partner Catalog lists partner products that run on the VI platform including partners that have integrated with VMware products using our SDK. &lt;a class="jive-link-external" href="http://wwwa.vmware.com/partnercatalog/catalog"&gt;http://wwwa.vmware.com/partnercatalog/catalog&lt;/a&gt;. The Partner catalog listings are provided by VMware Technology Alliance Partners.  For information about joining the TAP program and listing your product please visit: &lt;a class="jive-link-external" href="http://www.vmware.com/partners/alliances/programs"&gt;http://www.vmware.com/partners/alliances/programs&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Q. Who do I contact if I have further questions about licensing?&lt;br /&gt;
A. Please send an e-mail to SDK_Legal (at) vmware.com.</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vmware</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">sdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">developer</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">license</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">frequently</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">asked</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">questions</category>
      <pubDate>Wed, 01 Oct 2008 16:46:10 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-7983</guid>
      <dc:date>2008-10-01T16:46:10Z</dc:date>
      <clearspace:dateToText>1 year, 1 month ago</clearspace:dateToText>
    </item>
    <item>
      <title>Programatically Generate Remote Console URL</title>
      <link>http://communities.vmware.com/docs/DOC-7800</link>
      <description>How does one programiatically query virtual center to generate the remote console URL for guests?&lt;br /&gt;
&lt;br /&gt;
~ Cody&lt;br /&gt;
&lt;hr /&gt;
Hi Cody,&lt;br /&gt;
&lt;br /&gt;
You cannot generate the remote console URL for the VMs using the VI SDK. You would need to use the web access to do so.&lt;br /&gt;
&lt;br /&gt;
~ Sidharth&lt;br /&gt;
&lt;hr /&gt;
Any guidance on doing it that way?&lt;br /&gt;
&lt;hr /&gt;
Cody,&lt;br /&gt;
&lt;br /&gt;
It looks like that the "hash" used is just a Base64 encoding.  You can confirm this by generating a URL, grabbing the "view" paramete, removing the final underscore and doing a Base64 decode. And no I can't read Base64, but I can read javascript functions in the VMDirectSetup.do.&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
In .NET/C# that is Console.WriteLine(Encoding.ASCII.GetString(Convert.FromBase64String(b642text)));&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
So for the opposite you could just work backwords and generate a base64 string that covers you. &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Console.WriteLine(Convert.ToBase64String(Encoding.ASCII.GetBytes(text2b64))); &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Looking at a couple examples I did to confirm this was the core of the wsUrl is "wsUrl=https://localhost/sdk?vmId=VirtualMachine|vm-9999&amp;#38;ui=36"&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
So you would just need to update the "vm-9999" w the moref id from VI SDK.  The ui (I think) is the integer generated from the sum of the checkboxes you see in the ui.  false/false = 0,  true/false = 4 + 8, false/true = 1 + 32, true/true = 4 + 32 (36 is what I used)&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
So using the vm moref id and your "ui" selection you can genenratethe URL on demand.  Build your string, encode to base64, append an underscore "_" to the end of the b64 string, take that whole chunk and append that to your VCs "https://&amp;lt;vc URL&amp;gt;/ui/vmDirect.do?view=" URL which will look like it was generated from the console UI.&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Hope this helps and hope that it doesn't get swatted by the mods. &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/wink.gif" alt=";-)" /&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
J&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
Hi jrackliffe, &lt;br /&gt;
&lt;br /&gt;
What I have encoded is "wsUrl=http://localhost:8085&amp;#38;vmId=VirtualMachine|1040&amp;#38;ui=36". From VI SDK, the moref of vm is vm-78, but what I get is 1040. Do you have any idea how to get 1040? Thanks for your help. &lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
WT&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;hr /&gt;
&lt;br /&gt;
See my post below for what you want.&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;a class="jive-link-external" href="http://communities.vmware.com/thread/169353?tstart=0"&gt;http://communities.vmware.com/thread/169353?tstart=0&lt;/a&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Thanks,&lt;br /&gt;
Rick&lt;br /&gt;
&lt;br /&gt;
This document was generated from the following thread: &lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/133551"&gt;Programatically Generate Remote Console URL&lt;/a&gt;</description>
      <pubDate>Thu, 18 Sep 2008 17:11:37 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-7800</guid>
      <dc:date>2008-09-18T17:11:37Z</dc:date>
      <clearspace:dateToText>1 year, 2 months ago</clearspace:dateToText>
    </item>
    <item>
      <title>How to store "persistent" VM information</title>
      <link>http://communities.vmware.com/docs/DOC-7531</link>
      <description>Hi,&lt;br /&gt;
&lt;br /&gt;
I need to store some kind of reference to specific virtual machines in a configuration file on my client.  These have to be permanent and can not change for any reason... I don't have the ability in this case to "re-synchronize" with ESX every time the client is started like VirtualCenter does, since I only store information for a few VMs, and not all of them.&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
What information can I use to always be able to find the same virtual machine, and be completely sure that this information will not change out from under me?  Are there different options?  I guess that ManagedObjectReference.value is out since that could change, particularly when VirtualCenter is upgraded or even restarted.&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Any ideas or comments would be much appreciated!&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Thanks!&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
&lt;ul class="jive-dash"&gt;

&lt;ul class="jive-dash"&gt;
&lt;li&gt;Sergey&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;hr /&gt;
I usually use a virtual machine MAC address to uniquely identify it.&lt;br /&gt;
&lt;hr /&gt;
Thanks.  So the MAC is guaranteed not be changed out from under me by VMware?  (I realize that it has to be unique on the network, but what does VMware do when new VMs are created or cloned, etc?  Also, if I use the MAC address, what's the easiest way to get a MOR to that Virtual Machine?  (If it was a UUID I could just do getbyUUID, but there isn't such a function for MAC addresses...)&lt;br /&gt;
&lt;hr /&gt;
try reading this, it might answer most of your questions&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.vmware.com/support/esx21/doc/esx21admin_MACaddress.html"&gt;http://www.vmware.com/support/esx21/doc/esx21admin_MACaddress.html&lt;/a&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;br /&gt;
IMO the easiest way to match a MAC address and a MOR is by reading a virtual machine device list at config.hardware, looking for an object of VirtualPCNet32 type that has the macAddress property you're after.&lt;br /&gt;
&lt;p /&gt;
&lt;hr /&gt;
Heh, thats the page I was on when I received the notification about your comment &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/happy.gif" alt=":)" /&gt;&lt;br /&gt;
&lt;br /&gt;
So it looks like the MAC address is essentially analogous to the UUID, isn't it?  Both don't change unless the VM is moved to a different location in the datastore.  What is the benefit of using the MAC address which needs to be looked up through a property collector (more expensive and more complicated code to write) versus a UUID which can be done using a search index call?&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
Thanks.&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;div class="jive-quote"&gt;What is the benefit of using the MAC address&lt;/div&gt;
I don't know &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/happy.gif" alt=":-)" /&gt; I just use it instead of  uuids, you had asked for opinions and I gave it to you. &lt;br /&gt;
&lt;br /&gt;
IMO what's the point of dealing with uuids when you already have MACs?&lt;br /&gt;
&lt;br /&gt;
I'm not a scientist, I'm an engineer, I use what works, not what is "more beneficial" &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/happy.gif" alt=":-)" /&gt;&lt;br /&gt;
&lt;br /&gt;
About "expensive" lookup vs "non-expensive" lookup.&lt;br /&gt;
&lt;br /&gt;
I'm not sure I understand your point, coding is primitive in both cases (I spend more time posting to this thread that I would coding it), a server hit is a server hit, and you always compare strings...&lt;br /&gt;
&lt;hr /&gt;
Good answer &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/happy.gif" alt=":)" /&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
Thanks for your helping vetting this out though (I had no idea what the conditions are when these are changed... I can sleep easy now knowing that they only change if some VM admin decides to shuffle the VMs around).&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;hr /&gt;
&lt;div class="jive-quote"&gt;if some VM admin decides to shuffle the VMs around&lt;/div&gt;
that's why we have audits &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/happy.gif" alt=":-)" /&gt;, to blame admins if something goes wrong with our code&lt;br /&gt;
&lt;hr /&gt;
I'd use the UUID.  The MAC can be changed and there are cases where it would be for production issues.&lt;br /&gt;
&lt;br /&gt;
You could also generate your own SIDs and with the newer VC versions you can store this SID as a property - value pair in Virtual Center.  You could then use this to locate a unique VM.  This is editable in the VC UI by the right permissions, however.&lt;br /&gt;
&lt;br /&gt;
You might also be able to do something interesting with the VMX file by passing it a property/value pair from the API.  This would be more obscure to admins, though I don't know if there are any guarantees VMware's processes wouldn't edit the VMX and erase your property in the VMX config file.&lt;br /&gt;
&lt;hr /&gt;
Hi Rube,&lt;br /&gt;
&lt;br /&gt;
Do you know in what cases the SMBIOS UUID of a virtual machine changes and we'd receive VmUuidChangedEvent?&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Could point me where I can read more about SIDs please?&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Thanks!&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
I really don't know from first-hand what triggers that change.  I thought in VMware it would only be a Virtual Machine move or copy (you know, the dialog box you get when you import an existing VM or move it to a new environment).  Your answer dictates if it keeps the UUID or regenerates it (I copied it, regenerate -- I moved it, keep).  &lt;br /&gt;
&lt;br /&gt;
I found &lt;a class="jive-link-external" href="http://www.vmware.com/support/gsx3/doc/manage_uuid_gsx.html"&gt;this&lt;/a&gt; from a quick google search.  It's talking about it from GSX but I doubt its much different from ESX current.&lt;br /&gt;
&lt;br /&gt;
If you wanted to go the route of generating your own unique ID (UID), &lt;a class="jive-link-external" href="http://en.wikipedia.org/wiki/Universally_Unique_Identifier"&gt;this&lt;/a&gt; would get you started.  You would then store your own UID with the VM.&lt;br /&gt;
&lt;br /&gt;
I would probably lean towards using the VMware VM BIOS UUID.  I think this will be your best bet and the least 'intrusive'.  The MAC address is good, but there are times administrators will want to change it depending on the environment.  Your concern would be if an admin means to move a VM and selects "I copied it".  Then your UUID is regenerated when it really shouldn't have been.&lt;br /&gt;
&lt;hr /&gt;
Thanks!&lt;br /&gt;
&lt;br /&gt;
Looks like using a BIOS UUID has the same concern as a MAC address is: an admin can change or misconfigure it during a virtual machine moving/copying. Lucky us both trigger events on change/assignment ...&lt;br /&gt;
&lt;p /&gt;
I see your point and it looks like UUIDs of a virtual machine BIOS, a host system BIOS and VMFS volume and a SCSI LUN all provide a consistent way for storing a persistent info.&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
I'd say it's easier to use and I'd probably consider using them instead of MAC. &lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
P.S. I actually wanted to know more about VMware SIDs you mentioned, not UUIDs &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/happy.gif" alt=":-)" /&gt;, why would I ask about such a common knowledge as UUIDs...&lt;br /&gt;
&lt;p /&gt;
&lt;hr /&gt;
Common is a relative term &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/wink.gif" alt=";)" /&gt;.  But I think the mistake was in using SID instead of UID in my post.  No intended insult!  Just been doing a lot of Windows work lately.&lt;br /&gt;
&lt;br /&gt;
I would still lean on the UUID over MAC.  Its more likely an environment would have some requirement to hard code or change a MAC address than say a hard coded UUID.   Most of the reasons I can think of to change the UUID would mean its even more likely to not be modified, making it a pretty safe UID.  You may have multiple NICs, or NIC add/changes making the MAC a dynamic target in some environments. &lt;br /&gt;
&lt;br /&gt;
You figure if an admin copies a VM, then it's a new instance.  If they move it and do regenerate the SID, then it's sort of a mistake.  &lt;br /&gt;
&lt;br /&gt;
I wouldn't use SCSI LUNs. With storage vmotion LUNs are even more likely to change for a VM.  Same with the VMFS volume, it's also not uncommon to see people hosting VMs on NFS now as well.  The ESX Host BIOS has the same issue, VMs aren't guaranteed to be running on any particular host.&lt;br /&gt;
&lt;hr /&gt;
Thanks, Rube, for the very useful info about non-VM UUIDs.&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;hr /&gt;
&amp;lt;sigh&amp;gt; why is nothing ever easy? &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/happy.gif" alt=":)" /&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
The VMware documentation says:  &lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
The UUID is a 128-bit integer. The 16 bytes of this value are separated&lt;br /&gt;
by spaces except for a dash between the eighth and ninth hexadecimal&lt;br /&gt;
pairs. So a sample UUID might look like this:&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
&lt;span class="smaller"&gt;&lt;br /&gt;
00 11 22 33 44 55 66 77-88 99 aa bb cc dd ee ff  &lt;br /&gt;
&lt;br /&gt;
However, using the MOB, I see this:&lt;br /&gt;
&lt;br /&gt;
564dd5b0-b887-4041-bcfe-4896e6040547&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Using FindByUuid() works on the MOB version, but does not work if I convert to their specified format as in the documentation.  Is all of the documentation explicitly wrong?  What gives? &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/happy.gif" alt=":)" /&gt;&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
Thanks!&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;
Yeah, it's a little silly.  The link I posted is the format on the VMX file.  But internally in the uuid property does it differently.  The number is the same.  Unless you're using the VMX file at some point though, I would just use the uuid property from the SDK.  Why the formats are different, who knows? &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/happy.gif" alt=":)" /&gt;  You figure if you do have to use the VMX format at some point though, you could just parse the string out to w/e format you're looking to work with (guessing the sdk uuid property for FindByUuid calls).&lt;br /&gt;
&lt;br /&gt;
To make it even more interesting, I think I once used WMI to compare the Windows BIOS UUID to the VMware UUID and the number wasn't even in order.  I didn't spend much time on it though, was just curious one afternoon.&lt;br /&gt;
&lt;br /&gt;
This document was generated from the following thread: &lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/166491"&gt;How to store "persistent" VM information&lt;/a&gt;</description>
      <pubDate>Wed, 03 Sep 2008 19:40:20 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-7531</guid>
      <dc:date>2008-09-03T19:40:20Z</dc:date>
      <clearspace:dateToText>1 year, 2 months ago</clearspace:dateToText>
    </item>
    <item>
      <title>Technical Note - Performance Counters</title>
      <link>http://communities.vmware.com/docs/DOC-7431</link>
      <description />
      <category domain="http://communities.vmware.com/tags?communityID=2416">esx</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">performance</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">counters</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">sdk</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vmware</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">infrastructure</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">technical</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">note</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vmware</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">performance</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">counters</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">help</category>
      <pubDate>Thu, 28 Aug 2008 22:40:20 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-7431</guid>
      <dc:date>2008-08-28T22:40:20Z</dc:date>
      <clearspace:dateToText>1 year, 2 months ago</clearspace:dateToText>
    </item>
    <item>
      <title>VMware Infrastructure</title>
      <link>http://communities.vmware.com/docs/DOC-7274</link>
      <description>&lt;b&gt;Does the connection to the VI SDK support IPv6?&lt;/b&gt;&lt;br /&gt;
VMware ESX 3.5 has full IPv6 guest support, but currently does not have IPv6 support in the vmkernel.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Does VMware ESX 3.5 support FC HBA virtualization and NPIV?&lt;/b&gt;&lt;br /&gt;
Yes.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What HTTP file access features are supported in VMware ESX 3.5 or VMware ESXi 3.5 or VirtualCenter 2.5?&lt;/b&gt;&lt;br /&gt;
VMware ESX 3.5, VMware ESXi 3.5 and VMware VirtualCenter 2.5 supports HTTP GET or PUT operations on the following files and directories:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;/folder – Directory listing of known datacenters on this server.&lt;/li&gt;
&lt;li&gt;/folder?dcPath=DCPATH – Directory listing of all datastores available at this datacenter.&lt;/li&gt;
&lt;li&gt;/folder?dcPath=DCPATH&amp;#38;dsName=DSNAME – Top-level directory listing of the datastore. If the server is VMware ESX, dcPath=DCPATH&amp;#38; can be omitted and defaults to dcPath=ha-datacenter.&lt;/li&gt;
&lt;li&gt;/folder/PATH...?dcPath=DCPATH&amp;#38;dsName=DSNAME – Directory listing of files in a datastore directory. No virtual disk interpretation (all files shown). If the server is VMware ESX, dcPath=DCPATH&amp;#38; can be omitted and defaults to dcPath=ha-datacenter.&lt;/li&gt;
&lt;li&gt;/folder/PATH.../disk-flat.vmdk?dcPath=DCPATH&amp;#38;dsName=DSNAME – Access individual files. If the server is VMware ESX, dcPath=DCPATH&amp;#38; can be omitted and defaults to dcPath=ha-datacenter.&lt;/li&gt;
&lt;li&gt;(optional feature) /folder?dsMoRef=MoRef&amp;#38;path=PATH.../disk-flat.vmdk – Access individual files.&lt;/li&gt;
&lt;li&gt;/host – Flat directory listing of all configuration files that you can GET or PUT remotely. The set of files that are available is controlled by a configuration file. This URL format is only supported if the server is VMware ESX server.&lt;/li&gt;
&lt;li&gt;/host/file – Access individual files with directory structure collapsed and names may be altered for uniquness and VMware ESX version stability - please refer to remote CLI spec for more details. This URL format is only supported if the server is VMWare ESX.&lt;/li&gt;
&lt;li&gt;/tmp/file – (HTTP PUT only) Put a file to the /tmp directory on the host. Implicit creation of directories is supported. This URL format is only supported if the server is VMware ESX.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
You can GET and PUT any file on a datastore, you can GET and PUT a selected set of configuration files, and you can PUT files into /tmp or a subdirectory of /tmp on VMware ESX.&lt;br /&gt;
&lt;br /&gt;
The easiest way to determine what URLs you can use (except /tmp) is to open &lt;a class="jive-link-external" href="https://"&gt;https://&lt;/a&gt;&amp;lt;server&amp;gt;/folder and &lt;a class="jive-link-external" href="https://"&gt;https://&lt;/a&gt;&amp;lt;server&amp;gt;/host in your web browser and browse. Any file that you can GET in the browser you can also PUT.&lt;br /&gt;
&lt;br /&gt;
For more information about how to PUT or GET files using Java programming, see the samples under com.vmware.vimsample.httpfileaccess package in VI SDK package.&lt;br /&gt;
&lt;br /&gt;
In this release, HTTP DELETE is not supported, but deleting datastore files is supported in the VIM API by the DeleteFile operation in HostDatastoreBrowser (deprecated) and the DeleteDatastoreFile operation in FileManager.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How can I get cpu wait on VMware VirtualCenter 2.0.2?&lt;/b&gt;&lt;br /&gt;
With VMware VirtualCenter 2.0.2, the cpu wait counter name changed to cpu idle . With VMware ESX 3.5, it reverted to cpu wait.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Why am I seeing a compilation error while building the SDK 2.0.1 code in a VirtualCenter 2.5RC1 environment?&lt;/b&gt;&lt;br /&gt;
Changes in constructors in Axis 1.4 cause this error.&lt;br /&gt;
&lt;br /&gt;
PropertyFilterSpec, ObjectSpec, CustomizationFixedName, SharesInfo, TraversalSpec&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Do I need Pegasus for CIM classes?&lt;/b&gt;&lt;br /&gt;
Pegaus contains the providers that implement some generic CIM classes as well as CIM classes specific to VMware. (One can get more info about these classes from the following guide as well as DMTF Web site.&lt;br /&gt;
&lt;br /&gt;
Pegasus is on the server but you can run your choice of CIM library on the client.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Which versions of VMware ESX and VMware VirtualCenter are compatible with SDK 2.0?&lt;/b&gt;&lt;br /&gt;
With vim2, applications work on VMware ESX 3.0.x, VMware ESX 3.5.x, VMware ESXi 3.5, VMware VirtualCenter 2.0.x, and VMware VirtualCenter 2.5.x without change. The new functionality delivered by vim25 works only with 2.5, 3.5, and 3i.</description>
      <pubDate>Fri, 22 Aug 2008 20:04:11 GMT</pubDate>
      <author>cromero@vmware.com</author>
      <guid>http://communities.vmware.com/docs/DOC-7274</guid>
      <dc:date>2008-08-22T20:04:11Z</dc:date>
      <clearspace:dateToText>2 months, 3 weeks ago</clearspace:dateToText>
    </item>
    <item>
      <title>what managed entities are performance providers?</title>
      <link>http://communities.vmware.com/docs/DOC-7134</link>
      <description>Hi folks,&lt;br /&gt;
&lt;br /&gt;
What managed entities are performance providers?&lt;br /&gt;
&lt;br /&gt;
Obviously HostSystem and VirtualMachine. They work just fine to me.&lt;br /&gt;
&lt;br /&gt;
What's about Network? Datastore? ResourcePool? ComputeResource? ClusterComputeResource?&lt;br /&gt;
To me they fail to provide performance statistics ...&lt;br /&gt;
Maybe they need to be addressed by MOR from a specific node on the object instances tree?&lt;br /&gt;
&lt;br /&gt;
The VI API reference instead of listing, gives them a brilliant description 8-/:&lt;br /&gt;
"Those managed entities that are capable of returning performance statistics are Performance Providers."&lt;br /&gt;
&lt;br /&gt;
As useful as it gets...&lt;br /&gt;
&lt;br /&gt;
Thanks in advance.&lt;br /&gt;
&lt;hr /&gt;
I'll use Powershell since that's what I'm working with at the moment...&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;get the moref of the PerfManager&lt;/li&gt;
&lt;/ol&gt;
PS&amp;gt; $perfMoRef = (get-view ServiceInstance).Content.PerfManager&lt;br /&gt;
&lt;br /&gt;
#get the moref for a VM&lt;br /&gt;
PS&amp;gt; $vmMoRef = (get-vm MYVM01 | get-view).Moref&lt;br /&gt;
&lt;br /&gt;
#grab the counters for the last hour&lt;br /&gt;
PS&amp;gt; $counters = (get-view $perfMoRef).QueryAvailablePerfMetric($vmMoRef,(Get-Date).AddHours(-1),(Get-Date),20)&lt;br /&gt;
&lt;br /&gt;
As you mentioned, this works for the VM&lt;br /&gt;
&lt;br /&gt;
When I try the same for a cluster:&lt;br /&gt;
&lt;br /&gt;
PS&amp;gt;  $counters_for_cluster = (get-view $perfMoRef).QueryAvailablePerfMetric($clMoRef,(Get-Date).AddHours(-1),(Get-Date),20)&lt;br /&gt;
&lt;br /&gt;
I get&lt;br /&gt;
&lt;br /&gt;
Exception calling "QueryAvailablePerfMetric" with "4" argument(s): "A specified parameter was not correct.&lt;br /&gt;
interval"&lt;br /&gt;
At line:1 char:65&lt;br /&gt;
+ $counters_for_cluster = (get-view $perfMoRef).QueryAvailablePerfMetric( &amp;lt;&amp;lt;&amp;lt;&amp;lt; $clMoRef,(Get-Date).AddHours(-1),(Get-Date),20)&lt;br /&gt;
&lt;br /&gt;
(Note... I revisited the above after getting to the bottom... setting the interval (4th parm) to -1 returned an array of perfMetric IDs)... maybe that's the key ???&lt;br /&gt;
&lt;br /&gt;
So, I tried another approach (using powershell cmdlets rather than trying to navigate the objects):&lt;br /&gt;
PS&amp;gt; get-cluster  | get-stat -common&lt;br /&gt;
PS&amp;gt;  get-resourcepool  | get-stat -common&lt;br /&gt;
&lt;br /&gt;
... both return data for "cpu.usagemhz.average" and "mem.usage.average" metrics.&lt;br /&gt;
&lt;br /&gt;
As expected,&lt;br /&gt;
PS&amp;gt;  get-vmhost | get-stat -common&lt;br /&gt;
&lt;br /&gt;
returns a boatload of data and &lt;br /&gt;
PS&amp;gt;  get-datastore | get-stat -common&lt;br /&gt;
&lt;br /&gt;
returns a bunch of errors.&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Something else interesting is this... the VM supports realtimne stats while the cluster only supports summary stats&lt;br /&gt;
#cluster&lt;br /&gt;
PS&amp;gt; (get-view $perfMoRef).QueryPerfProviderSummary($clMoRef)&lt;br /&gt;
Entity           : VMware.Vim.ManagedObjectReference&lt;br /&gt;
CurrentSupported : False&lt;br /&gt;
SummarySupported : True&lt;br /&gt;
RefreshRate      : -1&lt;br /&gt;
&lt;br /&gt;
#vm&lt;br /&gt;
PS&amp;gt; (get-view $perfMoRef).QueryPerfProviderSummary($vmMoRef)&lt;br /&gt;
Entity           : VMware.Vim.ManagedObjectReference&lt;br /&gt;
CurrentSupported : True&lt;br /&gt;
SummarySupported : True&lt;br /&gt;
RefreshRate      : 20&lt;br /&gt;
&lt;br /&gt;
If this doesn't help, I'll look at it in Perl, but it may take a few days for me to get back to it.&lt;br /&gt;
&lt;br /&gt;
Doug&lt;br /&gt;
&lt;p /&gt;
&lt;hr /&gt;
... Oh, and I found a list as soon as I posted before  &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/grin.gif" alt=":D" /&gt;&lt;br /&gt;
&lt;br /&gt;
Go to page 108-110 of this doc&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vc-sdk/visdk25pubs/visdk25programmingguide.pdf"&gt;http://www.vmware.com/support/developer/vc-sdk/visdk25pubs/visdk25programmingguide.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Sorry, formatting the table so it would look nice in the forum post wasn't going to happen!&lt;br /&gt;
&lt;hr /&gt;
Thanks Doug,&lt;br /&gt;
&lt;br /&gt;
I have a C# code that can tell whether a managed object is a performance provider, it is not a problem.&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;br /&gt;
Yes, the guide has kind of list of the objects.&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
I was hoping for more &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/happy.gif" alt=":-)" /&gt;.&lt;br /&gt;
&lt;p /&gt;
&lt;hr /&gt;
Thanks Doug, I appreciate you answering my post&lt;br /&gt;
&lt;hr /&gt;
&lt;div class="jive-quote"&gt;&lt;span class="jive-quote-header"&gt;dmitrif wrote:&lt;/span&gt;&lt;br /&gt;
I was hoping for more &lt;img class="jive-emoticon" border="0" src="http://communities.vmware.com/images/emoticons/happy.gif" alt=":-)" /&gt;.&lt;/div&gt;
I've noticed that I spend a bit of time digging for information -- and messing around with the code to see why I get odd errors when I &lt;b&gt;think&lt;/b&gt; I should have it right.&lt;br /&gt;
&lt;br /&gt;
I had chalked it up to me learning the API, but I find myself in the same situation, although,for common tasks, the Powershell toolkit hides a lot of the complexity.&lt;br /&gt;
&lt;hr /&gt;
I still cannot get QueryPerfProviderSummary from a ComputeResource.&lt;br /&gt;
&lt;br /&gt;
Are you saying I can QueryAvailablePerfMetric on it anyway using -1 the interval ID?&lt;br /&gt;
&lt;hr /&gt;
You need to first get MOR of Compute Resource and then use the same with QueryPerf. -1 is not a valid value for interval ID. First you need to query AvailablePerfIntervals for ComputeResource and then use the same for querying performance data.&lt;br /&gt;
&lt;hr /&gt;
When I called &lt;br /&gt;
&lt;br /&gt;
$counters_for_cluster = (get-view $perfMoRef).QueryAvailablePerfMetric($clMoRef,(Get-Date).AddHours(-1),(Get-Date),-1)&lt;br /&gt;
&lt;br /&gt;
on a ClusterResource, it worked.  I'll try a ComputeResource in my lab -- but my internet access is a little weak, so I'll have to work fast.&lt;br /&gt;
&lt;br /&gt;
Message was edited by: DougBaer (weird asterisks in code... meant to be bold)&lt;br /&gt;
&lt;hr /&gt;
Hi Subramanyam,&lt;br /&gt;
&lt;br /&gt;
This is exactly what I'm doing.&lt;br /&gt;
&lt;br /&gt;
1. I use the ComputeResource instnce MOR to call QueryPerfProviderSummary: it fails (invalid argument)&lt;br /&gt;
is this what you call "query AvailablePerfIntervals"?&lt;br /&gt;
&lt;br /&gt;
2. I call QueryAvailablePerfMetric (with the same MOR) to get the list of metric IDs: it fails too  (invalid argument)&lt;br /&gt;
&lt;br /&gt;
3. after that I'm suppose to call QueryPerfCounter to get metadata of the available metrics and QueryPerf to get samples.&lt;br /&gt;
&lt;br /&gt;
How different it is from what you're suggesting?&lt;br /&gt;
&lt;br /&gt;
Thanks!&lt;br /&gt;
&lt;hr /&gt;
Thanks Doug for a good advise; I've just installed Powershell with the VMware Infrastructure Toolkit, it really helps to get things straight.&lt;br /&gt;
&lt;hr /&gt;
I don'd know if you've seen this, but VMware has some good sample code here for Perl, Java and C#:&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.vmware.com/communities/content/developer/samplecode/"&gt;http://www.vmware.com/communities/content/developer/samplecode/&lt;/a&gt;&lt;br /&gt;
&lt;hr /&gt;
Thanks Doug, I've seen it, the code is so-so, I'm coding something a little bit more sophisticated. &lt;br /&gt;
&lt;br /&gt;
But it gave me some pointers, especially Java samples.&lt;br /&gt;
&lt;hr /&gt;
Glad to hear it.  Hitting the VI client, I can pull perf data from Host, VM, Cluster, and Resource Pool objects -- my guess is that this is everything that is a perf provider.&lt;br /&gt;
&lt;br /&gt;
From the API Reference (&lt;a class="jive-link-external" href="http://pubs.vmware.com/vi3/sdk/ReferenceGuide/vim.ComputeResource.html"&gt;http://pubs.vmware.com/vi3/sdk/ReferenceGuide/vim.ComputeResource.html&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;Managed Object - ComputeResource&lt;br /&gt;
&lt;p /&gt;
Description: Represents a set of physical compute resources for a set of virtual machines. &lt;br /&gt;
The base type ComputeResource, when instantiated by calling vim.Folder.CreateStandaloneHost, represents a single host. &lt;br /&gt;
The subclass ClusterComputeResource represents a cluster of hosts and adds distributed management features such as &lt;br /&gt;
availability and resource scheduling. A ComputeResource always has a root ResourcePool associated with it. &lt;br /&gt;
Certain types of clusters such as those with VMware DRS enabled and standalone hosts (ESX Server 3) support the &lt;br /&gt;
creation of ResourcePool hierarchies.  From the Perl Programming Guide:&amp;gt; ==find_entity_view==&lt;br /&gt;
Searches the inventory tree for a managed entity that matches the specified entity type. The search begins with&lt;br /&gt;
the root folder unless the begin_entity parameter is specified.&lt;br /&gt;
Parameters:&lt;br /&gt;
view_type &amp;ndash; Managed entity type specified as one of these strings:&lt;br /&gt;
o &amp;ldquo;ClusterComputeResource&amp;rdquo;&lt;br /&gt;
o &amp;ldquo;ComputeResource&amp;rdquo;&lt;br /&gt;
o &amp;ldquo;Datacenter&amp;rdquo;&lt;br /&gt;
o &amp;ldquo;Folder&amp;rdquo;&lt;br /&gt;
o &amp;ldquo;HostSystem&amp;rdquo;&lt;br /&gt;
o &amp;ldquo;ResourcePool&amp;rdquo;&lt;br /&gt;
o &amp;ldquo;VirtualMachine&amp;rdquo;&lt;/div&gt;
=== Try some code -- were you using Perl? ===&lt;br /&gt;
&lt;br /&gt;
my $perfmgr_view = Vim::get_view(mo_ref =&amp;gt; Vim::get_service_content()-&amp;gt;perfManager);&lt;br /&gt;
my $perfCounterInfo = $perfmgr_view-&amp;gt;perfCounter;   &lt;br /&gt;
&lt;br /&gt;
sub GetResource {&lt;br /&gt;
my $crs = Vim::find_entity_views(view_type =&amp;gt; $_[0]);&lt;br /&gt;
foreach my $cr (@$crs) {&lt;br /&gt;
print $_[0]," ", $cr-&amp;gt;name,"\n";&lt;br /&gt;
return $cr;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;p /&gt;
my $testVM = GetResource('VirtualMachine');&lt;br /&gt;
my $PerfSummary = $perfmgr_view-&amp;gt;QueryPerfProviderSummary( entity =&amp;gt; $testVM ) ;&lt;br /&gt;
print "currentSupported:",$PerfSummary-&amp;gt;currentSupported,"\n";&lt;br /&gt;
print "refreshRate:",$PerfSummary-&amp;gt;refreshRate,"\n";&lt;br /&gt;
print "summarySupported:",$PerfSummary-&amp;gt;summarySupported,"\n";&lt;br /&gt;
print "\n";&lt;br /&gt;
&lt;br /&gt;
my $testCR = GetResource('ComputeResource');&lt;br /&gt;
$PerfSummary = $perfmgr_view-&amp;gt;QueryPerfProviderSummary( entity =&amp;gt; $testCR ) ;&lt;br /&gt;
print "currentSupported:",$PerfSummary-&amp;gt;currentSupported,"\n";&lt;br /&gt;
print "refreshRate:",$PerfSummary-&amp;gt;refreshRate,"\n";&lt;br /&gt;
print "summarySupported:",$PerfSummary-&amp;gt;summarySupported,"\n";&lt;br /&gt;
print "\n";&lt;br /&gt;
#print Dumper ($testCR) . "\n\n\n";&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;br /&gt;
my $testCCR = GetResource('ClusterComputeResource');&lt;br /&gt;
$PerfSummary = $perfmgr_view-&amp;gt;QueryPerfProviderSummary( entity =&amp;gt; $testCCR ) ;&lt;br /&gt;
print "currentSupported:",$PerfSummary-&amp;gt;currentSupported,"\n";&lt;br /&gt;
print "refreshRate:",$PerfSummary-&amp;gt;refreshRate,"\n";&lt;br /&gt;
print "summarySupported:",$PerfSummary-&amp;gt;summarySupported,"\n";&lt;br /&gt;
#print Dumper ($testCCR) . "\n\n\n";&lt;br /&gt;
&lt;br /&gt;
__END__&lt;br /&gt;
&lt;br /&gt;
For me, this returns&lt;br /&gt;
C:\Scripts\SAMPLES&amp;gt;perl Myperf.pl&lt;br /&gt;
VirtualMachine UDA&lt;br /&gt;
currentSupported:1&lt;br /&gt;
refreshRate:20&lt;br /&gt;
summarySupported:1&lt;br /&gt;
&lt;br /&gt;
ComputeResource DL580 Cluster&lt;br /&gt;
currentSupported:0&lt;br /&gt;
refreshRate:-1&lt;br /&gt;
summarySupported:1&lt;br /&gt;
&lt;br /&gt;
ClusterComputeResource DL580 Cluster&lt;br /&gt;
currentSupported:0&lt;br /&gt;
refreshRate:-1&lt;br /&gt;
summarySupported:1&lt;br /&gt;
&lt;br /&gt;
=== &lt;br /&gt;
&lt;br /&gt;
This tells me that, for ClusterCompute resources, current data is not kept... only summary. This kind of makes sense since it is an aggregate (assuming that a ComputeResource is, in fact, a ClusterComputeResource).&lt;br /&gt;
&lt;br /&gt;
NOTE: the description for the &lt;b&gt;refreshRate&lt;/b&gt; property:&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;div class="jive-quote"&gt;Specifies in seconds the interval between which the system updates performance statistics. &lt;br /&gt;
Generally speaking, querying for a metric at a faster rate than this does not yield additional information. &lt;br /&gt;
&lt;b&gt;This value applies only to entities that support real-time (current) statistics.&lt;/b&gt; &lt;/div&gt;
Message was edited by: DougBaer (formatting)&lt;br /&gt;
&lt;hr /&gt;
Bottom line is that you appear to be able to get &lt;b&gt;Realtime&lt;/b&gt; performance stats from HostSystem and VirtualMachine objects, but summary performance only for ComputeResource, ClusterComputeResource and ResourcePool objects.&lt;br /&gt;
&lt;hr /&gt;
That's right, it seems to be the correct picture.&lt;br /&gt;
&lt;br /&gt;
Thanks Doug&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
This document was generated from the following thread: &lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/161969"&gt;what managed entities are performance providers?&lt;/a&gt;</description>
      <pubDate>Mon, 18 Aug 2008 15:35:51 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-7134</guid>
      <dc:date>2008-08-18T15:35:51Z</dc:date>
      <clearspace:dateToText>1 year, 3 months ago</clearspace:dateToText>
    </item>
    <item>
      <title>How to Quiesce a VM without snapshot</title>
      <link>http://communities.vmware.com/docs/DOC-6780</link>
      <description>In order for me to take lun snapshots on my netapp filer, i need to quiesce the vm&lt;br /&gt;
&lt;br /&gt;
here is the sample code that i have seen. However, this only quiesce's it for the duration of the vm snapshot - how can i tell it to quiesce untill i am done with a netapp snapshot. please advise.&lt;br /&gt;
&lt;p /&gt;
        $_-&amp;gt;CreateSnapshot(name  =&amp;gt; "$vm_tmpsnapshotname",&lt;br /&gt;
                                 description =&amp;gt; 'snapshot for netapp quiesce',&lt;br /&gt;
                                 memory =&amp;gt; 0,&lt;br /&gt;
&lt;br /&gt;
also, I don't really want to take a vm snapshot , just a netapp snapshot</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">snapshot</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">netapp</category>
      <pubDate>Tue, 05 Aug 2008 16:50:29 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-6780</guid>
      <dc:date>2008-08-05T16:50:29Z</dc:date>
      <clearspace:dateToText>1 year, 3 months ago</clearspace:dateToText>
    </item>
    <item>
      <title>Managing VMware VI using Jython (Java implementation of Python)</title>
      <link>http://communities.vmware.com/docs/DOC-5770</link>
      <description>Jython looks very much like Python. If you know how to program Python, you pretty much know how to code in Jython.&lt;br /&gt;
&lt;br /&gt;
With the &lt;a class="jive-link-external" href="http://vijava.sf.net/"&gt;VI Java API&lt;/a&gt;, it's made possible to script VI SDK in Jython. The following is a sample HelloVM.py:&lt;br /&gt;
&lt;p /&gt;
&lt;img src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-5770-2-2813/HelloVM_py.jpg" alt="HelloVM_py.jpg" width="620" class="jive-image-thumbnail jive-image" onclick="myJiveImage.start(this, 'http://communities.vmware.com/servlet/JiveServlet/downloadImage/102-5770-2-2813/HelloVM_py.jpg');return false;"/&gt;&lt;br /&gt;
&lt;p /&gt;
More much can be done with Jython. For more details, please read through this PDF document.</description>
      <pubDate>Mon, 09 Jun 2008 00:13:01 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-5770</guid>
      <dc:date>2008-06-09T00:13:01Z</dc:date>
      <clearspace:dateToText>1 year, 5 months ago</clearspace:dateToText>
    </item>
    <item>
      <title>Leveraging Java with the IBM JRE</title>
      <link>http://communities.vmware.com/docs/DOC-4660</link>
      <description>A forums user pointed out that the &lt;a class="jive-link-external" href="http://ws.apache.org/axis/java/apiDocs/org/apache/axis/components/net/IBMFakeTrustSocketFactory.html"&gt;IBMFakeTrustSocketFactory&lt;/a&gt; is not available in the Axis libraries unless Axis is compiled against the IBM JDK. For those of you using the IBM JRE you may want to read the &lt;a class="jive-link-external" href="http://communities.vmware.com/thread/140533?tstart=0"&gt;following thread&lt;/a&gt;. It talks about the IBMFakeTrustSocketFactory and links to a version of Axis built against the IBM JDK ready for use with the IBM JRE. &lt;br /&gt;
&lt;br /&gt;
Hope this helps!</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">api</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">axis</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">java</category>
      <pubDate>Mon, 21 Apr 2008 19:37:12 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-4660</guid>
      <dc:date>2008-04-21T19:37:12Z</dc:date>
      <clearspace:dateToText>1 year, 7 months ago</clearspace:dateToText>
    </item>
    <item>
      <title>fail install vmware infrastructure manager</title>
      <link>http://communities.vmware.com/docs/DOC-4440</link>
      <description>&lt;br /&gt;
Hello,&lt;br /&gt;
&lt;p /&gt;
i install vmware ifrastructure manager and it say this error (look to attachment)&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
I use windows XP, 2,4Ghz CPU, 2GB RAM.&lt;br /&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;p /&gt;
WHere is problem? Thank you very much.</description>
      <pubDate>Thu, 10 Apr 2008 14:43:41 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-4440</guid>
      <dc:date>2008-04-10T14:43:41Z</dc:date>
      <clearspace:dateToText>1 year, 7 months ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
    </item>
    <item>
      <title>Leveraging the VI3 SDK with .NET - Parts 1, 2, and 3</title>
      <link>http://communities.vmware.com/docs/DOC-3340</link>
      <description>These articles are a series I wrote for TechTarget way back in September of 2006. Can you believe that it has been that long since VI3 started making waves? Anyway, I've had a lot of good feedback on these articles. They attempt to demystify the object model and hierarchy to help lower the barrier of entry for VI3 development. I hope you find these useful!&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://searchvmware.techtarget.com/tip/0,289483,sid179_gci1277590,00.html?track=NL-653&amp;#38;ad=575200USCA&amp;#38;asrc=EM_NLN_853436&amp;#38;uid=5437144"&gt;Part 1 - Leveraging the VI3 SDK with .NET - Understanding the VI3 SDK&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://searchvmware.techtarget.com/tip/0,289483,sid179_gci1277591,00.html"&gt;Part 2 - Leveraging the VI3 SDK with .NET - Digging Deeper&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a class="jive-link-external" href="http://searchvmware.techtarget.com/tip/0,289483,sid179_gci1277593,00.html?asrc=SS_CLA_303454&amp;#38;psrc=CLT_94"&gt;Part 3 - Leveraging the VI3 SDK with .NET - Exploring the SDK&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/tags?communityID=2416">c#</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">api</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">sdk</category>
      <pubDate>Mon, 03 Mar 2008 22:51:33 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-3340</guid>
      <dc:date>2008-03-03T22:51:33Z</dc:date>
      <clearspace:dateToText>1 year, 8 months ago</clearspace:dateToText>
    </item>
    <item>
      <title>VMworld 2007 - VI Perl Toolkit Lab Content</title>
      <link>http://communities.vmware.com/docs/DOC-1571</link>
      <description />
      <category domain="http://communities.vmware.com/tags?communityID=2416">perl</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">toolkit</category>
      <category domain="http://communities.vmware.com/tags?communityID=2416">vi-perl</category>
      <pubDate>Wed, 17 Oct 2007 09:32:27 GMT</pubDate>
      <guid>http://communities.vmware.com/docs/DOC-1571</guid>
      <dc:date>2007-10-17T09:32:27Z</dc:date>
      <clearspace:dateToText>2 years, 1 month ago</clearspace:dateToText>
    </item>
  </channel>
</rss>

