SlideShare une entreprise Scribd logo
1  sur  17
SAFWAN HASHMI
Introduction to SOAP
2
Where did it come from?
• Microsoft, UserLand, DevelopMentor, IBM, Ariba,
Commerce One, Compaq, HP, IONA, Lotus, SAP
~ Submitted to W3C May 2000.
• XML based protocol
• Intended to be a simple wire-protocol for exchange of
info. Largest use may be over Internet HTTP.
3
Motivation
• Many Distributed applications communicate using remote
procedure calls (RPC) between distributed objects like
DCOM and CORBA.
• HTTP isn’t designed for those objects, so RPC calls aren’t
easily adapted to the Internet.
• Security problems exist for those methods of RPC, so
most firewalls and proxy servers are set to block this
traffic.
• HTTP is supported by all Internet browsers and servers,
so SOAP presents a nice protocol for doing RPC.
4
What is SOAP?
SOAP IS:
• Lightweight communication protocol
• For communication between applications
one-way, request/response, multicast, etc..
• Designed to communicate via HTTP
• Not tied to any component technology
• Not tied to any programming language
• Based on XML
• Simple and extensible
5
Basic Structure of Soap
• Envelope
Defines the content of the message
• Header (optional)
contains header information
• Body
contains call and response information
6
SOAP Contains Four Parts:
• An extensible envelope expressing (mandatory)
• what features and services are represented in a message;
• who should deal with them,
• whether they are optional or mandatory.
• A set of encoding rules for data (optional)
• Exchange instances of application-defined data types and directed
graphs
• Uniform model for serializing abstract data models that can not
directly be expressed in XML schema
• A Convention for representation RPC (optional)
• How to make calls and responses
• A protocol binding to HTTP and HTTP-EF (optional)
7
SOAP Envelope
SOAP Example in HTTP
HTTP Request
SOAP-HTTP Binding
SOAP Header
SOAP Body
POST /Accounts/Henrik HTTP/1.1
Host: www.webservicebank.com
Content-Length: nnnn
Content-Type: text/xml; charset="utf-8"
SOAPAction: "Some-URI"
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"
SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP:Header>
<t:Transaction xmlns:t="some-URI" SOAP:mustUnderstand="1">
5
</t:Transaction>
</SOAP:Header>
<SOAP:Body>
<m:Deposit xmlns:m="Some-URI">
<m:amount>200</m:amount>
</m:Deposit>
</SOAP:Body>
</SOAP:Envelope>
8
SOAP Example in SIP
SOAP Envelope
SIP Request
SOAP-SIP Binding
SOAP Body
SERVICE sip:broker.ubiquity.net SIP/2.0
To: sip:broker.ubiquity.net
From: sip:proxy.ubiquity.net
Call-ID:648324@193.195.52.30
CSeq: 1 SERVICE
Via: SIP/2.0/UDP proxy.ubiquity.net
Content-Type: text/xml
Content-Length: 381
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope”
SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP:Body>
<m:SetCreditStatus xmlns:m="http://www.ubiquity.net/sipservices">
<m:user>sip:jo@ubiquity.net</m:user>
<m:status>super</m:status>
</m:SetCreditStatus>
</SOAP:Body>
</SOAP:Envelope>
9
… or SOAP by Itself…
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope”
SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP:Header>
<m:MessageInfo xmlns:m="http://www.info.org/soap/message">
<m:to href="mailto:you@your.com"/>
<m:from href="mailto:me@my.com"/>
<m:contact href="mailto:someone@my.com">
</m:MessageInfo>
</SOAP:Header>
<SOAP:Body>
<msg:Message xmlns:m="http://www.info.org/soap/message">
<msg:subject>Your house is on fire!</msg:subject>
<msg:feed href="ram://livenews.com/yourhouse"/>
</msg:Message>
</SOAP:Body>
</SOAP:Envelope>
10
Note Again: SOAP is a Protocol!
• What does this mean?
• It is not a distributed object system
• It is not an RPC system
• It is not even a Web application
• Your application decides what your application is!
• You can build a tightly coupled system
…or…
• You can build a loosely coupled system
11
Why Not Roll My Own XML Protocol?
• SOAP allows you to define your particular feature or
service in such a way that it can co-exist with other
features and services within a SOAP message
• What is a feature or a service?
• Authentication service
• Payment service
• Security service
• Transaction management service
• Privacy service
• Not owning the message means easier deployment and
better interoperability
12
Syntax Rules
• MUST be encoded using XML
• MUST have a SOAP Envelope
• CAN have a SOAP header
• MUST have a SOAP Body
• MUST use the SOAP Envelope namespace
• MUST use the SOAP Encoding namespace
• Must NOT contain a DTD reference
• Must NOT contain XML Processing
13
SOAP Fault Element
• Error messages from a SOAP application are carried inside a Fault element.
• Must appear as an element w/in the <Body> element and can only appear once in a SOAP
message.
• Fault sub elements:
<faultcode> MUST: --code identifying the error, for use by the software
<faultstring> MUST: --error as a string
<faultactor> MUST(Apps not acting as ultimate destination of SOAP message)
--who caused the error
<detail> MUST(if contents of Body could not be successfully processed)
--specific error information
• Fault Codes:
VersionMismatch Invalid namespace for the SOAP Envelope Element
MustUnderstand A child element of the Header element, with the mustUnderstand attribute
set to “1”, was not understood
Client The message was incorrectly formed or contained incorrect information.
Server There was a problem with the server so the message could not be process
• Example: <env:Fault>
<faultcode>env:MustUnderstand</faultcode>
<faultstring>SOAP Must Understand Error</faultstring>
</env:Fault>
14
CORBA vs. SOAP
CORBA
(Common Object Request Broker
Architecture)
SOAP
(Simple Object Access Protocol)
CORBA provides a true object-oriented
component architecture.
Web services like (UDDI/WSDL/SOAP)
are not providing true object-oriented
component architecture.
Fast Compared to SOAP Because of the verbose XML format,
SOAP can be considerably slower than
CORBA
Can be difficult to use if server and/or
client is behind a firewall or if network
address translation is being used
HTTP works well with network
firewalls
Problems with implementations It is XML based implementation
compare to
CORBA,SOAP Implementation is easy.
It uses IIOP (Internet Inter ORB
Protocol)
Simple XML-based protocol to let
applications exchange information
over HTTP
15
Advantages of SOAP are:
• Portability
• Firewall friendliness
• Use of open standards
• Interoperability
• Universal acceptance.
Language neutrality:
SOAP can be developed using any language.
• Interoperability and Platform Independence:
SOAP can be implemented in any language and can be
executed in any platform.
SOAP messages are in very simple XML format.
• Scalability:
SOAP uses HTTP protocol for transport due to which it
becomes scalable.
16
Disadvantages of SOAP
• – Too much reliance on HTTP
• – Statelessness
• – Serialization by value and not by reference
17
Summary
• SOAP envelope provides
• SOAP can be used with many protocols
• Easy to deploy with existing infrastructure
• SOAP is fundamentally a one-way message
• Supports request/response, RPC etc.
• Your application decides what it is!

