SlideShare una empresa de Scribd logo
1 de 26
Web Services (NSWI145)
Lecture 08: WS Addressing, WS Notification
Martin Nečaský, Ph.D.
Faculty of Mathematics and Physics
Charles University in Prague, Czech Republic
Summer 2013
WS-*
 family of complementary Web service
technologies
 in this lecture
 W3C Web Services Addressing Working Group:
• WS-Addressing
Summer 2013
WS-Addressing
 W3C Web Services Addressing Working Group
 completed and closed on 5 Sep 2007
 http://www.w3.org/2002/ws/addr/
 motivation
 standard way to include information about
message sender and receiver, how to return
message response in message itself
Summer 2013
WS-Addressing
 consists of three W3C recommendations
 WS Addressing 1.0 – Core
• endpoint references and message addressing properties
• namespace URI
http://www.w3.org/2005/08/addressing (usual
prefix wsa)
 WS Addressing 1.0 – SOAP Binding
 WS Addressing 1.0 – Metadata
• binding endpoint references to WSDL metadata
• how message addressing properties are described using WSDL
• how WS-Policy can be used to indicate support for WS-Addressing
• namespace URI
http://www.w3.org/2007/05/addressing/metadata
(usual prefix wsam)
Summer 2013
Endpoint References
 informally
 endpoint is a referable entity, process or resource to
which messages can be addressed
 endpoint reference provides information needed to
address endpoint
 can be part of service interface description or created
dynamically (e.g. in SOAP messages, BPEL scripts, ...)
 formally
 endpoint is a collection of abstract properties
 WS-Addressing defines a core set of properties which
can be extended by other specifications
Summer 2013
Endpoint References
Summer 2013
 element wsa:EndpointReference
 defines endpoint reference
 can be used by any other WS standard
• WS-Addressing Core does not specify where element
can be used
• used, e.g., in BPEL 2.0
<wsa:EndpointReference
xmlns:wsa="http://www.w3.org/2005/08/addressing">
</wsa:EndpointReference>
Endpoint References
Summer 2013
 complex type
wsa:EndpointReferenceType
 type of wsa:EndpointReference
 can be used by any other WS standard
• used, e.g., in SOAP headers
 sequence of elements
• wsa:Address
• wsa:ReferenceParameters
• wsa:Metadata
Endpoint References
Summer 2013
 element wsa:Address
 required
 absolute IRI representing endpoint address
 two predefined values
• wsa:anonymous : for endpoints without address
• wsa:none : for endpoints which discard messages
<wsa:EndpointReference>
<wsa:Address>
http://gd/TripleStore/services/TripleStoreWS
</wsa:Address>
</wsa:EndpointReference>
Endpoint References
Summer 2013
 element wsa:ReferenceParameters
 optional
 list of individual parameters associated with endpoint
required to properly interact with endpoint
• they are not ordered
• in case of SOAP as transfer protocol, they determine headers
required by endpoint
<wsa:EndpointReference>
<wsa:ReferenceParameters>
...
</wsa:ReferenceParameters>
</wsa:EndpointReference>
Endpoint References
Summer 2013
 element wsa:Metadata
 optional
 list of meta-properties which describe endpoint
behavior, policies and capabilities
 not necessarily full list of all endpoint metadata
<wsa:EndpointReference>
<wsa:Metadata>
...
</wsa:Metadata>
</wsa:EndpointReference>
Endpoint References
 WS Addressing Metadata introduces specific
meta-properties which specify binding to WSDL
 element wsam:InterfaceName
• WSDL2.0 interface name or WSDL1.1 port type name
 element wsam:ServiceName
• WSDL2.0 service name or WSDL1.1 service name
• attribute EndpointName
– WSDL2.0 endpoint name or WSDL1.1 port name
 it is possible to use WSDL2.0 attribute
