aspose file tools*
The moose likes Web Services and the fly likes Axis2 in iseries Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "Axis2 in iseries" Watch "Axis2 in iseries" New topic
Author

Axis2 in iseries

AF Teixeira
Greenhorn

Joined: Nov 03, 2007
Posts: 4
I developed an web service client using axis2. The code has no problems. When i execute the ws client in a windows SS i obtain the answer in 1-2 seconds. But when i put the client in a "iSeries- AS/400 V5R3" the time to obtain an answer is 20 minutes. This is a big difference for the same code in two different operative system. Someone can help me?
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42906
    
  69
Hello "AFTAS"-

Welcome to JavaRanch.

On your way in you may have missed that we have a policy on screen names here at JavaRanch. Basically, it must consist of a first name, a space, and a last name, and not be obviously fictitious. Since yours does not conform with it, please take a moment to change it, which you can do right here.

As to your question, what timings have you done? If the web services accesses any other systems, are those calls as fast as they are from Windows? How does the time spent in the actual web service class compare to the overall roundtrip time?
AF Teixeira
Greenhorn

Joined: Nov 03, 2007
Posts: 4
Sorry for Name, but AFTAS is the first words of my real name.

Sorry but i don't understand very well your question.
The client access a web service, that is only accessible via private network. We need to configure a proxy to access them.
Every calls that i execute in a windows operative system is very fast. Every calls that i execute in a AS/400 operative system is very slow.

Thanks for your support.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42906
    
  69
You have determined that the WS running on the AS/400 is slower than the same WS running on Windows. Now you need to figure out why that is so.

Usually, a WS accesses other systems like databases or some other backend system. So the next step is to find out if those calls from the AS/400 are slower, or if they're the same as if called from Windows. So you need to measure those calls, in order to see of they're slower as if being accessed by a Windows system.

It's also possible that there are network issues. To abstract those away, you need to measure the time from when the WS call arrives at the Java code of the As/400 until it exits the Java code on the AS/400. That way, any network issues won't be an issue.
Peer Reynders
Bartender

Joined: Aug 19, 2005
Posts: 2922
    
    5
Originally posted by Ulf Dittmer:
You have determined that the WS running on the AS/400 is slower than the same WS running on Windows.


Originally posted by AFTAS:
I developed an web service client using axis2.


Regardless - it is most likely a networking issue. The other thing to look into if there is an issue with the JVM and the supporting libraries.
SE19469 - JVA LPO 5722-JV1 OPTION 7 (SUN J2SE 5.0)

Axis2 requires Java SE 5.0 - so also experimenting with a J2SE 1.4 based toolkit may help to shed some light on the issue. In any case - you may want to setup an experimental configuration where you have an off-base "echo" web service server and a minimal on-base web service client; that way any time penalties on the client side should be limited to networking and XML (un)marshalling. Once you have some results you can design other performance experiments to pinpoint the exact bottleneck.
[ November 05, 2007: Message edited by: Peer Reynders ]
AF Teixeira
Greenhorn

Joined: Nov 03, 2007
Posts: 4
Thanks for your help.

I already find the solution.

I only need no add the following code to my class:
String keystoreLocation = "/QIBM/ProdData/Java400/jdk14/lib/security/cacerts";
System.setProperty("javax.net.ssl.trustStore", keystoreLocation);
System.setProperty("javax.net.ssl.KeyStore", keystoreLocation);
System.setProperty("javax.net.ssl.trustStorePassword", "MY_PASS");
System.setProperty("javax.net.ssl.keyStorePassword", "MY_PASS");
System.setProperty("java.protocol.handler.pkgs", "com.ibm.net.ssl.internal.www.protocol");


and the tme reduce from 20 minutes to +/- 10 seconds.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Axis2 in iseries