SlideShare una empresa de Scribd logo
1 de 23
11
WSDL: Web ServiceWSDL: Web Service
Description LanguageDescription Language
Gary SharpGary Sharp
Mike BreakironMike Breakiron
2
OutlineOutline
What and whyWhat and why
WSDL document structureWSDL document structure
Sections and elementsSections and elements
– types, messages, portTypes, bindings, and servicestypes, messages, portTypes, bindings, and services
NamespacesNamespaces
Demo1 – create a web service and its WSDLDemo1 – create a web service and its WSDL
documentdocument
Demo2 – XMethods WSDL interpretationDemo2 – XMethods WSDL interpretation
WSDL referencesWSDL references
3
What is WSDL?What is WSDL?
Web Service Description LanguageWeb Service Description Language
WSDL is a document written in XMLWSDL is a document written in XML
The document describes a Web serviceThe document describes a Web service
Specifies the location of the service andSpecifies the location of the service and
the methods the service exposesthe methods the service exposes
4
Why WSDL?Why WSDL?
Without WSDL, calling syntax must beWithout WSDL, calling syntax must be
determined from documentation that mustdetermined from documentation that must
be provided, or from examining wirebe provided, or from examining wire
messagesmessages
With WSDL, the generation of proxies forWith WSDL, the generation of proxies for
Web services is automated in a trulyWeb services is automated in a truly
language- and platform-independent waylanguage- and platform-independent way
5
Where does WSDL fit?Where does WSDL fit?
SOAP is the envelope containing theSOAP is the envelope containing the
messagemessage
WSDL describes the serviceWSDL describes the service
UDDI is a listing of web services describedUDDI is a listing of web services described
by WSDLby WSDL
6
Document StructureDocument Structure
Written in XMLWritten in XML
Two types of sectionsTwo types of sections
– Abstract and ConcreteAbstract and Concrete
AbstractAbstract sections define SOAP messagessections define SOAP messages
in a platform- and language-independentin a platform- and language-independent
mannermanner
Site-specific matters such as serializationSite-specific matters such as serialization
are relegated to theare relegated to the ConcreteConcrete sectionssections
7
Abstract DefinitionsAbstract Definitions
Types:Types: Machine- and language-Machine- and language-
independent type definitions.independent type definitions.
Messages:Messages: Contains function parametersContains function parameters
(inputs are separate from outputs) or(inputs are separate from outputs) or
document descriptions.document descriptions.
PortTypes:PortTypes: Refers to message definitionsRefers to message definitions
in Messages section that describe functionin Messages section that describe function
signatures (operation name, inputsignatures (operation name, input
parameters, output parameters).parameters, output parameters).
8
Concrete DescriptionsConcrete Descriptions
Bindings:Bindings: Specifies binding(s) of eachSpecifies binding(s) of each
operation in the PortTypes section.operation in the PortTypes section.
Services:Services: Specifies port address(es) ofSpecifies port address(es) of
each binding.each binding.
9
OperationOperation
AnAn operationoperation is similar to a function in ais similar to a function in a
high level programming languagehigh level programming language
A message exchange is also referred toA message exchange is also referred to
as an operationas an operation
Operations are the focal point ofOperations are the focal point of
interacting with the serviceinteracting with the service
10
Big PictureBig Picture
11
An ExampleAn Example
<?xml version="1.0" encoding="UTF-8" ?><?xml version="1.0" encoding="UTF-8" ?>
This first line declares the document as anThis first line declares the document as an
XML document.XML document.
Not required, but helps the XML parserNot required, but helps the XML parser
determine whether to parse the file ordetermine whether to parse the file or
signal an errorsignal an error
12
Types SectionTypes Section
TheThe typetype element defines the data typeselement defines the data types
that are used by the web service.that are used by the web service.
<xsd:complexType name="PERSON"><xsd:complexType name="PERSON">
<xsd:sequence><xsd:sequence>
<xsd:element name="firstName“ type="xsd:string"/><xsd:element name="firstName“ type="xsd:string"/>
<xsd:element name="lastName" type="xsd:string"/><xsd:element name="lastName" type="xsd:string"/>
<xsd:element name="ageInYears" type="xsd:int"/><xsd:element name="ageInYears" type="xsd:int"/>
</xsd:sequence></xsd:sequence>
</xsd:complexType></xsd:complexType>
13
Messages SectionMessages Section
AA messagemessage element defines parameterselement defines parameters
The name of an output message element endsThe name of an output message element ends
in "Response" by conventionin "Response" by convention
<message name="Simple.foo"><message name="Simple.foo">
<part name="arg" type="xsd:int"/><part name="arg" type="xsd:int"/>
</message></message>
<message name="Simple.fooResponse"><message name="Simple.fooResponse">
<part name="result" type="xsd:int"/><part name="result" type="xsd:int"/>
</message></message>
14
PortTypes SectionPortTypes Section
Defines a web service, the operations that can beDefines a web service, the operations that can be
performed, and the messages that are involved.performed, and the messages that are involved.
<portType name="SimplePortType"><portType name="SimplePortType">
<operation name="foo" parameterOrder="arg" ><operation name="foo" parameterOrder="arg" >
<input message="wsdlns:Simple.foo"/><input message="wsdlns:Simple.foo"/>
<outputmessage="wsdlns:Simple.fooResponse"/><outputmessage="wsdlns:Simple.fooResponse"/>
</operation></operation>
</portType></portType>
15
Bindings SectionBindings Section
TheThe bindingbinding element defines the messageelement defines the message
format and protocol details for each port.format and protocol details for each port.
<operation name="foo"><operation name="foo">
<soap:operation soapAction="http://tempuri.org/action/Simple.foo"/><soap:operation soapAction="http://tempuri.org/action/Simple.foo"/>
<input><input>
<soap:body use="encoded"<soap:body use="encoded"
namespace="http://tempuri.org/message/"namespace="http://tempuri.org/message/"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input></input>
<output><output>
<soap:body use="encoded“<soap:body use="encoded“
namespace="http://tempuri.org/message/“namespace="http://tempuri.org/message/“
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output></output>
</operation></operation>
16
The Port ElementThe Port Element
Each <port> element associates a locationEach <port> element associates a location
with a <binding> in a one-to-one fashionwith a <binding> in a one-to-one fashion
<port name="fooSamplePort"<port name="fooSamplePort"
binding="fooSampleBinding">binding="fooSampleBinding">
<soap:address<soap:address
location="http://carlos:8080/fooService/foo.asp"/>location="http://carlos:8080/fooService/foo.asp"/>
</port></port>
17
Services SectionServices Section
A collection of related endpoints, where anA collection of related endpoints, where an
endpoint is defined as a combination of aendpoint is defined as a combination of a
binding and an addressbinding and an address
<service name="FOOSAMPLEService"><service name="FOOSAMPLEService">
<port name="SimplePort“<port name="SimplePort“
binding="wsdlns:SimpleBinding">binding="wsdlns:SimpleBinding">
<soap:address<soap:address
location="http://carlos:8080/FooSample/location="http://carlos:8080/FooSample/
FooSample.asp"/>FooSample.asp"/>
</port></port>
</service></service>
18
An ExampleAn Example
<message name="Simple.foo"><message name="Simple.foo">
<part name="arg" type="xsd:int"/><part name="arg" type="xsd:int"/>
</message></message>
<message name="Simple.fooResponse"><message name="Simple.fooResponse">
<part name="result" type="xsd:int"/><part name="result" type="xsd:int"/>
</message></message>
<portType name="SimplePortType"><portType name="SimplePortType">
<operation name="foo" parameterOrder="arg" ><operation name="foo" parameterOrder="arg" >
<input message="wsdlns:Simple.foo"/><input message="wsdlns:Simple.foo"/>
<output message="wsdlns:Simple.fooResponse"/><output message="wsdlns:Simple.fooResponse"/>
</operation></operation>
</portType></portType>
The above describes what kind of C/C++ function call?The above describes what kind of C/C++ function call?
int foo(int arg);int foo(int arg);
19
NamespacesNamespaces
The purpose of namespaces is to avoid namingThe purpose of namespaces is to avoid naming
conflicts.conflicts.
Imagine two complimentary web services,Imagine two complimentary web services,
named A and B, each with an element namednamed A and B, each with an element named
“foo”.“foo”.
Each instance of foo can be referenced as A:fooEach instance of foo can be referenced as A:foo
and B:fooand B:foo
Example: "xmlns:xsd" defines a shorthand (xsd)Example: "xmlns:xsd" defines a shorthand (xsd)
for the namespacefor the namespace
SeeSee http://www.w3.org/2001/XMLSchemahttp://www.w3.org/2001/XMLSchema..
20
DemoDemo
Create a web service and generate itsCreate a web service and generate its
WSDL documentWSDL document
21
DemoDemo
Demo of XMethods WSDL interpretationDemo of XMethods WSDL interpretation
22
WSDL References [Primary]WSDL References [Primary]
http://msdn.microsoft.com/library/default.asp?uhttp://msdn.microsoft.com/library/default.asp?u
-a good overview of WSDL-a good overview of WSDL
http://msdn.microsoft.com/library/default.ahttp://msdn.microsoft.com/library/default.a
sp?url=/library/en-sp?url=/library/en-
us/dnwebsrv/html/understandWSDL.aspus/dnwebsrv/html/understandWSDL.asp
-another good WSDL description-another good WSDL description
23
http://www.xmethods.com/ve2/Tools.pohttp://www.xmethods.com/ve2/Tools.po
-WSDL analyzer-WSDL analyzer
http://soap.amazon.com/schemas2/Amazhttp://soap.amazon.com/schemas2/Amaz
onWebServices.wsdlonWebServices.wsdl
-Amazon’s WSDL document-Amazon’s WSDL document
http://api.google.com/GoogleSearch.wsdlhttp://api.google.com/GoogleSearch.wsdl
-Google’s WSDL document-Google’s WSDL document
WSDL References [Secondary]WSDL References [Secondary]

