Hi Thomas!
I haven't seen this, but I'll take a look into it when I get a chance. As it
stands, BCEL was not working for JWS files because of classloader issues, so
the switch was an immediate solution. I have a hacked version of BCEL from the
team which should solve the problem, but haven't had a chance to try it yet. I
must admit though, the fact that tt-bytecode is less than half the size of BCEL
is pretty appealing to me as well.
I'm in a meeting most of the day today, then at the WSDL interop event tomorrow
and Thursday, so I probably won't get to look at this in detail until Friday.
If you want to put together a little performance tester (i.e. pull out the
argument name extraction code into a test class) and gather some numbers for
BCEL vs. tt-bytecode, that would be really helpful for us and also for the
BCEL/tt-bytecode teams, I'm sure.
--Glen
----- Original Message -----
From: "Thomas B�rkel" <[EMAIL PROTECTED]>
To: "Axis User Mailinglist" <[EMAIL PROTECTED]>
Sent: Tuesday, February 26, 2002 4:53 AM
Subject: Performance of WSDL generation
HI!
Since the switch from bcel.jar to tt-bytecode.jar for analyzing Java .class
files in the WSDL generation process, performance has become unacceptable. What
was 1-2 seconds is now 30 seconds with some .class files. Am I the only one
experiencing this?
I have attached the .class file of a class com.apag.p2plus.p2sales.Rechnung,
which has only 367 source lines and still takes 30 seconds.
This is how I generate the WSDL:
emitter = new Emitter();
emitter.setCls(Class.forName(completeName));
emitter.setAllowedMethods(allowedMethods.toString());
emitter.setServiceElementName(className);
emitter.setPortTypeName(className + "PortType");
emitter.setServicePortName(className + "Port");
emitter.setIntfNamespace(WEB_SERVICE_PROTOCOL + packageName +
".p2plus.apag.com");
emitter.setUseInheritedMethods(true);
emitter.setLocationUrl(WEB_SERVICE_PROTOCOL +
InetAddress.getLocalHost().getHostName() + ":" + serverPort + "/" + packageName
+ "/" + className + ".jws");
xml = emitter.emitToString(Emitter.MODE_ALL);
Any statements please?
Thanks!
Regards,
Thomas