Contenu connexe

Tendances

Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical ApproachMadhaiyan Muthu
 
PHP and Web Services
PHP and Web ServicesPHP and Web Services
PHP and Web ServicesBruno Pedro
 
Web Server-Side Programming Techniques
Web Server-Side Programming TechniquesWeb Server-Side Programming Techniques
Web Server-Side Programming Techniquesguest8899ec02
 
WCF tutorial
WCF tutorialWCF tutorial
WCF tutorialAbhi Arya
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQRob Davies
 
Enjoying the Move from WCF to the Web API
Enjoying the Move from WCF to the Web APIEnjoying the Move from WCF to the Web API
Enjoying the Move from WCF to the Web APIKevin Hazzard
 
Web services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGigWeb services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGigMandakini Kumari
 
Overview of Rest Service and ASP.NET WEB API
Overview of Rest Service and ASP.NET WEB APIOverview of Rest Service and ASP.NET WEB API
Overview of Rest Service and ASP.NET WEB APIPankaj Bajaj
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration PatternsSergey Podolsky
 
1. WCF Services - Exam 70-487
1. WCF Services - Exam 70-4871. WCF Services - Exam 70-487
1. WCF Services - Exam 70-487Bat Programmer
 
Messaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQMessaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQdejanb
 
Web Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting StartedWeb Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting StartedPort80 Software
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration PatternsOleg Tsal-Tsalko
 
