盡管可以使用許多技術來實現面向服務體系結構(SOA),不過最常用的還是使用 Web 服務,這意味著要使用 XML。SOAP 和 REST 是實現 Web 服務最流行的兩種方法,這兩者都基於 XML。
一個例子
比如說,通過將這個 SOAP 文檔作為 Web 請求發送,可以向 Google Web 服務提出請求。(如清單 2 所示)
清單 2. 通過發送 SOAP 文檔向 Google Web 服務提出請求
?xml version=‘1.0‘ encoding=‘UTF-8‘?SOAP-ENV:Envelope xmlns:SOAP-ENV= http://schemas.xmlsoap.org/soap/envelope/xmlns:xsi=http://www.w3.org/1999/XMLSchema-instancexmlns:xsd=http://www.w3.org/1999/XMLSchemaSOAP-ENV:Bodyns1:doGoogleSearch xmlns:ns1=urn:GoogleSearchSOAP-ENV:encodingStyle=http://schemas.XMLsoap.org/soap/encoding/key xsi:type=xsd:string00000000000000000000000000000000/keyq xsi:type=xsd:stringdeath star trash compactor/qstart xsi:type=xsd:int0/startmaxResults xsi:type=xsd:int10/maxResultsfilter xsi:type=xsd:booleantrue/filterrestrict xsi:type=xsd:string/restrictsafeSearch xsi:type=xsd:booleanfalse/safeSearchlr xsi:type=xsd:string/lrie xsi:type=xsd:stringlatin1/IEoe xsi:type=xsd:stringlatin1/oe/ns1:doGoogleSearch/SOAP-ENV:Body/SOAP-ENV:Envelope
此處我們可以看到 SOAP 信封(envelope),它是 Web 服務引擎能夠理解的標准格式。這個消息的內容(在本例中為 doGoogleSearch 元素)被認作是 有效載荷(payload),由即將被 Web 服務處理的信息所組成。