The Simple Object Access Protocol (SOAP) [1] is an emerging technology in the field of web services. Web services demand high performance, security and extensibility. SOAP, being based on Extensible Markup Language [2], together with the advantages of XML, however, has a relatively poor performance, which makes SOAP a bad choice for high performance demanding web services. In this paper, we analyze the client side processing of a SOAP request and investigate the stages of this processing, where SOAP lags behind its peers in speed. Our concentration is on the more popular RPC-style implementation of SOAP rather than the message-style. We then present an optimized Java implementation of Apache SOAP [8] client, showing experimental improvements in performance (800%), which have been achieved by implementing caching mechanism at the client side.