Más contenido relacionado

La actualidad más candente

Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Peter R. Egli
 
Description of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDIDescription of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDITUSHAR VARSHNEY
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web servicesNeil Ghosh
 
SOAP, WSDL and UDDI
SOAP, WSDL and UDDISOAP, WSDL and UDDI
SOAP, WSDL and UDDIShahid Shaik
 
Soap web service
Soap web serviceSoap web service
Soap web serviceNITT, KAMK
 
Java Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDIJava Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDIIMC Institute
 
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...ecosio GmbH
 
WebService-Java
WebService-JavaWebService-Java
WebService-Javahalwal
 
Introduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web ServicesIntroduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web Servicesecosio GmbH
 
Java Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web ServicesJava Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web ServicesIMC Institute
 
Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentationguest0df6b0
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technologysanjoysanyal
 

La actualidad más candente (20)

Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 
Web service
Web serviceWeb service
Web service
 
Web service introduction
Web service introductionWeb service introduction
Web service introduction
 
Web Service
Web ServiceWeb Service
Web Service
 
Java web services
Java web servicesJava web services
Java web services
 
Description of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDIDescription of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDI
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
SOAP, WSDL and UDDI
SOAP, WSDL and UDDISOAP, WSDL and UDDI
SOAP, WSDL and UDDI
 