wsdlLocation of wsa:Metadata element
• from http://www.w3.org/ns/wsdl-instance namespace
• URI where WSDL description is located
Summer 2013
Endpoint References
Summer 2013
<wsa:EndpointReference>
<wsa:Metadata
xmlns:wsdli="http://www.w3.org/ns/wsdl-instance"
xmlns:tsi=
"http://opendata.cz/Infrastructure/TripleStore/iface#"
wsdli:wsdlLocation=
"http://opendata.cz/Infrastructure/TripleStore/iface#
http://gd/TripleStore/services/TripleStoreWS?wsdl">
<wsam:InterfaceName>
tsi:TripleStoreWSPortType
</wsam:InterfaceName>
<wsam:ServiceName EndpointName="tsi:TripleStoreWS">
tsi:TripleStore
</wsam:ServiceName>
</wsa:Metadata>
</wsa:EndpointReference>
Message Addressing Properties
 part of message
 in case of SOAP = SOAP headers
Summer 2013
Message Addressing Properties
 element wsa:To
 optional
 value is xs:anyURI
 absolute URI representing address of intended message receiver
 element wsa:From
 optional
 value wsa:EndpointReferenceType
 endpoint from which message originated
 element wsa:ReplyTo
 optional
 value wsa:EndpointReferenceType
 endpoint for intended receiver of replies to this message
 element wsa:FaultTo
 optional
 value wsa:EndpointReferenceType
 endpoint for intended receiver of faults related to this message
Summer 2013
Message Addressing Properties
Summer 2013
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:auc="http://example.org/auction">
<soap:Header>
<wsa:To>http://gd/Entity/services/PublicContract</wsa:To>
<wsa:ReplyTo>
<wsa:Address>
http://example.org/auction/replyConsumer
</wsa:Address>
<wsa:ReferenceParameters>
<auc:number>2011107152334-0322</auc:number>
</wsa:ReferenceParameters>
</wsa:ReplyTo>
</soap:Header>
</soap:Envelope>
Message Addressing Properties
Summer 2013
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:auc="http://example.org/auction">
<soap:Header>
<auc:number>2011107152334-0322</auc:number>
</soap:Header>
</soap:Envelope>
Message Addressing Properties
 element wsa:Action
 mandatory
 value is xs:anyURI
 absolute URI uniquely identifying semantics implied by
message
 URI should identify input, output or fault message within
WSDL 1.1 port type or WSDL 2.0 interface
• identification assigned to message with
wsaw:Action attribute of wsdl:input,
wsdl:output or wsdl:fault elements
• wsaw:Action introduced in WS Addressing 1.0
Metadata
Summer 2013
Message Addressing Properties
Summer 2013
<soap:Envelope xmlns:soap="..." xmlns:wsa="...">
<soap:Header>
<wsa:Action>
http://opendata.cz/.../iface#opGetPublicContract
</wsa:Action>
</soap:Header>
</soap:Envelope>
<wsdl:definitions xmlns:wsdl="..." xmlns:wsa="..." srv="...">
<wsdl:portType name="PublicContractPortType">
<wsdl:operation name="GetPublicContractRDF">
<wsdl:input message="srv:GetPublicContractRequest"
wsaw:Action="http://opendata.cz/.../iface#opGetPublicContract" />
<wsdl:output message="srv:GetPublicContractResponse"
wsaw:Action="http://opendata.cz/.../iface#opGetPublicContractResp" />
</wsdl:operation>
</wsdl:portType>
</wsdl:definitions>
Message Addressing Properties
 element wsa:MessageID
 optional
 value is xs:anyURI
 absolute IRI uniquely identifying message
 uniqueness is responsibility of sender, receiver’s behavior in
case of duplicated IDs is not specified
 element wsa:RelatesTo
 optional
 value is xs:anyURI
 ID of a message related to this message
 relationship type specified by attribute RelationshipType
• default value
http://www.w3.org/2005/08/addressing/reply
Summer 2013
Message Addressing Properties
Summer 2013
<soap:Envelope xmlns:soap="..." xmlns:wsa="...">
<soap:Header>
<wsa:Action>
http://opendata.cz/.../iface#opGetPublicContract
</wsa:Action>
<wsa:MessageID>
http://example.org/contract_bidder/BID2011107152334-0322
</wsa:MessageID>
</soap:Header>
</soap:Envelope>
<soap:Envelope xmlns:soap="..." xmlns:wsa="...">
<soap:Header>
<wsa:Action>
http://opendata.cz/.../iface#opGetPublicContractResp
</wsa:Action>
<wsa:RelatesTo>
http://example.org/contract_bidder/BID2011107152334-0322
</wsa:RelatesTo>
</soap:Header>
</soap:Envelope>
More on Extending WSDL
 WSDL 2.0 endpoint or WSDL 1.1 port may be