Wcf Transaction Handling
Wcf Transaction HandlingWcf Transaction Handling
Wcf Transaction HandlingGaurav Arora
 

Tendances (20)

Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
PHP and Web Services
PHP and Web ServicesPHP and Web Services
PHP and Web Services
 
Web Server-Side Programming Techniques
Web Server-Side Programming TechniquesWeb Server-Side Programming Techniques
Web Server-Side Programming Techniques
 
Excellent rest using asp.net web api
Excellent rest using asp.net web apiExcellent rest using asp.net web api
Excellent rest using asp.net web api
 
WCF tutorial
WCF tutorialWCF tutorial
WCF tutorial
 
Web Services
Web ServicesWeb Services
Web Services
 
Connecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQConnecting Applications Everywhere with ActiveMQ
Connecting Applications Everywhere with ActiveMQ
 
Enjoying the Move from WCF to the Web API
Enjoying the Move from WCF to the Web APIEnjoying the Move from WCF to the Web API
Enjoying the Move from WCF to the Web API
 
Web services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGigWeb services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGig
 
Overview of Rest Service and ASP.NET WEB API
Overview of Rest Service and ASP.NET WEB APIOverview of Rest Service and ASP.NET WEB API
Overview of Rest Service and ASP.NET WEB API
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration Patterns
 
Windows Communication Foundation (WCF) Best Practices
Windows Communication Foundation (WCF) Best PracticesWindows Communication Foundation (WCF) Best Practices
Windows Communication Foundation (WCF) Best Practices
 
WCF
WCFWCF
WCF
 
WCF And ASMX Web Services
WCF And ASMX Web ServicesWCF And ASMX Web Services
WCF And ASMX Web Services
 
1. WCF Services - Exam 70-487
1. WCF Services - Exam 70-4871. WCF Services - Exam 70-487
1. WCF Services - Exam 70-487
 
Messaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQMessaging for Web and Mobile with Apache ActiveMQ
Messaging for Web and Mobile with Apache ActiveMQ
 
Web servers
Web serversWeb servers
Web servers
 
Web Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting StartedWeb Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting Started
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration Patterns
 
Wcf Transaction Handling
Wcf Transaction HandlingWcf Transaction Handling
Wcf Transaction Handling
 

En vedette

600.412.Lecture06
600.412.Lecture06600.412.Lecture06
600.412.Lecture06ragibhasan
 
Simple Object Access Protocol
Simple Object Access ProtocolSimple Object Access Protocol
Simple Object Access ProtocolSaatviga Sudhahar
 
12 adversal search
12 adversal search12 adversal search
12 adversal searchTianlu Wang
 
SOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolSOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolMasud Rahman
 
Adversarial search with Game Playing
Adversarial search with Game PlayingAdversarial search with Game Playing
Adversarial search with Game PlayingAman Patel
 
Game playing in artificial intelligent technique
Game playing in artificial intelligent technique Game playing in artificial intelligent technique
Game playing in artificial intelligent technique syeda zoya mehdi
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Peter R. Egli
 
Best topics for seminar
Best topics for seminarBest topics for seminar
Best topics for seminarshilpi nagpal
 

En vedette (15)

SOAP Overview
SOAP OverviewSOAP Overview
SOAP Overview
 
600.412.Lecture06
600.412.Lecture06600.412.Lecture06
600.412.Lecture06
 
Soap
SoapSoap
Soap
 
Simple Object Access Protocol
Simple Object Access ProtocolSimple Object Access Protocol
Simple Object Access Protocol
 
12 adversal search
12 adversal search12 adversal search
12 adversal search
 
SOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolSOAP--Simple Object Access Protocol
SOAP--Simple Object Access Protocol
 
Adversarial search
Adversarial search Adversarial search
Adversarial search
 
