Vmware vsphere 7 api - vmware

I am trying to build a python program to automate vmware vsphere task. Currently i am running vsphere 7 esxi server. The problem is when I try to test the api using postman to list the vm's i get an empty array, but I can see the vm information on the vsphere web client without any problem
API call: https://host-ip/rest/vcenter/vm (header contains the session id created using the create session api)
Can someone say why this is happeningenter image description here

Unfortunately ESXi hosts do not have a REST API service. That service is only available through a vCenter Server. However, you could use the vSphere Web Services (SOAP) API. Since you reference Python, you could also check out the pyvmomi SDK that interacts with that API service.

Related

URL after hosting web application on cloud

I was playing with google cloud just for the sake of learning cloud and web applications.
I made an application using
1)Front end (html,CSS, javascript)
2)Database( sqlite)
3)Middleware(Python Flask)
I have the application running on my local system .I have a flask service running to collect and write data to my DB, an API interface(using flask) to read from the DB and the web application that uses this API to display graphs.
Now I want to host this in google cloud. If i do that I will have the web application running on a port. But will i be able to access that from outside. Is there any way to do that?
That's definitely possible, looks like you should give Google App Engine a try

WSO2 running server and application in different machines

I am new to WSO2 and web service domain. I created an axis2 service application using wso2 carbon studio under eclipse platform. I installed WSO2 WSAS in the same machine and uploaded this service. based on this tutorial.
http://wso2.org/project/carbon-studio/1.0.11/docs/esb_proxy_service_sample.html#CreatingaProxyServiceUsingCarbonStudioIDE
and able to see the result in eclipse console. Now I want to run the server in separate machine and get the result in eclipse console. Can any one give solution for this.
Just run the server on a seperate machine, and use the IP and port on which the server is running and use that from the client code, in plce of localhost.

Unable to add/import WSO2 JAX-RS service into StratosLive Application Server

I have a WSO2 Application Server, version 5.0.1 installed on my local machine.
I created a JAX-RS service and tested it locally.
The WAR file was built and deployed to the local Application Server successfully. When I log in to the local Application server Admin console, I see it displayed under Applications as type JaxWebApp with 'Find Services' listed under the Actions column.
I have a StratosLive subscription and I am trying to ADD/UPLOAD this JAX-RS service as a WAR file to the StratosLive Application Server. The Admin Console for the StratosLive Application Server is different. On the Main tab, It displays Web Applications and Web Services rather than the Applications and Services on the Admin console for the 5.0.1 Application Server I am running locally.
Consequently, I do not see an option to ADD/UPLOAD my JAX-RS service as a WAR file. The only option is to add a Web Application WAR file (I tried this and it does not work properly - thinks it's a web app) or JAX-WS Web Service as a annotated JAR file.
It looks like the StratosLive Application Server I am using may be a different version (earlier maybe) than the 5.0.1 I am using locally.
Has anyone else been able to ADD/UPLOAD a JAX-RS service to a StratosLive Application Server?
Usually it takes small time to upgrade StratosLive version of a product to latest standalone product version. Now StratosLive has been upgraded to latest Application Server version and you should able to run above use case on StratosLive without any issue.

Web Service on Netbeans

I have created a Web Service in Net Beans 6.9 and deploy it locally. And I am using it via a java SE application by adding Web Service client in this application. How to obtain the link of the Web Serice so that it can be used from anywhere ?
2) From where to obtain WSDL file of Web Service ?
3) How to host a Web Service on the internet ?
Thank a ton in advance..!!!
You could create a new project of type web application in Netbeans.
In the web application, you will then create a web service (NOT a web service client).
For publishing and testing the web application, you will have to deploy it to a web server (e.g. GlassFish).
After publishing the web application, the WSDL file will be typically located at: http://localhost:<port>/<your web app>/<your service>?wsdl
For GlassFish, the default port is 8080.
If your current Netbeans installation doesn't support web projects or you don't have GlassFish installed, I suggest you download and install the latest version of Netbeans with Java EE support (bundled Apache Tomcat and GlassFish server in the same setup).
http://netbeans.org/downloads/index.html
Hosting SOAP web services on the internet at large has not been terribly successful. For example Google had SOAP based web services initially, and they switched to REST based services in the end. You may want to reconsider and deploy a REST based interface. If the bulk of your code is not embedded in the web service, then you should not have that difficult of a time switching the interface.
To deploy a SOAP or a REST web service, you would need to deploy a 'full' Java EE container (e.g. Glassfissh or JBoss) on a machine with access to the internet. You might virtual hosting e.g. Westhost, Amazon, or there are turnkey solutions like Heroku (note: I'm not endorsing any of the companies listed here; they're just examples). If you just want to deploy a REST based service, any web container will do e.g. Tomcat or Jetty. In addition to services mentioned above you could probably host a rest web service on any service that will let you upload a war file.

Webservices with Google Apps Engine or Azure?

Simple problem, actually. I am trying to evaluate the possibilities of Google Apps, using Python as development language. It seems practical to create a web application or web site with it, but how about creating web services?
I am not too interested in solutions to create a SOAP or REST service in Python for Google Apps, since a simple Google search should provide plenty of solutions. I am more interested in experiences and ease of use.
But the real question is: When comparing a web service in Google Apps with web services in the Microsoft Azure environment, which would provide the better performance? The best user experience? I don't care for the actual development languages but need a good comparison of pro's and cons of web services in both the Google App Engine and Microsoft Azure.
Somehow, Azure seems better suited for services while Google seems better for sites. A tough choice...
Would be very interesting to see if both could be combined into a single solution. :-)
Btw, choosing which engine to use also means choosing the proper development environment and programming language. While I'm proficient in .NET and Python and many other languages, the choice for the service engine determines my focus for future projects.
When building services in Windows Azure, they'd simply be processes running in your VM (Windows Server 2008 SP2 or R2 SP1). You can host services easily in any of the three role types:
Web Role (essentially Windows Server with IIS running) - just add a WCF endpoint to IIS or self-host from your own process).
Worker role (Windows Server with IIS not running) - self-host from your own process
VM role (your own Windows 2008 Server VM pushed to Windows Azure) - Host with whatever mechanism you install / set up.
Each VM in Windows Azure may expose a total of 5 endpoints. These can be a combination of input (external facing) and internal endpoint, each port supporting tcp, http, or https. You define endpoints in your vm role's properties.
Internal endpoints are only usable by other VMs in your deployment. You can't see them / access them from anywhere else, including other Windows Azure deployments. Input endpoints are accessible by the outside world.
If you want an app running in Google to access your Windows Azure service, simply connect to the endpoint via ip+port. The one thing you'll want to be aware of is bandwidth usage. Because your Google-hosted app will be in one data center and your Windows Azure service in another, you'll pay ingress / egress for data going in and out of your Windows Azure service (and I'm guessing there's an associated bandwidth charge on the Google side, but I'm not sure).
It's actually pretty simple to set up a service. For .NET-based examples, look at the labs in the Windows Azure Platform Training Kit (this also other good examples, such as setting up your first Windows Azure application). For a python service host, you'll need to execute python.exe from your VM role's OnStart() event handler, passing in your script name (and optionally port number to listen on). For a simple example of launching python.exe, look at Steve Marx's blog post here.
EDIT: If you're looking to host multiple services (e.g. multiple ports), you can choose to host them in a single VM role or in separate roles, to optimize for cost (with the known limit of 5 endpoints) or performance (scale each service independently).