extended with WS addressing endpoint reference
<wsdl:port name="PublicContractWS" binding="srv:PublicContractSOAPBinding">
<soap:address
location="http://gd/EntityServices/services/PublicContractWS" />
<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Address>
http://gd/EntityServices/services/PublicContractWS
</wsa:Address>
</wsa:EndpointReference>
</wsdl:port>
Summer 2013
More on Extending WSDL
wsdl11:port
soap:address
wsa:EndpointReference
wsa:Address
wsa:ReferenceParameters
soap:Header
wsa:To
ns1:param1
ns2:param2
ns1:param1
ns2:param2
Summer 2013
More on Extending WSDL
 wsa:Action in incoming message associated with
input, output or fault within WSDL description
 two association mechanisms
 explicit association
• action is defined explicitly for input, output or fault messages with
wsaw:Action attribute (we have already seen sample SOAP
message and WSDL description on previous slides)
• if wsaw:Action attribute is missing
– if soap:operation/@soapAction attribute with a non-empty values is
present then its value is action for input message
– if soap:operation/@soapAction attribute is missing or empty value
then action for input message is assigned implicitly
 implicit association is defined for WSDL 1.1 and WSDL 2.0
Summer 2013
wsdl11:binding
More on Extending WSDL
wsdl11:portType
wsdl11:operation
soap:Header
wsa:Action
wsdl11:input
wsaw:Action
1
2
wsdl11:operation
soap:operation
@soapAction
Summer 2013
More on Extending WSDL
 implicit association for WSDL 1.1
 so called Default Action Pattern for WSDL 1.1
 pattern for input and output messages
[target namespace][delimiter][port type name]
[delimiter][input|output name]
 pattern for fault messages
[target namespace][delimiter][port type name]
[delimiter][operation name][delimiter]Fault
[delimiter][fault name]
 [delimiter]is : (for URN target namespace) or /
Summer 2013
More on Extending WSDL
<wsdl:portType name="PublicContractPortType">
<wsdl:operation name="GetPublicContract">
<wsdl:input message="srv:GetPublicContractRequest"
name="GetPublicContract" />
<wsdl:output message="srv:GetPublicContractResponse"
name="PublicContract" />
</wsdl:operation>
</wsdl:portType>
[target namespace][delimiter][port type name]
[delimiter][input|output name]
http://opendata.cz/EntityServices/PublicContract/iface/
PublicContractPortType/GetPublicContract
http://opendata.cz/EntityServices/PublicContract/iface/
PublicContractPortType/PublicContract
Summer 2013

Más contenido relacionado

La actualidad más candente

Web Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NETWeb Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NET
Ponraj
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Luqman Shareef
 
HIT3328 - Chapter04 - Complex Interactions
HIT3328 - Chapter04 - Complex InteractionsHIT3328 - Chapter04 - Complex Interactions
HIT3328 - Chapter04 - Complex Interactions
Yhal Htet Aung
 
Xml web services
Xml web servicesXml web services
Xml web services
Raghu nath
 

La actualidad más candente (20)

Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
Five API Styles
Five API StylesFive API Styles
Five API Styles
 
Lightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New Features
Lightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New FeaturesLightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New Features
Lightweight M2M 1.1 - LwM2M 1.1 Protocol Overview & New Features
 
Web Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NETWeb Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NET
 
Web services and SOA
Web services and SOAWeb services and SOA
Web services and SOA
 
Cloud Delivery Model Considerations
Cloud Delivery Model ConsiderationsCloud Delivery Model Considerations
Cloud Delivery Model Considerations
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Uddi
UddiUddi
Uddi
 
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
 
HIT3328 - Chapter04 - Complex Interactions
HIT3328 - Chapter04 - Complex InteractionsHIT3328 - Chapter04 - Complex Interactions
HIT3328 - Chapter04 - Complex Interactions
 
Web services
Web servicesWeb services
Web services
 
The Web of Things
The Web of ThingsThe Web of Things
The Web of Things
 