Soap web service
Soap web serviceSoap web service
Soap web service
 
Java Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDIJava Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDI
 
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
Introduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web ServicesIntroduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web Services
 
Web services
Web servicesWeb services
Web services
 
Java Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web ServicesJava Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web Services
 
SOAP-based Web Services
SOAP-based Web ServicesSOAP-based Web Services
SOAP-based Web Services
 
Web services
Web servicesWeb services
Web services
 
Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentation
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technology
 
Web Services Tutorial
Web Services TutorialWeb Services Tutorial
Web Services Tutorial
 

Similar a Wsdl

Similar a Wsdl (20)

Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Services
 
Webservices
WebservicesWebservices
Webservices
 
Web services overview
Web services overviewWeb services overview
Web services overview
 
Wsdl1
Wsdl1Wsdl1
Wsdl1
 
Web services
Web servicesWeb services
Web services
 
Webservices
WebservicesWebservices
Webservices
 
Web Services
Web Services Web Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Ogsi protocol perspective
Ogsi protocol perspectiveOgsi protocol perspective
Ogsi protocol perspective
 
SOAP WEB TECHNOLOGIES
SOAP WEB TECHNOLOGIESSOAP WEB TECHNOLOGIES
SOAP WEB TECHNOLOGIES
 
Steps india technologies
Steps india technologiesSteps india technologies
Steps india technologies
 
Steps india technologies .com
Steps india technologies .comSteps india technologies .com
Steps india technologies .com
 
Cloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in servicesCloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in services
 
Web services for developer
Web services for developerWeb services for developer
Web services for developer
 
Cloud computing 20 service modelling
Cloud computing 20 service modellingCloud computing 20 service modelling
Cloud computing 20 service modelling
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technology
 
Interoperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSITInteroperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSIT
 
Web services
Web servicesWeb services
Web services
 
