bfzhao / vim-vsphere-sdk-cpp-wrapper Goto Github PK
View Code? Open in Web Editor NEWA completed C++ wrapper implementation of VMware SDK
A completed C++ wrapper implementation of VMware SDK
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!
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.