GithubHelp home page GithubHelp logo

vim-vsphere-sdk-cpp-wrapper's Introduction

PLEASE READ THIS FILE CAREFULLY BEFORE HAND

This is mainly document of this project. Initially the project is built up
on a Windows server so that I assume I'm using it on Windows below. The final
wrapper is platfrom independent and I have tested it on some Linux systems
already.

====================================================================
How to use

1. Download latest vSphere SDK from VMware site. Currently the link is 
http://www.vmware.com/support/developer/vsphere_mgmt_sdk/index.html. 

2. Download the gSOAP package. We need only those two binaries: soapcpp2.exe
and wsdl2h.exe.

3. Dwonload OpenSSL package, which is required on build the soutce

4. Unzip the those packages to somewhere. Assume you put VMware SDK at C:\SDK
   folder.

5. Execute
   vim.pl -p <wsdl_file> [output folder]

   This command will generate all necessary client stub code by gSOAP tools.

   For example:
   vim.pl -p C:\SDK\vsphere-ws\wsdl\vim25\vimService.wsdl C:\wrapper

   Make sure gSOAP binaries is $PATH environemnt variable

6. Execute
   vim.pl -e <vim_sdk_help_path>

   This command will extract all necessary type information from SDK document.

   For example:
   vim.pl -e C:\SDK\vsphere-ws\docs\ReferenceGuide

7. Execute
   vim.pl -g [output folder]

   This command will generate all the wrapper codes and. additional, CLI MOB
   browser codes.

   For example:
   vim.pl -g C:\wrapper

Now, you should find follwoing source files under C:\wrapper folder:
    soapC.cpp
    soapdefs.h
    soapH.h
    soapStub.h
    soapVimBindingProxy.cpp
    soapVimBindingProxy.h
    stdsoap2.cpp
    stdsoap2.h
    VimBinding.nsmap
    vim_browser.cpp
    vim_browser.h
    vim_wrapper.cpp
    vim_wrapper.h

Except the last four files, all other files are generated by gSOAP or from
gSOAP directly.

If you just want to the wrapper, there are! Just add vim_wrapper.cpp and
vim_wrapper.cpp to your project and do what you want to. However if you
want to build the CLI Managed Object Browser or know how the wrapper are 
used in a really project, you need build all those source files (include
another two: main.cpp and helper.h) into a binary.

=======================================================
Build the CLI MOB
Create an empty project and add all those files in. Before build the project,
you need to do following setting:

1. specify the include path of OpenSSL

2. Specify the library path of OpenSSL

3. Define macro WITH_OPENSSL, WITH_SOAPDEFS_H and WITH_COOKIES.

4. Add additional build option /bigobj as one of gSOAP generated source file 
   is very big

5. Add libeay32.lib and ssleay32.lib to linker

That it! Build the project and you'll get a binary. With it you can browse the
objects of an ESX server just as you did with that HTML based browser. The
syntax is:
   <your_app_name> ip_address user_name password


======================================================
License informaiton

This project use BSD style open source license. You can use this in your
project either open or closed source.

Enjoy it!

vim-vsphere-sdk-cpp-wrapper's People

Contributors

bfzhao avatar

Stargazers

Yang Zhang avatar  avatar  avatar Bo Yan avatar ACoder avatar  avatar

Watchers

 avatar ACoder avatar Debojyoti Majumder avatar

vim-vsphere-sdk-cpp-wrapper's Issues

OpenSSL Upgrade from 1.1 to 3.0

Hi,
I am facing a problem with the VSphere SDK CPP Wrapper, after upgrading the OpenSSL version from 1.1.1 to 3.0. The error is SOAP_SSL_ERROR(30). I referred your GitHub repository bfzhao/VIM-vSphere-SDK-Cpp-Wrapper: A completed C++ wrapper implementation of VMware SDK (github.com).

My only question is that, after upgrading the OpenSSL to the latest version, do I have to re-generate the CPP Wrapper using the latest gSOAP tool & OpenSSL ? I am new to OpenSSL. Please help sharing your view

Regards,
Mahadev

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.