Hi
        I am new to axis and VB.NET. But had to work with both at the same
time. I am having performance issues with the .NET client calling the Java
Webservice running on axis. Have detailed the problem below. Please help.

I wrote a webservice in Java. Lets name this WebService1. 

Scenario 1:
-----------
I have a VB.NET code exposed as COM. Lets call it VBNETCOM. I added a
webreference to my Webservice1 from VBNETCOM. So in my .NET code, all I have
to do is instantiate the WebService1 object and start calling methods on it.
Eg: 
        Dim WebService1 ws as new WebService1
        ws.callMethod1()
        ws.callMethod1()
        ws.callMethod1()

Please note that the same method is being called 3 times. Now my problem is
that each of the calls to the methods take about half a second. (500ms) which
is unacceptable.

Scenario 2:
-----------
So I did another test. This time the client calling the "WebService1" is not
VB.NET COM but a Java client itself.
Eg:
        Call     call    = (Call) service.createCall();
        ... // other code

        returnvals= (Object[]) call.invoke( values); // method1
        call.removeAllParameters();     
        ... // other code
        
        returnvals= (Object[]) call.invoke( values); // method1
        call.removeAllParameters();     
        ... // other code       
        
        returnvals= (Object[]) call.invoke( values); // method1

In this case, the first call to method1, takes about 300ms, but subsequent
calls take only 50 - 90 ms. Please note that in this case, I am reusing the
call object, Which I think is the reason for the performance improvement. ->
Which leads to the conclusion, some kind of caching is done.

Question:
---------
        How to improve the performance of the webservice call from VB.NET so
that it performance at the same level if not better than the Java client?
Is this some change that needs to be done at axis settings? or at VB.NET? 

Any help is appreciated. 




Reply via email to