SOAP is not limited to RPC. It defines a message format and envelope that can be used for various communication patterns including messaging, remote procedure calls, and distributed object systems. SOAP doesn't impose a specific programming model - it's protocol-agnostic.