Simple Object Access Protocol (SOAP) is an XML-based standard that defines the protocol to format messages exchanged between a Web services client and a Web service. Thus, a SOAP message generally contains one of the following:
SOAP is an open messaging protocol that supports the exchange of data using multiple SOAP message formats (combinations of SOAP communications style and SOAP representation, or use). Depending on the format, SOAP messages pass data using XML schema or a combination of XML schema and a custom encoding. SOAP also supports multiple bindings that use different communications protocols to transport these messages. However, because of the ubiquity of HTTP/S, SOAP over HTTP is the prevailing standard protocol binding for Web services.
Again, SOAP, as a widely available XML standard, allows virtually any existing Web service client technology that can code and decode SOAP to use Web services with no additional support. However, the complexity of human programming is such that most Web service client vendors provide run-time libraries and code generation tools (see
WSDL) to enhance their existing client platforms, making them more Web-service-ready.
Web services client platforms (OpenEdge, Microsoft .NET, Apache AXIS, and so on) and Web Service Providers typically support only a few of the possible SOAP message formats. However, in order for a given client to access a Web service supported by a given Web service provider, the Web service must use a SOAP format that the client supports. Thus, flexible Web service providers support Web services using the SOAP formats that are supported by most Web service clients. For more information on SOAP and the SOAP formats that OpenEdge supports for Web services built in ABL as well as Web services accessed by ABL client applications, see OpenEdge Development: Web Services.