SOAP messages are notoriously large. To help reduce the transport overhead, the soap messages should be GZip encoded (if requested by the client). A simple test on getProjects reduced the payload from about 32655 to 2324 bytes. Smaller messages are far less dramatic.
All that should be required to get gzip compression is to add this to the web.xml: