- Understanding SOAP FAQs
- How do I invoke a method on a server when I'm using SOAP?
- Do M-POST calls have to occur before POST calls?
- When I'm using XML in SOAP, do I have to use namespaces?
- What happens when a method call has been requested?
- What are the values in a SOAP payload?
- What could cause the performance of a SOAP call to degrade or suffer?
- What kind of security does SOAP implement?
- When using SOAP, how do I implement a simple API for XML?
- How will SOAP impact .Net application development?
- How is ASP+ used when creating web services?
- How do I validate SOAP-based XML using a schema?
- When using SOAP, what is the most efficient way to access services from a client over the Internet?
What could cause the performance of a SOAP call to degrade or suffer?
As a wire protocol, SOAP performance is somewhat degraded by the requirement to extract the SOAP envelope from the transport packet and parse the contained XML information. (Other wire protocols don't use XML, or even text, allowing for optimized information extraction.) The XML processor must be loaded, activated, and fed the XML information. Then the method call argument information must be discovered (assuming the lack of an interface/method schema that would identify the relevant information beforehand). This might not be a trivial undertaking as XML processors grow to support more XML features (and therefore require more system resources to operate). However, SOAP is quite interoperable, which perhaps mitigates the XML processing if you consider the other protocol conversions you must undertake to connect disparate computer architectures.
Source: This FAQ is excerpted from Understanding SOAP by Kennard Scribner and Mark C. Stiver (2000, Sams, ISBN 0672319225). Refer to this book for more detailed information on SOAP.