Alphabeta
AlphabetaAlphabeta
Alphabeta
 
Adversarial search with Game Playing
Adversarial search with Game PlayingAdversarial search with Game Playing
Adversarial search with Game Playing
 
Alpha beta pruning
Alpha beta pruningAlpha beta pruning
Alpha beta pruning
 
Alpha beta prouning
Alpha beta prouningAlpha beta prouning
Alpha beta prouning
 
Minimax
MinimaxMinimax
Minimax
 
Game playing in artificial intelligent technique
Game playing in artificial intelligent technique Game playing in artificial intelligent technique
Game playing in artificial intelligent technique
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 
Best topics for seminar
Best topics for seminarBest topics for seminar
Best topics for seminar
 

Similaire à Soap xp-wg

Intro to web services
Intro to web servicesIntro to web services
Intro to web servicesNeil Ghosh
 
Introduction to SOAP
Introduction to SOAPIntroduction to SOAP
Introduction to SOAPSafwan Hashmi
 
C# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENTC# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENTDr. Awase Khirni Syed
 
WebServices.ppt
WebServices.pptWebServices.ppt
WebServices.pptIftikhar70
 
Web-Services!.pptx
Web-Services!.pptxWeb-Services!.pptx
Web-Services!.pptxssuserae0316
 
jkljklj
jkljkljjkljklj
jkljkljhoefo
 
Soap Standard
Soap StandardSoap Standard
Soap StandardKumar
 
Web technology-guide
Web technology-guideWeb technology-guide
Web technology-guideSrihari
 
web programming
web programmingweb programming
web programmingshreeuva
 
D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-SignalingOleg Levy
 
Java Web Services [2/5]: Introduction to SOAP
Java Web Services [2/5]: Introduction to SOAPJava Web Services [2/5]: Introduction to SOAP
Java Web Services [2/5]: Introduction to SOAPIMC Institute
 
WebServices introduction in Mule
WebServices introduction in MuleWebServices introduction in Mule
WebServices introduction in MuleF K
 
WebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIWebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIRajkattamuri
 
SOAP, WSDL and UDDI
SOAP, WSDL and UDDISOAP, WSDL and UDDI
SOAP, WSDL and UDDIShahid Shaik
 

Similaire à Soap xp-wg (20)

Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Introduction to SOAP
Introduction to SOAPIntroduction to SOAP
Introduction to SOAP
 
Lecture 3 soap
Lecture 3 soapLecture 3 soap
Lecture 3 soap
 
C# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENTC# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENT
 
WebServices.ppt
WebServices.pptWebServices.ppt
WebServices.ppt
 
what is soap
what is soapwhat is soap
what is soap
 
SOAP WEB TECHNOLOGIES
SOAP WEB TECHNOLOGIESSOAP WEB TECHNOLOGIES
SOAP WEB TECHNOLOGIES
 
Web-Services!.pptx
Web-Services!.pptxWeb-Services!.pptx
Web-Services!.pptx
 
jkljklj
jkljkljjkljklj
jkljklj
 
Soap Standard
Soap StandardSoap Standard
Soap Standard
 
soap toolkit
soap toolkitsoap toolkit
soap toolkit
 
SOA and web services
SOA and web servicesSOA and web services
SOA and web services
 
Web technology-guide
Web technology-guideWeb technology-guide
Web technology-guide
 
web programming
web programmingweb programming
web programming
 
D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-Signaling
 
Soap
SoapSoap
Soap
 
Java Web Services [2/5]: Introduction to SOAP
Java Web Services [2/5]: Introduction to SOAPJava Web Services [2/5]: Introduction to SOAP
Java Web Services [2/5]: Introduction to SOAP
 
WebServices introduction in Mule
WebServices introduction in MuleWebServices introduction in Mule
WebServices introduction in Mule
 
WebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIWebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDI
 
SOAP, WSDL and UDDI
SOAP, WSDL and UDDISOAP, WSDL and UDDI
SOAP, WSDL and UDDI
 

Plus de Safwan Hashmi

Plus de Safwan Hashmi (14)