Simple object access protocol(soap )
Simple object access protocol(soap )Simple object access protocol(soap )
Simple object access protocol(soap )
 
Introduction to Service Oriented Architecture
Introduction to Service Oriented ArchitectureIntroduction to Service Oriented Architecture
Introduction to Service Oriented Architecture
 
Xml web services
Xml web servicesXml web services
Xml web services
 
Introduction to SOA
Introduction to SOAIntroduction to SOA
Introduction to SOA
 
Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentation
 
SMTP 프로토콜 (rfc281, rfc2821)
SMTP 프로토콜 (rfc281, rfc2821)SMTP 프로토콜 (rfc281, rfc2821)
SMTP 프로토콜 (rfc281, rfc2821)
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 
Concept of SOA
Concept of SOAConcept of SOA
Concept of SOA
 

Destacado (8)

Web Services - Business Process Execution Language
Web Services - Business Process Execution LanguageWeb Services - Business Process Execution Language
Web Services - Business Process Execution Language
 
Web Services - SOAP (part 2)
Web Services - SOAP (part 2)Web Services - SOAP (part 2)
Web Services - SOAP (part 2)
 
Soa Primer
Soa PrimerSoa Primer
Soa Primer
 
[Android] Web services
[Android] Web services[Android] Web services
[Android] Web services
 
Web Services Part 1
Web Services Part 1Web Services Part 1
Web Services Part 1
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)
 
Web service architecture
Web service architectureWeb service architecture
Web service architecture
 

Similar a WS-Addressing

Web Services Discovery for Devices
Web Services Discovery for DevicesWeb Services Discovery for Devices
Web Services Discovery for Devices
Jorgen Thelin
 
SWOP project and META software
SWOP project and META softwareSWOP project and META software
SWOP project and META software
Michele Filannino
 

Similar a WS-Addressing (20)

WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and CorrelationWS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
 
Web services overview
Web services overviewWeb services overview
Web services overview
 
Web services101
Web services101Web services101
Web services101
 
Web Services Discovery for Devices
Web Services Discovery for DevicesWeb Services Discovery for Devices
Web Services Discovery for Devices
 
Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Services
 
SCDJWS 5. JAX-WS
SCDJWS 5. JAX-WSSCDJWS 5. JAX-WS
SCDJWS 5. JAX-WS
 
SWOP project and META software
SWOP project and META softwareSWOP project and META software
SWOP project and META software
 
SOAP-based Web Services
SOAP-based Web ServicesSOAP-based Web Services
SOAP-based Web Services
 
WS-* with WCF
WS-* with WCFWS-* with WCF
WS-* with WCF
 
Web service introduction
Web service introductionWeb service introduction
Web service introduction
 
Svcc2009 Async Ws
Svcc2009 Async WsSvcc2009 Async Ws
Svcc2009 Async Ws
 
Who am I? Who are you? Who is anybody?
Who am I? Who are you? Who is anybody?Who am I? Who are you? Who is anybody?
Who am I? Who are you? Who is anybody?
 
Android chapter16-web-services
Android chapter16-web-servicesAndroid chapter16-web-services
Android chapter16-web-services
 
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
 
REST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and Lies
 
Ws rest
Ws restWs rest
Ws rest
 
Semantic Web Services: State of the Art
Semantic Web Services: State of the ArtSemantic Web Services: State of the Art
Semantic Web Services: State of the Art
 
Web-Services!.pptx
Web-Services!.pptxWeb-Services!.pptx
Web-Services!.pptx
 
Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. REST
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA Suite
 

Más de Martin Necasky

Otevrene problemy architektury elektronickeho zdravotnictvi
Otevrene problemy architektury elektronickeho zdravotnictviOtevrene problemy architektury elektronickeho zdravotnictvi
Otevrene problemy architektury elektronickeho zdravotnictvi
Martin Necasky
 
Web Services - Introduction
Web Services - IntroductionWeb Services - Introduction
Web Services - Introduction
Martin Necasky
 
Linked Data pro Evropský sociální fond
Linked Data pro Evropský sociální fondLinked Data pro Evropský sociální fond
Linked Data pro Evropský sociální fond
Martin Necasky
 

Más de Martin Necasky (13)

