Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOAP Simple Object Access Protocol

Similar presentations


Presentation on theme: "SOAP Simple Object Access Protocol"— Presentation transcript:

1 SOAP Simple Object Access Protocol
Teleu Ștefănuț Sorin – 341C5

2 Cuprins Ce este SOAP? Caracteristici Structura unui mesaj SOAP
SOAP REQUEST SOAP RESPONSE SOAP FAULT SOAP și HTTP Avantaje și Dezavantaje Concluzii

3 SOAP Simple Object Access Protocol

4 Ce este soap? Protocol de comunicație între aplicații.
Are la baza XML. Este bazat pe trimiterea de mesaje prin HTTP. Ușor și extensibil. Independent de platformă. Independent de limbaj.

5 Caracteristici Extensibil Neutralitate Independență
Framework-ul SOAP permite ca unele trăsături ca securitatea sau routarea să fie adăugate mai târziu ca extensii. Neutralitate SOAP poate fi folosit peste orice protocol de transport cum ar fi TCP, HTTP, SMTP. Independență SOAP accepta orice model de programare.

6 Structura unui mesaj Soap
SOAP Envelope SOAP Header Header block SOAP Body Message Body Envelope (obligatoriu) Identifică documentul XML ca mesaj SOAP Header (opțional) Determină cum ar trebui procesat mesajul Adaugă opțiuni mesajului SOAP cum ar fi autentificare, managementul tranzacției, plăți, routarea mesajului, etc. Body (obligatoriu) Conține informația propriu-zisă a mesajlui.

7 Exemplu simplu c = Add(n1, n2) <Envelope> <Header>
<transId>345</transId> </Header> <Body> <Add> <n1>3</n1> <n2>4</n2> </Add> </Body> </Envelope> c = Add(n1, n2)

8 SOAP Request <SOAP-ENV:Envelope
xmlns:SOAP-ENV=“ SOAP-ENV:encodingStyle=" <SOAP-ENV:Header> <t:transId xmlns:t=“ </SOAP-ENV:Header> <SOAP-ENV:Body> <m:Add xmlns:m=“ <n1>3</n1> <n2>4</n2> </m:Add> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

9 Soap request (2) Specifică mesajul prin namespace-ul SOAP care descrie SOAP envelope. <SOAP-ENV:Envelope xmlns:SOAP-ENV=“ SOAP-ENV:encodingStyle=" ...etc... </SOAP-ENV:Envelope> Stabilește tipul de codare ce va fi folosit pentru mesaj

10 Soap request (3) Declară transId Definește metoda ...etc...
<SOAP-ENV:Header> <t:transId xmlns:t=“ </SOAP-ENV:Header> <SOAP-ENV:Body> <m:Add xmlns:m=“ <n1>3</n1> <n1>4</n2> </m:Add> </SOAP-ENV:Body> Declară transId Definește metoda

11 Soap response <SOAP-ENV:Envelope
xmlns:SOAP-ENV=“ SOAP-ENV:encodingStyle=" <SOAP-ENV:Header> <t:transId xmlns:t=“ </SOAP-ENV:Header> <SOAP-ENV:Body> <m:AddResponse xmlns:m=“ <result>7</result> </m:AddResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

12 Soap response (2) <SOAP-ENV:Envelope xmlns:SOAP-ENV=“ SOAP-ENV:encodingStyle=" <SOAP-ENV:Header> <t:transId xmlns:t=“ </SOAP-ENV:Header> <SOAP-ENV:Body> <m:AddResponse xmlns:m=“ <result>7</result> </m:AddResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Response folosește de obicei nume de metode cu “Response” în ele.

13 Soap fault Folosit pentru a transporta erori sau diverse informații de stare în cadrul unui mesaj SOAP. Apare în cadrul secțiunii Body a mesajului. Definește următoarele: Faultcode (obligatoriu) Algorithmic mecanic pentru identificarea fault-ului. Definit în specificațiile SOAP. Faultstring (obligatoriu) Explicație translatată într-un format ce poate fi citit de om a fault-ului.

14 Soap fault (2) Faultactor (opțional) Detail
Informații despre ce a provocat fault-ul. Detail Informații despre erorile legate doar de elementul Body. Dacă nu este prezent, atunci fault-ul nu are legatură cu elementul Body.

15 Exemplu soap fault <SOAP-ENV:Envelope
xmlns:SOAP-ENV=“ SOAP-ENV:encodingStyle=" <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Internal Application Error</faultstring> <detail xmlns:f=“ <f:errorCode>794634</f:errorCode> <f:errorMsg>Divide by zero</f:errorMsg> </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

16 Soap și http HTTP e cel mai folosit protocol pentru transmiterea de mesaje SOAP. SOAP oferă tratament special pentru HTML. Foloseşte modelul Request – Respond. POST /Add HTTP/1.1 Host: Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <SOAP-ENV:Envelope xmlns:SOAP-ENV=“ > .... </SOAP-ENV:Envelope>

17 Avantaje și dezavantaje
Flexibil datorită proprietăților XML. SOAP este capabil să fie folosit de mai multe protocoale de transport. Oferind suport pentru HTTP, poate trece ușor prin firewall-uri/proxy-uri fară a fi nevoie de modificarea protocolului. Dezavantaje Datorită formatului XML poate fi lent în cazul mesajelor mari. Datorită folosirii HTTP pentru transport in loc de WS-Addressing sau ESB, rolurile sunt fixate în cadru comunicării.

18 Concluzii SOAP e un protocol de comunicație. SOAP = HTTP + XML.
Independent de platformă și limbaj. Capabil să treacă de firewall-uri. Elemente: Envelope Header Body Fault

19 întrebări?


Download ppt "SOAP Simple Object Access Protocol"

Similar presentations


Ads by Google