MODERAN BLOCK CIPHER
MODERAN BLOCK CIPHER MODERAN BLOCK CIPHER
MODERAN BLOCK CIPHER
 
Dark web
Dark webDark web
Dark web
 
CEASER & VIGENERE CIPHER IMPLEMENTATION
CEASER & VIGENERE CIPHER IMPLEMENTATIONCEASER & VIGENERE CIPHER IMPLEMENTATION
CEASER & VIGENERE CIPHER IMPLEMENTATION
 
Incident managment plan
Incident managment planIncident managment plan
Incident managment plan
 
Business continuity plan
Business continuity planBusiness continuity plan
Business continuity plan
 
Sql injection
Sql injectionSql injection
Sql injection
 
Sql security
Sql securitySql security
Sql security
 
Database design
Database designDatabase design
Database design
 
Color and color models
Color and color modelsColor and color models
Color and color models
 
Democracy.s
Democracy.sDemocracy.s
Democracy.s
 
Democracy01
Democracy01Democracy01
Democracy01
 
Democracy.ppt
Democracy.pptDemocracy.ppt
Democracy.ppt
 
Calunization
CalunizationCalunization
Calunization
 
Development
DevelopmentDevelopment
Development
 

Dernier

VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 

Dernier (20)

VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 

Soap xp-wg

  • 2. 2 Where did it come from? • Microsoft, UserLand, DevelopMentor, IBM, Ariba, Commerce One, Compaq, HP, IONA, Lotus, SAP ~ Submitted to W3C May 2000. • XML based protocol • Intended to be a simple wire-protocol for exchange of info. Largest use may be over Internet HTTP.
  • 3. 3 Motivation • Many Distributed applications communicate using remote procedure calls (RPC) between distributed objects like DCOM and CORBA. • HTTP isn’t designed for those objects, so RPC calls aren’t easily adapted to the Internet. • Security problems exist for those methods of RPC, so most firewalls and proxy servers are set to block this traffic. • HTTP is supported by all Internet browsers and servers, so SOAP presents a nice protocol for doing RPC.
  • 4. 4 What is SOAP? SOAP IS: • Lightweight communication protocol • For communication between applications one-way, request/response, multicast, etc.. • Designed to communicate via HTTP • Not tied to any component technology • Not tied to any programming language • Based on XML • Simple and extensible
  • 5. 5 Basic Structure of Soap • Envelope Defines the content of the message • Header (optional) contains header information • Body contains call and response information
  • 6. 6 SOAP Contains Four Parts: • An extensible envelope expressing (mandatory) • what features and services are represented in a message; • who should deal with them, • whether they are optional or mandatory. • A set of encoding rules for data (optional) • Exchange instances of application-defined data types and directed graphs • Uniform model for serializing abstract data models that can not directly be expressed in XML schema • A Convention for representation RPC (optional) • How to make calls and responses • A protocol binding to HTTP and HTTP-EF (optional)
  • 7. 7 SOAP Envelope SOAP Example in HTTP HTTP Request SOAP-HTTP Binding SOAP Header SOAP Body POST /Accounts/Henrik HTTP/1.1 Host: www.webservicebank.com Content-Length: nnnn Content-Type: text/xml; charset="utf-8" SOAPAction: "Some-URI" <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP:Header> <t:Transaction xmlns:t="some-URI" SOAP:mustUnderstand="1"> 5 </t:Transaction> </SOAP:Header> <SOAP:Body> <m:Deposit xmlns:m="Some-URI"> <m:amount>200</m:amount> </m:Deposit> </SOAP:Body> </SOAP:Envelope>
  • 8. 8 SOAP Example in SIP SOAP Envelope SIP Request SOAP-SIP Binding SOAP Body SERVICE sip:broker.ubiquity.net SIP/2.0 To: sip:broker.ubiquity.net From: sip:proxy.ubiquity.net Call-ID:648324@193.195.52.30 CSeq: 1 SERVICE Via: SIP/2.0/UDP proxy.ubiquity.net Content-Type: text/xml Content-Length: 381 <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope” SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP:Body> <m:SetCreditStatus xmlns:m="http://www.ubiquity.net/sipservices"> <m:user>sip:jo@ubiquity.net</m:user> <m:status>super</m:status> </m:SetCreditStatus> </SOAP:Body> </SOAP:Envelope>
  • 9. 9 … or SOAP by Itself… <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope” SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP:Header> <m:MessageInfo xmlns:m="http://www.info.org/soap/message"> <m:to href="mailto:you@your.com"/> <m:from href="mailto:me@my.com"/> <m:contact href="mailto:someone@my.com"> </m:MessageInfo> </SOAP:Header> <SOAP:Body> <msg:Message xmlns:m="http://www.info.org/soap/message"> <msg:subject>Your house is on fire!</msg:subject> <msg:feed href="ram://livenews.com/yourhouse"/> </msg:Message> </SOAP:Body> </SOAP:Envelope>
  • 10. 10 Note Again: SOAP is a Protocol! • What does this mean? • It is not a distributed object system • It is not an RPC system • It is not even a Web application • Your application decides what your application is! • You can build a tightly coupled system …or… • You can build a loosely coupled system
  • 11. 11 Why Not Roll My Own XML Protocol? • SOAP allows you to define your particular feature or service in such a way that it can co-exist with other features and services within a SOAP message • What is a feature or a service? • Authentication service • Payment service • Security service • Transaction management service • Privacy service • Not owning the message means easier deployment and better interoperability
  • 12. 12 Syntax Rules • MUST be encoded using XML • MUST have a SOAP Envelope • CAN have a SOAP header • MUST have a SOAP Body • MUST use the SOAP Envelope namespace • MUST use the SOAP Encoding namespace • Must NOT contain a DTD reference • Must NOT contain XML Processing
  • 13. 13 SOAP Fault Element • Error messages from a SOAP application are carried inside a Fault element. • Must appear as an element w/in the <Body> element and can only appear once in a SOAP message. • Fault sub elements: <faultcode> MUST: --code identifying the error, for use by the software <faultstring> MUST: --error as a string <faultactor> MUST(Apps not acting as ultimate destination of SOAP message) --who caused the error <detail> MUST(if contents of Body could not be successfully processed) --specific error information • Fault Codes: VersionMismatch Invalid namespace for the SOAP Envelope Element MustUnderstand A child element of the Header element, with the mustUnderstand attribute set to “1”, was not understood Client The message was incorrectly formed or contained incorrect information. Server There was a problem with the server so the message could not be process • Example: <env:Fault> <faultcode>env:MustUnderstand</faultcode> <faultstring>SOAP Must Understand Error</faultstring> </env:Fault>
  • 14. 14 CORBA vs. SOAP CORBA (Common Object Request Broker Architecture) SOAP (Simple Object Access Protocol) CORBA provides a true object-oriented component architecture. Web services like (UDDI/WSDL/SOAP) are not providing true object-oriented component architecture. Fast Compared to SOAP Because of the verbose XML format, SOAP can be considerably slower than CORBA Can be difficult to use if server and/or client is behind a firewall or if network address translation is being used HTTP works well with network firewalls Problems with implementations It is XML based implementation compare to CORBA,SOAP Implementation is easy. It uses IIOP (Internet Inter ORB Protocol) Simple XML-based protocol to let applications exchange information over HTTP
  • 15. 15 Advantages of SOAP are: • Portability • Firewall friendliness • Use of open standards • Interoperability • Universal acceptance. Language neutrality: SOAP can be developed using any language. • Interoperability and Platform Independence: SOAP can be implemented in any language and can be executed in any platform. SOAP messages are in very simple XML format. • Scalability: SOAP uses HTTP protocol for transport due to which it becomes scalable.
  • 16. 16 Disadvantages of SOAP • – Too much reliance on HTTP • – Statelessness • – Serialization by value and not by reference
  • 17. 17 Summary • SOAP envelope provides • SOAP can be used with many protocols • Easy to deploy with existing infrastructure • SOAP is fundamentally a one-way message • Supports request/response, RPC etc. • Your application decides what it is!

Notes de l'éditeur

  1. SIP (Session Initiation Protocol) is a text-based signaling protocol used to establish multimedia sessions on the Internet