Linked Open Data - Masaryk University in Brno 8.11.2016
Linked Open Data - Masaryk University in Brno 8.11.2016Linked Open Data - Masaryk University in Brno 8.11.2016
Linked Open Data - Masaryk University in Brno 8.11.2016
 
Tutoriál : Otevřená a propojitelná data veřejné správy
Tutoriál : Otevřená a propojitelná data veřejné správyTutoriál : Otevřená a propojitelná data veřejné správy
Tutoriál : Otevřená a propojitelná data veřejné správy
 
Linked Data for Czech Legislation - 2nd year of our project
Linked Data for Czech Legislation - 2nd year of our projectLinked Data for Czech Legislation - 2nd year of our project
Linked Data for Czech Legislation - 2nd year of our project
 
Linked Open Data for Public Contracts
Linked Open Data for Public ContractsLinked Open Data for Public Contracts
Linked Open Data for Public Contracts
 
Linked Data for Czech Legislation
Linked Data for Czech LegislationLinked Data for Czech Legislation
Linked Data for Czech Legislation
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
Web Services - WSDL
Web Services - WSDLWeb Services - WSDL
Web Services - WSDL
 
Otevrena data v CR - aktualni stav (brezen 2013)
Otevrena data v CR - aktualni stav (brezen 2013)Otevrena data v CR - aktualni stav (brezen 2013)
Otevrena data v CR - aktualni stav (brezen 2013)
 
Otevrene problemy architektury elektronickeho zdravotnictvi
Otevrene problemy architektury elektronickeho zdravotnictviOtevrene problemy architektury elektronickeho zdravotnictvi
Otevrene problemy architektury elektronickeho zdravotnictvi
 
Vysledek souteze o navrh hospodarneho a funkcniho elektronickeho zdravotnictvi
Vysledek souteze o navrh hospodarneho a funkcniho elektronickeho zdravotnictviVysledek souteze o navrh hospodarneho a funkcniho elektronickeho zdravotnictvi
Vysledek souteze o navrh hospodarneho a funkcniho elektronickeho zdravotnictvi
 
Web Services - Introduction
Web Services - IntroductionWeb Services - Introduction
Web Services - Introduction
 
Techniky a nástroje pro propojená data (Linked Data)
Techniky a nástroje pro propojená data (Linked Data)Techniky a nástroje pro propojená data (Linked Data)
Techniky a nástroje pro propojená data (Linked Data)
 
Linked Data pro Evropský sociální fond
Linked Data pro Evropský sociální fondLinked Data pro Evropský sociální fond
Linked Data pro Evropský sociální fond
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

