You should still try testing with an emopty servlet (no axis2). In fact, don't even deploy your app, create a second app with the empty servlet. That will tell you what overhead axis2 is introducing.
Usually the only way to reduce CPU utilization are:
a) Run on a bigger system (more cores)
b) Run on multiple systems and split your workload among them.
What have you done to tune the JVM? Specifically heap tuning? Have you monitored GC activity?