360 likes | 652 Views
Web Services & SOAP kapitulli 2. Një vështrim i përgjithshëm. Web Servicet dhe SOAP. 1. Çfarë është SOAP?. 2. Gjëndja aktuale e standarteve SOAP. 3. Ndërtimi i strukturës së SOAP-eve & Exceptions. 4. Çfarë është SOAP?. Simple Object Access Protocol
E N D
Një vështrim i përgjithshëm Web Servicet dhe SOAP 1 Çfarë është SOAP? 2 Gjëndja aktuale e standarteve SOAP 3 Ndërtimi i strukturës së SOAP-eve & Exceptions 4
Çfarë është SOAP? • Simple Object Access Protocol • Jo vetëm protokoll por edhe framework. • Kombinohet me HTTP,SMTP,FTP. • Një dokument I mirë formuar XML. • Merret me dërgimin e mesazheve nga Clienti ne Web Service.
SOAP & WSDL WSDLpërshkruajnefunksionin e Web Serviceve . WSDL WSDL përshkruajnë parametrat e Web serviceve. WSDLpërshkruajnëplotësisht përmbajtjen e mesazheve SOAP.
Struktura e mesazhit SOAP SOAP Cdo element i të mesazhit I vendoset namespace :soap Zgjidhet ky namespace sepse është default ne .NET 3 seksione kryesore: 1.<Envelope> 2.<Body> 3.<Header>(opsional)
Namespace • Luajnë një rol të rëndësishëm në SOAP. • Luftojnë problemet që hasen në paqartësitë qe gjenden në 2 se me shumë dokumente XML,në lidhje me një element apo emrin e atributit. • Namespace-et në vetvete janë URL arbitrare. Namespace Envelope SOAP Standari SOAP 1.1 Namespace Seralization SOAP
Dave Winer dhe Don Box punuan për dërgimin e RPC npmXML 1998 XML-RPC U shtuan edhe strukturat dhe Arrays 1999 SOAP 1.0 Realizimi përfundimtar I produkteve. SOAP 1.1 Për përmirësimin e SOAP 1.1 2001 SOAP 1.2 SOAP dhe gjëndja aktuale
Bazohet në XML: Envelope Tipi I të dhënave 4 pjesë Pjesë opsionale Shkëmbim sms SOAP 1.1
SOAP 1.1 • Envelope enkapsulim të dhënash • Rregullat opsionalëpër të koduar tipin e të dhënave të përcaktuar ne aplikacion. • Një model shkëmbimi mesazhi • Një pjesë opsionale për të përcktuar SOAP-in në HTTP.
Soap 1.2 Nyjet Rolet Modelet e mesazheve Exchange 5 pjesë Features Modulet SOAP 1.2
Soap 1.2 • NyjetLogjika e përpunimit për të dërguar dhe marrë info. • RoletZëvendësojnë aktorët tek standarti 1.1 • Featurespjesë abstrakte të funksionimit lidhur me kalimin e mesazheve. • ModuletNjë karakteristikë e shprehur si SOAP header. • Message Exchange Patternstemplate për shkëmbim mesazhi
Elementët e përcaktuara në një SOAP standart • <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope">.... SOAP Header and Body here ... </soap:Envelope> • SOAP Envelope Gjithmonë ngelet elementi kryesor në mesazhet SOAP. Një SOAP Envelope tipik ka një pamje të tillë & me namespace soap. Koka e SOAP-it është opsioale se mban një info extra. Trupi SOAP përmban XML payload-info I destinuar për Web Servicet ose që është kthyer mbrapsht nga to.
SOAP Body [WebMethod (Description="Calculates the percentage value " + "given a percentage and a number")] public doubleCalcPercent (int Percent, double Number) { double Value = Number / 100 * Percent; return Value; } • Përdoret zakonisht për të transmetuar emrin e metodës që do të thirret,së bashku me parametrat e lidhur dhe një përgjigje nga aplikacioni marrës. • Jepet një shembull I metodave në Web me anë të C#:
SOAP Body Request <?xml version="1.0" encoding="utf-8" ?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CalcPercent xmlns="http://www.notashop.com/wscr"> <Percent>25</Percent> <Number>4</Number> </CalcPercent> </soap:Body></soap:Envelope>
SOAP Body Request <?xml version="1.0" encoding="utf-8" ?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CalcPercent xmlns="http://www.notashop.com/wscr"> <Percent>25</Percent> <Number>4</Number> </CalcPercent> </soap:Body></soap:Envelope>
SOAP Body Response <?xml version="1.0" encoding="utf-8" ?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <CalcPercentResponse xmlns="http://www.notashop.com/wscr"> <CalcPercentResult>1</CalcPercentResult> </CalcPercentResponse> </soap:Body></soap:Envelope>
Document Format • ⋮<soap:Body> <CalculatePercent xmlns="http://www.notashop.com/wscr"> <Percent>25</Percent> <Number>4</Number> </CalculatePercent></soap:Body>⋮ • Atribut SOAP Document Method • Action • Përcaktimi • Oneway • Parametri STYLE • Request Element Name • Request Namespace • Response Element Name • TypeId Një shembull I thjshtë: Elemenët e një Document Format
Krijon lidhje me disa protokolle HTTP SMTP SOAP FTP Envelope SOAP POST GET
Trasportimi I SOAP përmes HTTP HTTP ka pak a shumë të njëtin ndërtim si SOAP ku në kokën e tij mbahet info rreth kërkesës së klientit tek trupi përveç mesazhit të caktuar të mbahet dhe data e dërgimit të kërkesës
Dërgimi I një dataset-I përmesnjëaplikacioni 1 Ndërtimi I basës së të dhënave Web Service 2 Klasa communicator 3 4 Klienti ASP.Net
WEB SERVICE
Diagram Text SOAPRequest Text Text Text Text
ADDSOAP ReturnSOAPResponse Concept Text Text Text
ASP.Net Client
SOAP Header 1 2 3 Janë analogët e proxy ne HTTP,por shumë më fleksibel,pasi SOAP nuk limiton tipin apo nr e tyre. Përdoret për të zgjeruar përmbajtjen e msg duke shtuar të dhëna mbi të dhënat që ndodhen në trupin e SOAP Përdoret për të përcjell informacione si çelsat e sigurisë apo shenjat digitale
Atributet e AOSP header mustUnderstand Role
Panelet Instanca
Soap Exception & errror fault code Elemnti fault detail faultstring faultactor
Elemnti Fault Gabimi I gjeneruar
Fault Code Sender Reciever Must Understand Data Encoding Unknoën endpointi gjenoren nje gabim te tille ne rastet kur informacioni apo formati nuk jane te konfirmuar nga specifikat e endpointit endpointi ka gjeneruar nje msg errori qe ska lidhje me permbajtjen e msg te SOAP nje elemnet i shenuar si mustUnderstand nuk eshte procesuar tipi i shifrimit te disa apo te gjithe elemneteve te SOAP nuk njihet nga endpointi
Objekti Soap Exception Code Detail Aplication Message Actor Inner Exception Help Link Target Site Strack Trace Source
Konstantet e objektit code mustUnderstand Client Server VersionMismatch FaultCode FaultCode FaultCode FaultCode