When might we see Axis2 support in the VI SDK? Right now the Axis (1) stubs are terribly slow to load. Since Axis2 supports plugins for various different client bindinds, aside from the fact that the architecture itself was rewritten, I'm guessing that we'd have a big performance boost with Axis2.
josh
Just wanted to mention, I think that Axis2 support would be great since it takes about 7 seconds for my generated VimBindingStub object to initialize.
VMWare?
Just wanted to follow up on this again. I'm still in need of Axis 2 support being that my VimBindingStub.java file using the standard VI WSDL is over 2 megs! That's an incredible size and larger than Axis 2 supports
Is Axis 2 support being looked at?
jonathan
+ 1
Axis 2 support would be much appreciate.
This is so slow w/ Axis 1.4
It is time to use AXIS 2
Rest of my SOAP clients (not related to VI SDK) are using AXIS2 - it is a pain in a neck to use both in a combined clients
So could you please make an AXIS2 transition??
I thought I'd mention - I managed to get Axis2 stubs cleanly generated and working. The big problem I have is that the Axis2 generated classes are incredibly larger than the Axis1 stuff. I think the total JAR based on the VM Server WSDL was 17 megs. That's ridiculous.
I decided to give JAX-WS a try instead. The generated code is much better and much more lightweight as it generates the PortType class as an interface with annotations defining the web service bindings and actually performs the web service calls via a dynamic proxy. The problem is simply that the calls don't seem to work. I am unable to retrive VMs, Hosts, or anything else.
jonathan
Jonathan,
I could generate the client stubs using Axis2 as well, although I have not been successfuly in making calls. I am using the following target URL:
https://<host>/sdk/vimService and the Login method of the VimServiceStub:
ManagedObjectReference _svcRef = new ManagedObjectReference();
_svcRef.setType("ServiceInstance");
_svcRef.setString("ServiceInstance");
VimService _stub = new VimServiceStub();
UserSession _session = stub.Login(svcRef, username, password, null);
Although this thing gives a HTML page with error instead of a soap response, which firstly means url couldn't be right. I am passing the VMkeystore file created using the certificate of the server to my java VM.
BTW I genereated the client stubs with Axis2's WSDL2Java tool using -uw option which unwraps the binding classes.
How have you done this?
- Braindrive
now we support axis2.
please check the link: http://communities.vmware.com/community/developer/java_toolkit
core API and toolkits team
Axis2 stubs are much bigger than axis1.4 since axis2 generates all the serialization/de-serialization logic into the stub code to avoid using Java reflection.
And using Java reflection is one of reason why axis1.4 is slow.
This is a typical case of trade off between speed and space.
In VI SDK for Java, we actually customized the Axis2 wsdl2java templates and introduced lazy loading by split up the big vimPortType into pieces per ManagedObject interface.
Only used portType or stubs are loaded into the memory at runtime since most of the application only use a small portion of the VI SDK API.
core API and toolkits team
Hey,
I was successfully able to create the Axis2 Client stubs from the WSDL. I am able to Login as well. But when I try to retreive properties it doesnt return any value.
Note: My service is in Axis1.4 and client is in Axis2.
Any pointers?
Ankur
Try open source vijava api for a much better experience than AXIS 2: http://vijava.sf.net
Thanks!
Steve Jin, Author of VMware VI and vSphere SDK http://www.doublecloud.org