VMware {code} Community
jhartman123
Contributor
Contributor

Axis2 support in VI SDK?

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

Tags (3)
0 Kudos
10 Replies
jonathan5
Contributor
Contributor

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?

0 Kudos
jonathan5
Contributor
Contributor

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

0 Kudos
angus4young
Contributor
Contributor

+ 1

Axis 2 support would be much appreciate.

This is so slow w/ Axis 1.4

0 Kudos
vlad_ca
Contributor
Contributor

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??

0 Kudos
jonathan5
Contributor
Contributor

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

0 Kudos
braindrive
Contributor
Contributor

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

0 Kudos
admin
Immortal
Immortal

now we support axis2.

please check the link: http://communities.vmware.com/community/developer/java_toolkit

core API and toolkits team

0 Kudos
admin
Immortal
Immortal

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

0 Kudos
ankuravlani
Contributor
Contributor

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

0 Kudos
Steve_Jin
Expert
Expert

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

Steve JIN Author of VMware VI and vSphere SDK; Creator of open source VI Java API (http://vijava.sf.net); Blogger at http://www.doublecloud.org
0 Kudos