[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyond[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyond
 
jkljklj
jkljkljjkljklj
jkljklj
 

Más de ppts123456

Anypointconnectordevkit 160816041722
Anypointconnectordevkit 160816041722Anypointconnectordevkit 160816041722
Anypointconnectordevkit 160816041722ppts123456
 
Muleesbcomponents1 160625154208
Muleesbcomponents1 160625154208Muleesbcomponents1 160625154208
Muleesbcomponents1 160625154208ppts123456
 
Flowsinmule 160517130818
Flowsinmule 160517130818Flowsinmule 160517130818
Flowsinmule 160517130818ppts123456
 
Mulefundamentals 160503050909
Mulefundamentals 160503050909Mulefundamentals 160503050909
Mulefundamentals 160503050909ppts123456
 
4 150915033746-lva1-app6892
4 150915033746-lva1-app68924 150915033746-lva1-app6892
4 150915033746-lva1-app6892ppts123456
 
Mulehdfsconnector 160810122655
Mulehdfsconnector 160810122655Mulehdfsconnector 160810122655
Mulehdfsconnector 160810122655ppts123456
 
Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841ppts123456
 
Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602ppts123456
 
Mulesoftanypointplatformintro
MulesoftanypointplatformintroMulesoftanypointplatformintro
Mulesoftanypointplatformintroppts123456
 
2016 08-08 ecology and environment
2016 08-08 ecology and environment2016 08-08 ecology and environment
2016 08-08 ecology and environmentppts123456
 
Algorithm analysis and efficiency
Algorithm analysis and efficiencyAlgorithm analysis and efficiency
Algorithm analysis and efficiencyppts123456
 

Más de ppts123456 (13)

Anypointconnectordevkit 160816041722
Anypointconnectordevkit 160816041722Anypointconnectordevkit 160816041722
Anypointconnectordevkit 160816041722
 
Muleesbcomponents1 160625154208
Muleesbcomponents1 160625154208Muleesbcomponents1 160625154208
Muleesbcomponents1 160625154208
 
Flowsinmule 160517130818
Flowsinmule 160517130818Flowsinmule 160517130818
Flowsinmule 160517130818
 
Mulefundamentals 160503050909
Mulefundamentals 160503050909Mulefundamentals 160503050909
Mulefundamentals 160503050909
 
4 150915033746-lva1-app6892
4 150915033746-lva1-app68924 150915033746-lva1-app6892
4 150915033746-lva1-app6892
 
Mulehdfsconnector 160810122655
Mulehdfsconnector 160810122655Mulehdfsconnector 160810122655
Mulehdfsconnector 160810122655
 
Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841
 
Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602
 
Mulesoftanypointplatformintro
MulesoftanypointplatformintroMulesoftanypointplatformintro
Mulesoftanypointplatformintro
 
Mule overview
Mule overviewMule overview
Mule overview
 
2016 08-08 ecology and environment
2016 08-08 ecology and environment2016 08-08 ecology and environment
2016 08-08 ecology and environment
 
Algorithm analysis and efficiency
Algorithm analysis and efficiencyAlgorithm analysis and efficiency
Algorithm analysis and efficiency
 
E procureppt
E procurepptE procureppt
E procureppt
 

Último

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 

Último (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 

Wsdl

  • 1. 11 WSDL: Web ServiceWSDL: Web Service Description LanguageDescription Language Gary SharpGary Sharp Mike BreakironMike Breakiron
  • 2. 2 OutlineOutline What and whyWhat and why WSDL document structureWSDL document structure Sections and elementsSections and elements – types, messages, portTypes, bindings, and servicestypes, messages, portTypes, bindings, and services NamespacesNamespaces Demo1 – create a web service and its WSDLDemo1 – create a web service and its WSDL documentdocument Demo2 – XMethods WSDL interpretationDemo2 – XMethods WSDL interpretation WSDL referencesWSDL references
  • 3. 3 What is WSDL?What is WSDL? Web Service Description LanguageWeb Service Description Language WSDL is a document written in XMLWSDL is a document written in XML The document describes a Web serviceThe document describes a Web service Specifies the location of the service andSpecifies the location of the service and the methods the service exposesthe methods the service exposes
  • 4. 4 Why WSDL?Why WSDL? Without WSDL, calling syntax must beWithout WSDL, calling syntax must be determined from documentation that mustdetermined from documentation that must be provided, or from examining wirebe provided, or from examining wire messagesmessages With WSDL, the generation of proxies forWith WSDL, the generation of proxies for Web services is automated in a trulyWeb services is automated in a truly language- and platform-independent waylanguage- and platform-independent way
  • 5. 5 Where does WSDL fit?Where does WSDL fit? SOAP is the envelope containing theSOAP is the envelope containing the messagemessage WSDL describes the serviceWSDL describes the service UDDI is a listing of web services describedUDDI is a listing of web services described by WSDLby WSDL
  • 6. 6 Document StructureDocument Structure Written in XMLWritten in XML Two types of sectionsTwo types of sections – Abstract and ConcreteAbstract and Concrete AbstractAbstract sections define SOAP messagessections define SOAP messages in a platform- and language-independentin a platform- and language-independent mannermanner Site-specific matters such as serializationSite-specific matters such as serialization are relegated to theare relegated to the ConcreteConcrete sectionssections
  • 7. 7 Abstract DefinitionsAbstract Definitions Types:Types: Machine- and language-Machine- and language- independent type definitions.independent type definitions. Messages:Messages: Contains function parametersContains function parameters (inputs are separate from outputs) or(inputs are separate from outputs) or document descriptions.document descriptions. PortTypes:PortTypes: Refers to message definitionsRefers to message definitions in Messages section that describe functionin Messages section that describe function signatures (operation name, inputsignatures (operation name, input parameters, output parameters).parameters, output parameters).
  • 8. 8 Concrete DescriptionsConcrete Descriptions Bindings:Bindings: Specifies binding(s) of eachSpecifies binding(s) of each operation in the PortTypes section.operation in the PortTypes section. Services:Services: Specifies port address(es) ofSpecifies port address(es) of each binding.each binding.
  • 9. 9 OperationOperation AnAn operationoperation is similar to a function in ais similar to a function in a high level programming languagehigh level programming language A message exchange is also referred toA message exchange is also referred to as an operationas an operation Operations are the focal point ofOperations are the focal point of interacting with the serviceinteracting with the service
  • 11. 11 An ExampleAn Example <?xml version="1.0" encoding="UTF-8" ?><?xml version="1.0" encoding="UTF-8" ?> This first line declares the document as anThis first line declares the document as an XML document.XML document. Not required, but helps the XML parserNot required, but helps the XML parser determine whether to parse the file ordetermine whether to parse the file or signal an errorsignal an error
  • 12. 12 Types SectionTypes Section TheThe typetype element defines the data typeselement defines the data types that are used by the web service.that are used by the web service. <xsd:complexType name="PERSON"><xsd:complexType name="PERSON"> <xsd:sequence><xsd:sequence> <xsd:element name="firstName“ type="xsd:string"/><xsd:element name="firstName“ type="xsd:string"/> <xsd:element name="lastName" type="xsd:string"/><xsd:element name="lastName" type="xsd:string"/> <xsd:element name="ageInYears" type="xsd:int"/><xsd:element name="ageInYears" type="xsd:int"/> </xsd:sequence></xsd:sequence> </xsd:complexType></xsd:complexType>
  • 13. 13 Messages SectionMessages Section AA messagemessage element defines parameterselement defines parameters The name of an output message element endsThe name of an output message element ends in "Response" by conventionin "Response" by convention <message name="Simple.foo"><message name="Simple.foo"> <part name="arg" type="xsd:int"/><part name="arg" type="xsd:int"/> </message></message> <message name="Simple.fooResponse"><message name="Simple.fooResponse"> <part name="result" type="xsd:int"/><part name="result" type="xsd:int"/> </message></message>
  • 14. 14 PortTypes SectionPortTypes Section Defines a web service, the operations that can beDefines a web service, the operations that can be performed, and the messages that are involved.performed, and the messages that are involved. <portType name="SimplePortType"><portType name="SimplePortType"> <operation name="foo" parameterOrder="arg" ><operation name="foo" parameterOrder="arg" > <input message="wsdlns:Simple.foo"/><input message="wsdlns:Simple.foo"/> <outputmessage="wsdlns:Simple.fooResponse"/><outputmessage="wsdlns:Simple.fooResponse"/> </operation></operation> </portType></portType>
  • 15. 15 Bindings SectionBindings Section TheThe bindingbinding element defines the messageelement defines the message format and protocol details for each port.format and protocol details for each port. <operation name="foo"><operation name="foo"> <soap:operation soapAction="http://tempuri.org/action/Simple.foo"/><soap:operation soapAction="http://tempuri.org/action/Simple.foo"/> <input><input> <soap:body use="encoded"<soap:body use="encoded" namespace="http://tempuri.org/message/"namespace="http://tempuri.org/message/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </input></input> <output><output> <soap:body use="encoded“<soap:body use="encoded“ namespace="http://tempuri.org/message/“namespace="http://tempuri.org/message/“ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </output></output> </operation></operation>
  • 16. 16 The Port ElementThe Port Element Each <port> element associates a locationEach <port> element associates a location with a <binding> in a one-to-one fashionwith a <binding> in a one-to-one fashion <port name="fooSamplePort"<port name="fooSamplePort" binding="fooSampleBinding">binding="fooSampleBinding"> <soap:address<soap:address location="http://carlos:8080/fooService/foo.asp"/>location="http://carlos:8080/fooService/foo.asp"/> </port></port>
  • 17. 17 Services SectionServices Section A collection of related endpoints, where anA collection of related endpoints, where an endpoint is defined as a combination of aendpoint is defined as a combination of a binding and an addressbinding and an address <service name="FOOSAMPLEService"><service name="FOOSAMPLEService"> <port name="SimplePort“<port name="SimplePort“ binding="wsdlns:SimpleBinding">binding="wsdlns:SimpleBinding"> <soap:address<soap:address location="http://carlos:8080/FooSample/location="http://carlos:8080/FooSample/ FooSample.asp"/>FooSample.asp"/> </port></port> </service></service>
  • 18. 18 An ExampleAn Example <message name="Simple.foo"><message name="Simple.foo"> <part name="arg" type="xsd:int"/><part name="arg" type="xsd:int"/> </message></message> <message name="Simple.fooResponse"><message name="Simple.fooResponse"> <part name="result" type="xsd:int"/><part name="result" type="xsd:int"/> </message></message> <portType name="SimplePortType"><portType name="SimplePortType"> <operation name="foo" parameterOrder="arg" ><operation name="foo" parameterOrder="arg" > <input message="wsdlns:Simple.foo"/><input message="wsdlns:Simple.foo"/> <output message="wsdlns:Simple.fooResponse"/><output message="wsdlns:Simple.fooResponse"/> </operation></operation> </portType></portType> The above describes what kind of C/C++ function call?The above describes what kind of C/C++ function call? int foo(int arg);int foo(int arg);
  • 19. 19 NamespacesNamespaces The purpose of namespaces is to avoid namingThe purpose of namespaces is to avoid naming conflicts.conflicts. Imagine two complimentary web services,Imagine two complimentary web services, named A and B, each with an element namednamed A and B, each with an element named “foo”.“foo”. Each instance of foo can be referenced as A:fooEach instance of foo can be referenced as A:foo and B:fooand B:foo Example: "xmlns:xsd" defines a shorthand (xsd)Example: "xmlns:xsd" defines a shorthand (xsd) for the namespacefor the namespace SeeSee http://www.w3.org/2001/XMLSchemahttp://www.w3.org/2001/XMLSchema..
  • 20. 20 DemoDemo Create a web service and generate itsCreate a web service and generate its WSDL documentWSDL document
  • 21. 21 DemoDemo Demo of XMethods WSDL interpretationDemo of XMethods WSDL interpretation
  • 22. 22 WSDL References [Primary]WSDL References [Primary] http://msdn.microsoft.com/library/default.asp?uhttp://msdn.microsoft.com/library/default.asp?u -a good overview of WSDL-a good overview of WSDL http://msdn.microsoft.com/library/default.ahttp://msdn.microsoft.com/library/default.a sp?url=/library/en-sp?url=/library/en- us/dnwebsrv/html/understandWSDL.aspus/dnwebsrv/html/understandWSDL.asp -another good WSDL description-another good WSDL description
  • 23. 23 http://www.xmethods.com/ve2/Tools.pohttp://www.xmethods.com/ve2/Tools.po -WSDL analyzer-WSDL analyzer http://soap.amazon.com/schemas2/Amazhttp://soap.amazon.com/schemas2/Amaz onWebServices.wsdlonWebServices.wsdl -Amazon’s WSDL document-Amazon’s WSDL document http://api.google.com/GoogleSearch.wsdlhttp://api.google.com/GoogleSearch.wsdl -Google’s WSDL document-Google’s WSDL document WSDL References [Secondary]WSDL References [Secondary]

Notas del editor

  1. Either way, a human will have to be involved, and so the process is prone to error.
  2. UDDI is the “yellow pages” of web services
  3. Refer to handout
  4. Refer to handout