WS-Addressing

  • 1. Web Services (NSWI145) Lecture 08: WS Addressing, WS Notification Martin Nečaský, Ph.D. Faculty of Mathematics and Physics Charles University in Prague, Czech Republic Summer 2013
  • 2. WS-*  family of complementary Web service technologies  in this lecture  W3C Web Services Addressing Working Group: • WS-Addressing Summer 2013
  • 3. WS-Addressing  W3C Web Services Addressing Working Group  completed and closed on 5 Sep 2007  http://www.w3.org/2002/ws/addr/  motivation  standard way to include information about message sender and receiver, how to return message response in message itself Summer 2013
  • 4. WS-Addressing  consists of three W3C recommendations  WS Addressing 1.0 – Core • endpoint references and message addressing properties • namespace URI http://www.w3.org/2005/08/addressing (usual prefix wsa)  WS Addressing 1.0 – SOAP Binding  WS Addressing 1.0 – Metadata • binding endpoint references to WSDL metadata • how message addressing properties are described using WSDL • how WS-Policy can be used to indicate support for WS-Addressing • namespace URI http://www.w3.org/2007/05/addressing/metadata (usual prefix wsam) Summer 2013
  • 5. Endpoint References  informally  endpoint is a referable entity, process or resource to which messages can be addressed  endpoint reference provides information needed to address endpoint  can be part of service interface description or created dynamically (e.g. in SOAP messages, BPEL scripts, ...)  formally  endpoint is a collection of abstract properties  WS-Addressing defines a core set of properties which can be extended by other specifications Summer 2013
  • 6. Endpoint References Summer 2013  element wsa:EndpointReference  defines endpoint reference  can be used by any other WS standard • WS-Addressing Core does not specify where element can be used • used, e.g., in BPEL 2.0 <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"> </wsa:EndpointReference>
  • 7. Endpoint References Summer 2013  complex type wsa:EndpointReferenceType  type of wsa:EndpointReference  can be used by any other WS standard • used, e.g., in SOAP headers  sequence of elements • wsa:Address • wsa:ReferenceParameters • wsa:Metadata
  • 8. Endpoint References Summer 2013  element wsa:Address  required  absolute IRI representing endpoint address  two predefined values • wsa:anonymous : for endpoints without address • wsa:none : for endpoints which discard messages <wsa:EndpointReference> <wsa:Address> http://gd/TripleStore/services/TripleStoreWS </wsa:Address> </wsa:EndpointReference>
  • 9. Endpoint References Summer 2013  element wsa:ReferenceParameters  optional  list of individual parameters associated with endpoint required to properly interact with endpoint • they are not ordered • in case of SOAP as transfer protocol, they determine headers required by endpoint <wsa:EndpointReference> <wsa:ReferenceParameters> ... </wsa:ReferenceParameters> </wsa:EndpointReference>
  • 10. Endpoint References Summer 2013  element wsa:Metadata  optional  list of meta-properties which describe endpoint behavior, policies and capabilities  not necessarily full list of all endpoint metadata <wsa:EndpointReference> <wsa:Metadata> ... </wsa:Metadata> </wsa:EndpointReference>
  • 11. Endpoint References  WS Addressing Metadata introduces specific meta-properties which specify binding to WSDL  element wsam:InterfaceName • WSDL2.0 interface name or WSDL1.1 port type name  element wsam:ServiceName • WSDL2.0 service name or WSDL1.1 service name • attribute EndpointName – WSDL2.0 endpoint name or WSDL1.1 port name  it is possible to use WSDL2.0 attribute wsdlLocation of wsa:Metadata element • from http://www.w3.org/ns/wsdl-instance namespace • URI where WSDL description is located Summer 2013
  • 13. Message Addressing Properties  part of message  in case of SOAP = SOAP headers Summer 2013
  • 14. Message Addressing Properties  element wsa:To  optional  value is xs:anyURI  absolute URI representing address of intended message receiver  element wsa:From  optional  value wsa:EndpointReferenceType  endpoint from which message originated  element wsa:ReplyTo  optional  value wsa:EndpointReferenceType  endpoint for intended receiver of replies to this message  element wsa:FaultTo  optional  value wsa:EndpointReferenceType  endpoint for intended receiver of faults related to this message Summer 2013
  • 15. Message Addressing Properties Summer 2013 <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:auc="http://example.org/auction"> <soap:Header> <wsa:To>http://gd/Entity/services/PublicContract</wsa:To> <wsa:ReplyTo> <wsa:Address> http://example.org/auction/replyConsumer </wsa:Address> <wsa:ReferenceParameters> <auc:number>2011107152334-0322</auc:number> </wsa:ReferenceParameters> </wsa:ReplyTo> </soap:Header> </soap:Envelope>
  • 16. Message Addressing Properties Summer 2013 <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:auc="http://example.org/auction"> <soap:Header> <auc:number>2011107152334-0322</auc:number> </soap:Header> </soap:Envelope>
  • 17. Message Addressing Properties  element wsa:Action  mandatory  value is xs:anyURI  absolute URI uniquely identifying semantics implied by message  URI should identify input, output or fault message within WSDL 1.1 port type or WSDL 2.0 interface • identification assigned to message with wsaw:Action attribute of wsdl:input, wsdl:output or wsdl:fault elements • wsaw:Action introduced in WS Addressing 1.0 Metadata Summer 2013
  • 18. Message Addressing Properties Summer 2013 <soap:Envelope xmlns:soap="..." xmlns:wsa="..."> <soap:Header> <wsa:Action> http://opendata.cz/.../iface#opGetPublicContract </wsa:Action> </soap:Header> </soap:Envelope> <wsdl:definitions xmlns:wsdl="..." xmlns:wsa="..." srv="..."> <wsdl:portType name="PublicContractPortType"> <wsdl:operation name="GetPublicContractRDF"> <wsdl:input message="srv:GetPublicContractRequest" wsaw:Action="http://opendata.cz/.../iface#opGetPublicContract" /> <wsdl:output message="srv:GetPublicContractResponse" wsaw:Action="http://opendata.cz/.../iface#opGetPublicContractResp" /> </wsdl:operation> </wsdl:portType> </wsdl:definitions>
  • 19. Message Addressing Properties  element wsa:MessageID  optional  value is xs:anyURI  absolute IRI uniquely identifying message  uniqueness is responsibility of sender, receiver’s behavior in case of duplicated IDs is not specified  element wsa:RelatesTo  optional  value is xs:anyURI  ID of a message related to this message  relationship type specified by attribute RelationshipType • default value http://www.w3.org/2005/08/addressing/reply Summer 2013
  • 20. Message Addressing Properties Summer 2013 <soap:Envelope xmlns:soap="..." xmlns:wsa="..."> <soap:Header> <wsa:Action> http://opendata.cz/.../iface#opGetPublicContract </wsa:Action> <wsa:MessageID> http://example.org/contract_bidder/BID2011107152334-0322 </wsa:MessageID> </soap:Header> </soap:Envelope> <soap:Envelope xmlns:soap="..." xmlns:wsa="..."> <soap:Header> <wsa:Action> http://opendata.cz/.../iface#opGetPublicContractResp </wsa:Action> <wsa:RelatesTo> http://example.org/contract_bidder/BID2011107152334-0322 </wsa:RelatesTo> </soap:Header> </soap:Envelope>
  • 21. More on Extending WSDL  WSDL 2.0 endpoint or WSDL 1.1 port may be extended with WS addressing endpoint reference <wsdl:port name="PublicContractWS" binding="srv:PublicContractSOAPBinding"> <soap:address location="http://gd/EntityServices/services/PublicContractWS" /> <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:Address> http://gd/EntityServices/services/PublicContractWS </wsa:Address> </wsa:EndpointReference> </wsdl:port> Summer 2013
  • 22. More on Extending WSDL wsdl11:port soap:address wsa:EndpointReference wsa:Address wsa:ReferenceParameters soap:Header wsa:To ns1:param1 ns2:param2 ns1:param1 ns2:param2 Summer 2013
  • 23. More on Extending WSDL  wsa:Action in incoming message associated with input, output or fault within WSDL description  two association mechanisms  explicit association • action is defined explicitly for input, output or fault messages with wsaw:Action attribute (we have already seen sample SOAP message and WSDL description on previous slides) • if wsaw:Action attribute is missing – if soap:operation/@soapAction attribute with a non-empty values is present then its value is action for input message – if soap:operation/@soapAction attribute is missing or empty value then action for input message is assigned implicitly  implicit association is defined for WSDL 1.1 and WSDL 2.0 Summer 2013
  • 24. wsdl11:binding More on Extending WSDL wsdl11:portType wsdl11:operation soap:Header wsa:Action wsdl11:input wsaw:Action 1 2 wsdl11:operation soap:operation @soapAction Summer 2013
  • 25. More on Extending WSDL  implicit association for WSDL 1.1  so called Default Action Pattern for WSDL 1.1  pattern for input and output messages [target namespace][delimiter][port type name] [delimiter][input|output name]  pattern for fault messages [target namespace][delimiter][port type name] [delimiter][operation name][delimiter]Fault [delimiter][fault name]  [delimiter]is : (for URN target namespace) or / Summer 2013
  • 26. More on Extending WSDL <wsdl:portType name="PublicContractPortType"> <wsdl:operation name="GetPublicContract"> <wsdl:input message="srv:GetPublicContractRequest" name="GetPublicContract" /> <wsdl:output message="srv:GetPublicContractResponse" name="PublicContract" /> </wsdl:operation> </wsdl:portType> [target namespace][delimiter][port type name] [delimiter][input|output name] http://opendata.cz/EntityServices/PublicContract/iface/ PublicContractPortType/GetPublicContract http://opendata.cz/EntityServices/PublicContract/iface/ PublicContractPortType/PublicContract Summer 2013