vSphere: VI vs Web Services SDK Toolkit

I'm looking in the development of some tools to automate my vSphere infrastructure. I intend to write code using c# and the code could potentially be placed in Windows forms, web services, etc..

I downloaded the .NET SDK for vSphere web service and it seems to be rather too complicated to perform simple tasks like comments to restart. I also found the kit of development .NET for the VI (VMware.vim) Toolkit, which looks much simpler to use.

Y at - there a lot of difference between the two software development kits? There that all define the reasons for choosing one over the other?

Any help would be greatly appreciated.

VI Toolkit 1.5: target platform: vSphere 4.0 and above, VMware Infrastructure 3.x and higher.

Web Services SDK: target platform: 4.0 and VMware Infrastructure 3.X vSphere

---

iSCSI SAN software

http://www.starwindsoftware.com

Tags: VMware

Similar Questions

  • The implementation of RunProgramInGuest of VIX using the vSphere Web Services SDK?

    Hello

    A few months ago I developed a python API for VIX, but as I needed to extend the functionality of this API (performance monitoring, host management, etc.) I moved the vSphere Web Services SDK.

    However, I did find a way to implement some comments VIX as LoginInGuest or RunProgramInGuest functions using only the Web Services SDK.

    Is there a way to do this? I thought that each function VIX has been translated internally to a soap request, but now I think that is not the case for these functions of comments, if so, how VIX inwardly does them?

    Thanks for your help!

    Sebastian Tello

    Currently, if you must implement specific comments operations running a specific script/application or by connecting to a guest, you must use the VIX API. This feature is not currently exposed in the vSphere API, you will need to use a combination of both, until VMware them integrates in the vSphere API core. For more details on the future of VIX, take a look at this blog post - http://www.virtuallyghetto.com/2010/11/what-is-vmware-vix-api-and-its-future.html

  • What is the difference between "vShpere SDK ro Perl"and "vSphere Web Services SDK (for Java or c#)"?

    Hello world! I'm new to "VMware vSphere API", and I have a question to ask you to help:

    What is the difference between "vShpere SDK ro Perl"and "vSphere Web Services SDK (for Java or c#)"?

    -What are the different programming language? Is there another difference?

    I'm looking forward to your reply.

    Thank you!

    If you are new on the VMware API/SDK, highly recommend you take a look at the following: Getting Started with vSphere SDK - Update for SDK 4.1 release

    vSphere SDK for Perl is just one of the many client SDK for vSphere API that is flush with vcenter times and ESX (i) as a standard Web service.

    vSphere SDK for Java - SDK Java to vSphere API for Java developers

    vSphere SDK for Perl - Perl SDK for vSphere API for Perl developers

    vSphere SDK for c# - c# SDK for vSphere API for c# developers

    PowerCLI - PowerShell SDK for vSphere API for developers of Powershell

    I hope that makes a bit more sense

    =========================================================================

    William Lam

    VMware vExpert 2009,2010

    VMware VCP3, 4

    VMware VCAP4-DCA

    VMware scripts and resources at: http://www.virtuallyghetto.com/

    Twitter: @lamw

    repository scripts vGhetto

    Introduction to the vMA (tips/tricks)

    Getting started with vSphere SDK for Perl

    VMware Code Central - Scripts/code samples for developers and administrators

    VMware developer community

    If you find this information useful, please give points to "correct" or "useful".

  • With regard to the use of the web service sdk web client SDK

    Hello

    I could run the java program of the Web SDK service, independently, but how what I call web client SDK.

    Because it requires changes in environmental variables (AXIS, WBEM vars etc.) and what are all the eclipse changes required to do this?

    Help, please. Also, if you could suggest any web client sdk sample, call web service sdk, it would be a great help.

    Thank you!

    It's covered in the SDK samples, see docs/samples-doc/vsphereviews.html#vsphere-ui and samples/vsphereviews/vsphere-wssdk-provider

  • Which server to connect to with Web Services SDK?

    Is there a way to know which server to connect to when using Web Services SDK?  It must be the ESX Server virtual machine is on, I guess.  But a customer pretends that we are connect to its server vCenter Server, which I do not think that was possible. I tried to call one of the SDK sample and connect to my vCenter server, but it didn't connect. I had to connect to my server ESX or vSphere.

    We use them vSphere 4.0

    The only api vSphere is available on (i) ESX and vCenter, some things will be available on one or the other, for example, cloning is a feature of vCenter and there will be APIs that is available only when connecting to vCenter. Depending on what you're trying to run, you can be able to obtain the information by using two systems, such as the search for a virtual machine. If you manage only a single host, it is pretty trivial, but if you manage more than 20 + guests and you have vCenter, then you probably want to use vCenter.

    I don't think you understand clearly the operation of the vSphere API and what is worrying, it is that you meet your customers to run a script unknown in which they or you understand. I think that I have answered some of your questions in the past, to reiterate that if you are new to the VMware/SDK API, I would recommend that you completely cross the following document - Getting Started with vSphere SDK - Update for SDK 4.1 release

    =========================================================================

    William Lam

    VMware vExpert 2009,2010

    VMware VCP3, 4

    VMware VCAP4-DCA

    VMware scripts and resources at: http://www.virtuallyghetto.com/

    Twitter: @lamw

    repository scripts vGhetto

    Introduction to the vMA (tips/tricks)

    Getting started with vSphere SDK for Perl

    VMware Code Central - Scripts/code samples for developers and administrators

    VMware developer community

    If you find this information useful, please give points to "correct" or "useful".

  • Specific VirtualMachine counters through the Web Services SDK

    Hello

    I'm developing a monitorapp in c# with the web services SDK.

    I am able to get a list of all the performance with the PerformanceManager counters.

    ObjectContent [oCont] is getPropertyContent ("PerformanceManager", "perfCounter", _serviceContent.perfManager);.

    I ask this directly to an ESX 4.

    The answer I'll be of return contains all of the available counters, but there is no division between the host and the virtual-counter Machine.

    For example, cpu.utilization is available for the host and not a VM.

    Is it possible to know somehow what counters are specific to vm?

    I am able to get object references managed virtual machines if that's any help...

    Thanks in advance!

    Glenn

    Hi Glenn,.

    The property "perfCounter" PerformanceManager fetch all of the counters that are available in the host or vCenter. It provides no mechanism to filter counters. In order to obtain the available counters specific to a managed entity (VM, host, etc.) you must use the QueryAvailablePerfMetric method. Calling this method against MOR of the virtual machine, you will get all the ID counter for this virtual machine.

    http://www.VMware.com/support/developer/VC-SDK/visdk41pubs/ApiReference/Vim.PerformanceManager.html#queryAvailableMetric

    I hope this helps!

    Neha

  • Is it possible to set configuration options VMsafe via vSphere Web Service SDK?

    Is it possible to define VMsafe configuration options via the web service of vSphere SDK?

    I noticed that the options in question are 'OptionValue's contained in the property config.extraConfig of the virtual machine, so I tried to edit them using the method ReconfigVM_Task of the SOAP API.

    This fails however, even if the SOAP request appears to be valid:

    & lt;? XML version = "1.0"? & gt;

    " & lt; env:Envelope xmlns:env = ' http://schemas.xmlsoap.org/SOAP/envelope/ "& gt; .

    & lt; env:header / & gt;

    & lt; env:body & gt;

    & lt; N1:ReconfigVM_Task xmlns:n1 = "urn: vim25" & gt;

    & lt; N1:_this type = 'VirtualMachine' & gt; VM - 448 & lt; / n1:_this & gt;

    & lt; N1:spec xsi: type = "VirtualMachineConfigSpec" & gt;

    & lt; N1:extraConfig xsi: type = "n1:OptionValue" & gt;

    & lt; N1:key & gt; vmsafe.enable & lt; / n1:key & gt;

    & lt; N1: value & gt; FAKE & lt; / n1: value & gt;

    & lt; / n1:extraConfig & gt;

    & lt; / n1:spec & gt;

    & lt; / n1:ReconfigVM_Task & gt;

    & lt; / env:Body & gt;

    & lt; / env:Envelope & gt;

    This query generates the following error:

    & lt;? XML version = "1.0" encoding = "UTF-8"? & gt;

    " & lt; soapenv:Envelope xmlns:soapenc = ' http://schemas.xmlsoap.org/SOAP/encoding/ "xmlns:soapenv =" " http://schemas.xmlsoap.org/SOAP/envelope/ "container =" " http://www.w3.org/2001/XMLSchema "" xmlns: xsi = " " http://www.w3.org/2001/XMLSchema-instance "& gt; .

    & lt; soapenv:body & gt;

    & lt; soapenv:fault & gt; & lt; faultcode & gt; ServerFaultCode & lt; / faultcode & gt; & lt; faultstring & gt; invalid argument: value & lt; / faultstring & gt; & lt; retail & gt; & lt; InvalidRequestFault xmlns = "urn: vim25" xsi: type = "InvalidRequest" / & gt; & lt; / detail & gt; & lt; / soapenv:Fault & gt;

    & lt; / soapenv:Body & gt;

    & lt; / soapenv:Envelope & gt;

    For help in resolving this issue will be greatly appreciated.

    I'm glad it worked! Don't forget awareness useful or correct points

    =========================================================================

    William Lam

    VMware vExpert 2009

    Scripts for VMware ESX/ESXi and resources at: http://engineering.ucsb.edu/~duonglt/vmware/

    repository scripts vGhetto

    VMware Code Central - Scripts/code samples for developers and administrators

    http://Twitter.com/lamw

    If you find this information useful, please give points to "correct" or "useful".

  • Create new folder (CreateFolder method) Web Services SDK c#

    Hello

    Having problems in my code below. Someone help me, I really am lost, do not know what to do do.just a newbie... Here is the error.

    Thank you thank you

    Shim

    __________________________________________

    Stack trace:

    [SoapException]
       System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +431678
       System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +204
       Vim25Api.VimService.CreateFolder(ManagedObjectReference _this, String name) +123
       Nimbus.VirtualCenter.Folder.Create(String url, String usid, String pwd) in D:\projects\nimbus\sourcecode\v1\Nimbus\Nimbus.VirtualCenter\Folder.cs:40
       Nimbus.UserPage.Elementpage.TreeView.btnCreateFolder_Click(Object sender, EventArgs e) in D:\projects\nimbus\sourcecode\v1\Nimbus\Nimbus\TreeView.aspx.cs:143
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
    

    ____________________________________________

    public class folder

    {

    public static VimService _service;

    protected ManagedObjectReference _svcRef;

    protected ServiceContent _sic;

    private UserSession _session;

    Public Sub Create (string url, string usid, string pwd) / /, string dcName)

    {

    String datacenterName = dcName; name of the data center

    System.Net.ServicePointManager.CertificatePolicy = new CertPolicy();

    Vim25Api.ManagedObjectReference _svcRef = new ManagedObjectReference();

    Gets the content of the service

    _svcRef.Type = "ServiceInstance."

    _svcRef.value = "ServiceInstance."

    _Service = new VimService();

    _Service. URL = url;

    _Service. CookieContainer = new CookieContainer();

    Console.WriteLine ("before call:" + System.DateTime.Now.ToString ());

    _Sic = service . RetrieveServiceContent (svcRef);

    Console.WriteLine ("after call:" + System.DateTime.Now.ToString ());

    _SESSION = service. Login (sic.sessionManager, usid, pwd, null);

    service. CreateFolder (svcRef, "sample");

    }

    }

    The CreateFolder() method must be called from the vmFolder (VM/model display) or hostFolder (cluster host/view). You must first get a reference to the specific data center, you want to create the folder and then from there, you can get access to vmFolder or hostFolder as seen from managed object data center: http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.Datacenter.html

    =========================================================================

    William Lam

    VMware vExpert 2009

    Scripts for VMware ESX/ESXi and resources at: http://engineering.ucsb.edu/~duonglt/vmware/

    Twitter: @lamw

    repository scripts vGhetto

    Introduction to the vMA (tips/tricks)

    Getting started with vSphere SDK for Perl

    VMware Code Central - Scripts/code samples for developers and administrators

    150 VMware developer

    If you find this information useful, please give points to "correct" or "useful".

  • How to use two different versions of the stub of Web Services SDK files in a single project (5.5 and 6.0)

    Hello

    I have a project that uses the vSphere 5.5 management SDK (I built the stub files according to the documentation) and have these in my c# Solution. Everything works beautifully. My class files that interact with vSphere all have a use statement as follows:

    using Vim25Api;

    All fine so far.

    Now, I want to be able to provide support for a user to connect to vSphere 5.5 and 6.0 vSphere environments. I built the stub files for vSphere Management 6.0 SDK and those in my solution presented in a separate project. Each project is based on a different class library and I have each set of files for each version of vSphere stub in different NuGet packages. However, when I select to use a vSphere 5.5 connection, it seems that internally the 6.0 files stub are used, or vice versa.

    I tried to separate things out by giving the Vim25Service.dll and Vim25Service.XmlSerializers.dll files for each version of alias names (alias by default for all assemblies is "global", but I changed it to vSphere5 and vSphere6 for each version. Then at the top of each class file before all with what I'm doing:

    extern alias vSphere5;

    or

    extern alias vSphere6

    (According to what project I'm in). Then, use the using statement for each class file that interacts with vSphere using vSphere5::Vim25Api; or using vSphere6::Vim25Api; to use the files to correct/stub namespace for each version I support.

    However this still doesn't seem to work, and things seem to be getting confused upwards somehow. I take a guess that internal files make calls and somehow have crossed.

    Is it possible to use two stub version of vSphere together different files in the same project? How should I handle my script? I thought of just upgrading to use the version of vSphere 6 (I can always connect to vCenter 5.5 using these, but some of the properties on the object have changed, (for example some dynamic properties on AlarmObjects and other items have been removed and code breaks if I delete the references to the stub vSphere 5.5 files.) So, I want to keep two different versions and use each of them separately in the same solution, so I support vSphere 5.5 and vSphere 6.

    Solved - this using wsdl.exe and just by specifying a different namespace to use in the proxy class that is generated by using the /n switch.

    for example using PowerShell to build automatically, the value $VimApi and do:

    WSDL.exe/n:$ VimApi...

  • Create Resource Pool c# Web Services SDK

    Hello

    I then starting in this area and I seriously need help.

    Can anyone help/provide code me by creating a resourcepool? and by creating a new folder under a resourcepool?...

    Thank you... Thank you

    Shim

    Check out this script: createResourcepool.pl

    You can certainly add the logic required to even create the folder before the list of resources, etc... but this should give you an example on how to create a resource pool.

    =========================================================================

    William Lam

    VMware vExpert 2009

    Scripts for VMware ESX/ESXi and resources at: http://engineering.ucsb.edu/~duonglt/vmware/

    Twitter: @lamw

    repository scripts vGhetto

    Introduction to the vMA (tips/tricks)

    Getting started with vSphere SDK for Perl

    VMware Code Central - Scripts/code samples for developers and administrators

    150 VMware developer

    If you find this information useful, please give points to "correct" or "useful".

  • Where to start with Web Services

    We run an ESXi 5 environment with a server for vSphere and are eager to develop a system to be able to create virtual machines.

    I came across the site of the developers of VMware and was very happy to find the vSphere Web Services SDK and wanted to know where to start?

    Y at - it software or settings that must be enabled on the vSphere server or ESXi hosts to allow the use of the SDK?  I downloaded the SDK and trying to connect and have had no success yet, and here the possibility that something is not missing on the server.

    Will there be sites level introduction, articles or tutorials on how to start using the SDK?

    I'd appreciate any help that anyone can provide.

    Thank you

    Matt

    Hi Matt,

    Everything you need to start is available here: http://www.vmware.com/support/developer/vc-sdk/

    It has links to:

    1. the developer's Guide

    2. the Program Guide

    3. the online API reference

    4. the download of the software development kit (if you have not already had it)

    The configuration guide for developers gives you all the steps to configure your system, and how to compile the examples. I suggest you review this first and get to the point where you can run the basic example of program that connects to the ESXi host and gets a few values.

    The configuration guide for developers is divided into separate sections for Java and c#. I'm using c# and the guide was in all on-site.

    The following document to read is the vSphere Web Services SDK Programming Guide - it will help you understand all of the concepts you need for programming with the SDK. The information is presented in a generic way, but samples lean towards Java. But not to worry because the SDK c# samples are many and it is easy to cross things between the Programming Guide and a reference sampling program. This guide is very large ~ 250 pages, but you don't need to read all this, chapters 2 to 5 are what I'm focused on - they are the absolute must know things for relying on web services SDK. What follows I'd say depends on what you need to do with the SDK. A very useful reference when reading the chapters 2 to 5 is the managed object (MOB) on your ESXi host browser. It is accessible at https://your-host-url/mob. You can search the managed objects and explore their hierarchy here.

    Once you understand, I dare say that you are able to start your own program with the help of the API reference of course. In fact you may have already tried poking around with a few lines of code by reading the guide just because it is useful to understand the concepts by testing them with code.

    Also nothing should be done on the server to start to use web services SDK.

  • Using the web services via VBScript

    Hello

    I'm very big thing back to the VMware infrastructure.

    (1) in my application, I want to write a VBScript (preferebly) that can consume web services provided by ESX to clone the exsisting images and do some basic operations on, snapshot etc. as powern. Is this feasible?

    (2) according to my understanding, the services web of ESX and vSphere services are the same. Am I wrong?

    (3) services of vSphere web must vSphere is available in fact?

    Please forgive me if any of the issues makes no sense. Kindly guide me further.

    Hi Chaitanya,

    vSphere API provides a way to interface with VMware infrastructure, and these are exposed as services web servers ESX and virtual Center.

    (1) vSphere Web Services SDK facilitates the development of client applications that target the vSphere API. It allows to build SOAP-based applications to control the ESX Servers / vCenter servers and virtual machines running on them.

    You can write client applications in Java or c#. vSphere web services SDK includes files WSDL, examples of code in Java and c#, various libraries and all the necessary components required to work with the vSphere API.

    You can also use vSphere SDK for Perl which provides a script Perl to easy-to-use interface to the vSphere API. SDK comes with utilities and documentation for the creation of vSphere management applications

    (2) are you reason ESX web services are actually vSphere web services. vSphere is bascially the name given for the latest versions of 4.0. Earlier he was VI SDK 2.5/2.0 and now it's vSphere web services SDK.

    (3) vSphere web services are exposed in the ESX servers, so ultimately you need vSphere infrastructure on your side. What is it ask you?

    I hope this information helps!

    -Angela

  • Problems with recursive path of the inventory (c# and web services)

    For starters, let me say that my goal was to write a piece of code that would take the ManagedObjectReference (MOR) of HostSystem when given the MOR in the folder root ESXi system.

    However I can't get this to work with recursion at all. I could just manually each way (no recursion), but because I need to work with the web services SDK much, I really want to get this working.

    I usually get exceptions like "traversal spec labeled" or "invalid type. Invalid type is caused by an error in the capitalization of the letters in the TraversalSpec.type property. But why it tells me I have a "labeled traversal spec' when I took care to specify the names in each TraversalSpec.

    Can anyone provide an example on how to set up a PropertyFilterSpec to browse from the folder root to HostSystem using recursive calls via SelectionSpec?

    Below is some of my code relating to the crossing of the inventory. It's a mess right now and not exactly set up for recursive as calls I kept trying different things to make it work.

    Help is greatly appreciated.

                   ObjectSpec objSpec = new ObjectSpec();
                PropertySpec pSpec = new PropertySpec();
                PropertyFilterSpec pFilterSpec = new PropertyFilterSpec();
    
                SelectionSpec sSpec = new SelectionSpec();
                sSpec.name = "travelFolder";
    
                SelectionSpec sSpec2 = new SelectionSpec();
                sSpec.name = "travelDCtoFolder";
    
                TraversalSpec travelDCtoFolder = new TraversalSpec();
                travelDCtoFolder.name = "travelDCtoFolder";
                travelDCtoFolder.skip = false;
                travelDCtoFolder.type = "Datacenter";
                travelDCtoFolder.path = "hostFolder";
                travelDCtoFolder.selectSet = new SelectionSpec[] { new SelectionSpec() };
                travelDCtoFolder.selectSet[0].name = "travelFolder";
    
                TraversalSpec travelCRtoHF = new TraversalSpec();
                travelDCtoFolder.name = "travelCRtoHF";
                travelDCtoFolder.skip = false;
                travelDCtoFolder.type = "ComputeResource";
                travelDCtoFolder.path = "host";
    
                TraversalSpec travelFolder = new TraversalSpec();
                travelFolder.name = "travelFolder";
                travelFolder.type = "Folder";
                travelFolder.path = "childEntity";
                travelFolder.skip = false;
                travelFolder.selectSet = new SelectionSpec[] { };
    
    
    
                objSpec.obj = hostMOR;
                objSpec.skip = false;
                objSpec.selectSet = new SelectionSpec[] { travelFolder, travelDCtoFolder, travelFolder, travelCRtoHF };
    
                pSpec.type = "ManagedEntity";
                pSpec.pathSet = new string[] { "name" };
    
                pFilterSpec.objectSet = new ObjectSpec[] { objSpec };
                pFilterSpec.propSet = new PropertySpec[] { pSpec };
    

    Here is an example in Java in VI it is must show the way:

            TraversalSpec findHosts = new TraversalSpec();
            findHosts.setType("ComputeResource");
            findHosts.setPath("host");
    
            SelectionSpec recurseFolders = new SelectionSpec();
            recurseFolders.setName("FolderParent");
    
            TraversalSpec findClusters = new TraversalSpec();
            findClusters.setType("Datacenter");
            findClusters.setPath("hostFolder");
            findClusters.setSelectSet(new SelectionSpec[] {recurseFolders} );
    
            TraversalSpec findFolders = new TraversalSpec();
            findFolders.setName("FolderParent");
            findFolders.setType("Folder");
            findFolders.setPath("childEntity");
            findFolders.setSkip(Boolean.FALSE);
            findFolders.setSelectSet(new SelectionSpec[] { recurseFolders, findClusters, findHosts });
    
            ObjectSpec searchFromRoot = new ObjectSpec();
            searchFromRoot.setObj(si.getRootFolder().getMOR());
            searchFromRoot.setSelectSet(new SelectionSpec[] { findFolders });
    
            PropertySpec reportHostName = new PropertySpec();
            reportHostName.setType("HostSystem");
            reportHostName.setPathSet(new String[] { "name" });
    
            PropertyFilterSpec pfSpec = new PropertyFilterSpec();
            pfSpec.setObjectSet(new ObjectSpec[] { searchFromRoot });
            pfSpec.setPropSet(new PropertySpec[] { reportHostName });
    
            PropertyCollector pc = si.getPropertyCollector();
            ObjectContent[] ocs = pc.retrieveProperties(new PropertyFilterSpec[] { pfSpec });
    
            if (ocs != null) {
                for (ObjectContent oc : ocs) {
                    ManagedObjectReference dc = oc.getObj();
                    DynamicProperty[] props = oc.getPropSet();
                    if (props != null && props.length == 1) {
                        String name = (String) props[0].getVal();
                        System.out.println("Found " + dc.getType() + " name is '" + name + "'");
                    }
                }
            }
    

    It's a bit old, so I don't know I can explain it all, but here goes.

    First of all, the ObjectSpec specifies the root folder as starting point, with the 'findFolders' TraversalSpec tell what to look for from there.

    Second place, findFolders, which specifies a found file, select the objects in its list of childEntity.

    If the selected child object of a folder is another folder, the SelectionSpec 'recurseFolders' will point to "findFolders" looking for the child.

    If the selected child object of a record is a data center, "findClusters" will choose its object 'hostFolder' and again use "recurseFolders" looking for this folder.

    If the selected child object of a record is a ComputeResource, he will choose the objects in his list of 'host' and look no further.

  • Unable to connect to vSphere Web Client after you restart the web service from client vSphere in vCenter

    I tried my code change and restarted the service WebClient vSphere. The first time it worked but the second time I restarted the service, he stoped working: when I try to set up the web client from a browser, a pop error message appeared: "Could not connect to vSphere client to web. Contact your administrator to resolve this problem. Then the page is reloaded, but showing the same error over and over again. We run vCenter 6 with web client sdk6.

    logon.JPG

    In the journal of the Virgin, I found this:

    [2015 04-21 T 09: 36:00.361Z] [ERROR] http-bio-9443-exec-4 o.a.c.c.C. [.] [localhost]. [/ vsphere client]. [springServlet]         Servlet.Service () for servlet [springServlet] in the context of path [/ vsphere client] threw exception [processing request failed, the nested exception is java.lang.NullPointerException] with root cause java.lang.NullPointerException: null

    at flex.messaging.io.SerializationContext.clearThreadLocalObjects(SerializationContext.java:249)

    at org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(MessageBrokerHandlerAdapter.java:121)

    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)

    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:330)

    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)

    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:342)

    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:342)

    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:342)

    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:342)

    at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:342)

    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:342)

    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:342)

    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:342)

    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:342)

    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:342)

    at com.vmware.vise.security.websso.SecurityRequestWrapperFilter.doFilterInternal(SecurityRequestWrapperFilter.java:47)

    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

    to org.springframework.security.web.FilterChainProxy$ VirtualFilterChain.doFilter (FilterChainProxy.java:342)

    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)

    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at com.vmware.vise.security.SessionManagementFilter.doFilterInternal(SessionManagementFilter.java:82)

    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at com.vmware.vsphere.client.logging.MDCLogFilter.doFilterInternal(MDCLogFilter.java:41)

    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at com.vmware.vise.extensionfw.DeploymentFilter.doFilter(DeploymentFilter.java:35)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at com.vmware.vise.util.jsp.JspFilter.doFilterInternal(JspFilter.java:54)

    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

    at org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingValve.invoke(ApplicationNameTrackingValve.java:33)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)

    to org.apache.coyote.AbstractProtocol$ AbstractConnectionHandler.process (AbstractProtocol.java:607)

    to org.apache.tomcat.util.net.JIoEndpoint$ SocketProcessor.run (JIoEndpoint.java:313)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

    to java.util.concurrent.ThreadPoolExecutor$ Worker.run (ThreadPoolExecutor.java:615)

    at java.lang.Thread.run(Thread.java:745)

    Your first mistake is:

    > [2015 04-21 T 20: 46:29.308Z] [ERROR] start-signs-2 org.springframework.flex.core.MessageBrokerFactoryBean error thrown during initialization flex.messaging.MessageException MessageBroker: cannot create class of type 'com.vmware.vise.messaging.endpoints.SecureAMFEndpoint '.

    It must be because your UI package is CLEAR. MF does not import the com.vmware.vise.messaging.endpoints package

    If that isn't it, check what is different between your plugin and a similar SDK sample

  • vSphere/vCenter client and web services

    Hello

    Don't vSphere client (or client to vCenter earlier) invoke web services of vSphere internally to perform operations on the ESX Server?

    I'm new to VMware developemnt.

    As I understand it, it's the client vSphere or vCenter is a management console. An actioan/operations such as create VMS or cloning images actually occur on the ESX servers or hosts. Web services are hosted on the ESX servers. When we perform an action via client vSphere/vCenter (e.g. create the VM), internally, it would be invoking appropriate API provided by the web service SDKto do you need.

    My understanding is correct?

    If you connect to vCenter or ESX host (i) themselves by using the Client vSphere, the majority of applications using vSphere API... I say majority because I do not know there are undocumented more that VMware uses behind the scenes, but in general, it is true. If you perform an operation in vCenter and it applies to a host, vCenter will communicate this request to the host.

    If you're new to QALY/SDK: you can spend the time to enter the section "Learning" of the developer forums, there is lots of useful information here: http://communities.vmware.com/community/developer/learn

    Here's a great doc Getting Started with vSphere SDK - Update for SDK 4.1 release that has a lot of information/explanations on how it all works, you should spend time passing on it and then ask questions in the appropriate follow-up, if you need more detailed explanation.

    =========================================================================

    William Lam

    VMware vExpert 2009

    Scripts for VMware ESX/ESXi and resources at: http://engineering.ucsb.edu/~duonglt/vmware/

    repository scripts vGhetto

    VMware Code Central - Scripts/code samples for developers and administrators

    150 VMware developer

    Twitter: @lamw

    If you find this information useful, please give points to "correct" or "useful".

Maybe you are looking for