I've been doing some simple experiements that compare AXIS, Apache SOAP, and other implementations (SoapRMI).
One test requests a single string (size 200, 400, and 800), and another an array of integers (array size 200, 400, and 800). There's no argument to the functions (not an echo test), because most real-world web-apps will send small requests most of the time. All tests are performed on the same host to discount network delays. I use all default serializers/deserializers and SOAP encoding. The strings and arrays are pre-built on the server. Note this doesn't measure the throughput of the server, just the latency when the server is idle. There's a warming period for class loading and stuff. I expected to see that Axis has lower latency than Apache due to use of SAX, but I don't see that. Axis is actually slower. getInt(200) getInt(400) getInt(800) SoapRMI 22.2 ms 24.4 ms 31.5 ms Apache SOAP 65.8 ms 117.3 ms 190.7 ms Apache Axis 79.7 ms 157.4 ms 238.8 ms getStr(200) getStr(400) getStr(800) SoapRMI 19.3 ms 19.6 ms 19.9 ms Apache SOAP 22.7 ms 24.2 ms 25.1 ms Apache Axis 20.9 ms 19.6 ms 20.6 ms I'm using all default serializers, deserializers. The strings and arrays are pre-built and initialized on the server. SOAP encoding. Do you have any suggestions for speeding up Axis with the current code-base? This is for an article that I'll post here once complete.