Hi Erwin and all, I am really happy to see a bunch of replies. In my source code, I am using two authentication mechanisms; basic (clear text password) and advanced (certificate based).
* First I tried to run multiple clients running in multiple threads with basic authentication. The basic authentication doesn't use any of the XML security API. Now, the invocation time taken by axis Call.invoke is just 30 msec. * Secondly I ran only one client and only ONCE with advanced authentication that uses XML security APIs. * Thirdly, I repeated the first step again. Now, the invocation time is around 200ms. * Fourthly, I replaced Axis with weblogic jaxrpc and measured the time. The invocation time is around 45ms. After carrying out above steps, I am suspecting some of the properties set by Init.init() may change the behaviours of Axis Call. [PS: I have got these figures my own testing suite and these figures may differ from actual benchmarks] Thanks & regards, Ayyappan Gandhirajan -----Original Message----- From: Erwin van der Koogh [mailto:[EMAIL PROTECTED] Sent: Friday, February 27, 2004 9:27 PM To: [EMAIL PROTECTED] Subject: Re: Using XML security slows down the Axis Call > But I am very much worried about the PERFORMANCE. After > "org.apache.xml.security.Init.init()" of xml security is called (during > authentication), calling Call.invoke method takes more time. The > difference is in the order of multiples of 5. Verifying signatures is a very expensive operation.. Back in the days when we were extremely serious about performance it could take up to a second on a P100 and that was just the verify.. With XML-DSig there's a whole bunch of extra parsing and verification to be done, slowing it down even more. Of course computers are a lot more powerful, but I think they pretty much keep up :) > Have any of you faced this problem? Why > org.apache.xml.security.Init.init() slows down the Call.invoke() Is the performance really Init.init()? Cause that might take a while, but that should only be one once. Subsequent calls to this method should return instantly. Erwin