SlideShare uma empresa Scribd logo
1 de 27
WS-Addressing Enabling Transport-Neutral Message Addressing and Correlation Jeffrey Hasan, MCSD President Bluestone Partners, Inc.
Talk Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
About Me ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
New SOA / WSE 2.0 Book ,[object Object],[object Object],[object Object],[object Object],[object Object]
What Is “Transport-Neutral?” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HTTP vs TCP Transport Protocols ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Elements ,[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Abstract Elements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Concrete Elements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
<portType /> ,[object Object],[object Object],<portType name=&quot;StockTraderServiceSoap&quot;> <operation name=&quot;RequestQuote&quot;> <input message=&quot;tns:RequestQuoteSoapIn&quot; /> <output message=&quot;tns:RequestQuoteSoapOut&quot; /> <fault message=&quot; tns:ExceptionMessage&quot; /> </operation> <operation name=&quot;PlaceTrade&quot;> <input message=&quot;tns:PlaceTradeSoapIn&quot; /> <output message=&quot;tns:PlaceTradeSoapOut&quot; /> </operation> </portType>
WS-Addressing Constructs ,[object Object],[object Object],[object Object],[object Object],[object Object]
Message Information Headers (001) <S:Envelope xmlns:S=&quot;http://www.w3.org/2003/05/soap-envelope&quot;  xmlns:wsa=&quot;http://schemas.xmlsoap.org/ws/2004/08/addressing&quot;> (002)  <S:Header> (003)  <wsa:MessageID> (004)  uuid:6B29FC40-CA47-1067-B31D-00DD010662DA (005)  </wsa:MessageID> (006)  <wsa:ReplyTo> (007)  <wsa:Address>http://business456.example/client1</wsa:Address> (008)  </wsa:ReplyTo> (009)  <wsa:To>http://fabrikam123.example/Purchasing</wsa:To> (010)  <wsa:Action>http://fabrikam123.example/SubmitPO</wsa:Action> (011)  </S:Header> (012)  <S:Body> (013)  ... (014)  </S:Body> (015) </S:Envelope> <wsa:To> and <wsa:Action> are the only required elements
Endpoint References I Schema: <wsa:EndpointReference> <wsa:Address>xs:anyURI</wsa:Address> <wsa:ReferenceProperties>... </wsa:ReferenceProperties> ? <wsa:ReferenceParameters>... </wsa:ReferenceParameters> ? <wsa:PortType>xs:QName</wsa:PortType> ? <wsa:ServiceName PortName=&quot;xs:NCName&quot;?>xs:QName</wsa:ServiceName> ? <wsp:Policy> ... </wsp:Policy>* </wsa:EndpointReference> Example: <wsa:EndpointReference xmlns:wsa=&quot;...&quot; xmlns:fabrikam=&quot;...&quot;> <wsa:Address>http://www.fabrikam123.example/acct</wsa:Address> <wsa:PortType>fabrikam:InventoryPortType</wsa:PortType> </wsa:EndpointReference>
Endpoint References II <wsa:EndpointReference> <wsa:Address>soap.tcp://stocktrader.com/StockTrader</wsa:Address> <wsa:ReferenceProperties> <st:AccountID>123A</st:AccountID> </wsa:ReferenceProperties> <wsa:PortType>st:StockTraderSoap</wsa:PortType> <wsp:Policy /> </wsa:EndpointReference> Endpoint “To” References are mapped into a SOAP message as Message Information Headers: <S:Envelope xmlns:S=&quot;http://www.w3.org/2003/05/soap-envelope&quot; xmlns:wsa=&quot;...&quot; xmlns:st=&quot;... &quot;> <S:Header> ... <wsa:To>soap.tcp://stocktrader.com/StockTrader</wsa:To> <st:AccountID>123A</st:AccountID> </S:Header> <S:Body> ... </S:Body> </S:Envelope>
SOAP Envelope w/ Addressing <s:Envelope xmlns:s=&quot;...&quot; xmlns:wsa=&quot;...“ xmlns:st=“…”> <s:Header> <wsa:Action>http://bluestonepartners.com/StockTrader/RequestQuote</wsa:Action> <wsa:To>http://bluestonepartners.com/StockTrader/StockTrader.asmx</wsa:To> <wsa:From> <wsa:Address>http://stockquote.com/getquote.asmx</wsa:Address> <wsa:ReferenceProperties> <st:id>647362</st:id> <st:symbol>MSFT</st:symbol> </wsa:ReferenceProperties> </wsa:From> <wsa:FaultTo> <wsa:Address>http://stockquote.com/fault/error.asmx</wsa:Address> <wsa:ReferenceProperties> <st:id>647362</st:id> <st:symbol>MSFT</st:symbol> </wsa:ReferenceProperties> </wsa:FaultTo> </s:Header> <s:Body xmlns:st=&quot;http://bluestonepartners.com/StockTrader&quot;> <st:GetQuote>MSFT</st:GetQuote> </s:Body> </s:Envelope>
WSE 2.0: Addressing Namespace Stores the reply to address for the response as an endpoint reference. ReplyTo Stores the destination address as an endpoint reference. From Stores the source address as a URI To Indicates the collection of properties that add additional description elements for an endpoint. ReferenceProperties Stores endpoint reference information, which is binding information for a service. EndPointReference Occurs when there is an invalid WS-Router header in the message, or when an exception occurs along the message path. AddressingFault Indicates the collection of properties that address a message, including To, From, ReplyTo, and MessageID. AddressingHeaders Stores a binding-specific address, and may be assigned to other classes, including To, From, and ReplyTo. The properties of the Address class correspond to classes that are based on endpoint references. For example, the Address.To property corresponds to the WS-Addressing To class, which is an endpoint reference. Address Specifies the XML qualified name of the operation that the SOAP message is intended for. Action Description Class
Addressing Namespace Usage ,[object Object],[object Object]
WSE 2.0: Messaging Namespace The Context property enables you to modify the SOAP message contents within a custom WSE filter; or to process the SOAP message contents within a SoapReceiver processing class. SoapContext Context Retrieves the SOAP fault from the envelope, if there is one, and returns an Exception class. Exception Fault The header contains optional extended information for the SOAP message. The WS-Specification settings are stored in the header. XmlElement Header The body element is required for all SOAP messages. It contains qualified XML for the request and response messages. XmlElement Body The envelope is the root element of the message XML. It contains the message body and message header elements. XmlElement Envelope Description Type Property
WSE 2.0: SoapEnvelope SoapEnvelope message = CreateSoapMessage(); Uri toUri = new Uri( http://bluestonepartners.com/StockTrader.asmx ); SoapSender soapSender = new SoapSender(toUri); soapSender.Send(message); public SoapEnvelope CreateSoapMessage() { SoapEnvelope message = new SoapEnvelope(); RequestQuote q = new RequestQuote(); RequestQuote.Symbol = &quot;MSFT&quot;; message.SetBodyObject(q); // Assign the addressing SOAP message headers message.Context.Addressing.Action = new Action( &quot;http://bluestonepartners.com/schemas/StockTrader/RequestQuote&quot;); message.Context.Addressing.From = new From(fromUri); message.Context.Addressing.ReplyTo = new ReplyTo(fromUri); return message; }
Addressing and Messaging Demos
WS-Routing vs. WS-Addressing Reprinted from “Moving from WS-Routing to WS-Addressing Using WSE 2.0” by Aaron Skonnard, MSDN: Web Services Developer Center
WSDL Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Document Structure
WSE Overview
WSE Specifications
WSE Overview ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Web services
Web servicesWeb services
Web services
aspnet123
 
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)
Martin Necasky
 

Mais procurados (18)

Web service architecture
Web service architectureWeb service architecture
Web service architecture
 
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
 
Web Service Interaction Models | Torry Harris Whitepaper
Web Service Interaction Models | Torry Harris WhitepaperWeb Service Interaction Models | Torry Harris Whitepaper
Web Service Interaction Models | Torry Harris Whitepaper
 
Web services
Web servicesWeb services
Web services
 
Web service introduction
Web service introductionWeb service introduction
Web service introduction
 
SOAP-based Web Services
SOAP-based Web ServicesSOAP-based Web Services
SOAP-based Web Services
 
Web service
Web serviceWeb service
Web service
 
WebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIWebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDI
 
Take REST
Take RESTTake REST
Take REST
 
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 introduction 2
Web service introduction 2Web service introduction 2
Web service introduction 2
 
Web services overview
Web services overviewWeb services overview
Web services overview
 
Soap and Rest
Soap and RestSoap and Rest
Soap and Rest
 
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
 
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
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 
Android chapter16-web-services
Android chapter16-web-servicesAndroid chapter16-web-services
Android chapter16-web-services
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 

Semelhante a WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation

Soazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzc
SoazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzcSoazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzc
Soazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzc
Imran Gadi
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqman
guesteb791b
 
Xml web services
Xml web servicesXml web services
Xml web services
Raghu nath
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
Neil Ghosh
 

Semelhante a WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation (20)

Web services for developer
Web services for developerWeb services for developer
Web services for developer
 
WSDL
WSDLWSDL
WSDL
 
Soazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzc
SoazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzcSoazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzc
Soazczxczxzxczxzxvvxvvzvefxcsczxczxcsxczxczxcxzc
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company india
 
Ogsi protocol perspective
Ogsi protocol perspectiveOgsi protocol perspective
Ogsi protocol perspective
 
SOA and web services
SOA and web servicesSOA and web services
SOA and web services
 
seert
seertseert
seert
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
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
 
Xml.ppt
Xml.pptXml.ppt
Xml.ppt
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
 
Webservices
WebservicesWebservices
Webservices
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqman
 
Web Programming
Web ProgrammingWeb Programming
Web Programming
 
Xml web services
Xml web servicesXml web services
Xml web services
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Services
 
Web services
Web services Web services
Web services
 
Wsdl1
Wsdl1Wsdl1
Wsdl1
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation

  • 1. WS-Addressing Enabling Transport-Neutral Message Addressing and Correlation Jeffrey Hasan, MCSD President Bluestone Partners, Inc.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. Message Information Headers (001) <S:Envelope xmlns:S=&quot;http://www.w3.org/2003/05/soap-envelope&quot; xmlns:wsa=&quot;http://schemas.xmlsoap.org/ws/2004/08/addressing&quot;> (002) <S:Header> (003) <wsa:MessageID> (004) uuid:6B29FC40-CA47-1067-B31D-00DD010662DA (005) </wsa:MessageID> (006) <wsa:ReplyTo> (007) <wsa:Address>http://business456.example/client1</wsa:Address> (008) </wsa:ReplyTo> (009) <wsa:To>http://fabrikam123.example/Purchasing</wsa:To> (010) <wsa:Action>http://fabrikam123.example/SubmitPO</wsa:Action> (011) </S:Header> (012) <S:Body> (013) ... (014) </S:Body> (015) </S:Envelope> <wsa:To> and <wsa:Action> are the only required elements
  • 14. Endpoint References I Schema: <wsa:EndpointReference> <wsa:Address>xs:anyURI</wsa:Address> <wsa:ReferenceProperties>... </wsa:ReferenceProperties> ? <wsa:ReferenceParameters>... </wsa:ReferenceParameters> ? <wsa:PortType>xs:QName</wsa:PortType> ? <wsa:ServiceName PortName=&quot;xs:NCName&quot;?>xs:QName</wsa:ServiceName> ? <wsp:Policy> ... </wsp:Policy>* </wsa:EndpointReference> Example: <wsa:EndpointReference xmlns:wsa=&quot;...&quot; xmlns:fabrikam=&quot;...&quot;> <wsa:Address>http://www.fabrikam123.example/acct</wsa:Address> <wsa:PortType>fabrikam:InventoryPortType</wsa:PortType> </wsa:EndpointReference>
  • 15. Endpoint References II <wsa:EndpointReference> <wsa:Address>soap.tcp://stocktrader.com/StockTrader</wsa:Address> <wsa:ReferenceProperties> <st:AccountID>123A</st:AccountID> </wsa:ReferenceProperties> <wsa:PortType>st:StockTraderSoap</wsa:PortType> <wsp:Policy /> </wsa:EndpointReference> Endpoint “To” References are mapped into a SOAP message as Message Information Headers: <S:Envelope xmlns:S=&quot;http://www.w3.org/2003/05/soap-envelope&quot; xmlns:wsa=&quot;...&quot; xmlns:st=&quot;... &quot;> <S:Header> ... <wsa:To>soap.tcp://stocktrader.com/StockTrader</wsa:To> <st:AccountID>123A</st:AccountID> </S:Header> <S:Body> ... </S:Body> </S:Envelope>
  • 16. SOAP Envelope w/ Addressing <s:Envelope xmlns:s=&quot;...&quot; xmlns:wsa=&quot;...“ xmlns:st=“…”> <s:Header> <wsa:Action>http://bluestonepartners.com/StockTrader/RequestQuote</wsa:Action> <wsa:To>http://bluestonepartners.com/StockTrader/StockTrader.asmx</wsa:To> <wsa:From> <wsa:Address>http://stockquote.com/getquote.asmx</wsa:Address> <wsa:ReferenceProperties> <st:id>647362</st:id> <st:symbol>MSFT</st:symbol> </wsa:ReferenceProperties> </wsa:From> <wsa:FaultTo> <wsa:Address>http://stockquote.com/fault/error.asmx</wsa:Address> <wsa:ReferenceProperties> <st:id>647362</st:id> <st:symbol>MSFT</st:symbol> </wsa:ReferenceProperties> </wsa:FaultTo> </s:Header> <s:Body xmlns:st=&quot;http://bluestonepartners.com/StockTrader&quot;> <st:GetQuote>MSFT</st:GetQuote> </s:Body> </s:Envelope>
  • 17. WSE 2.0: Addressing Namespace Stores the reply to address for the response as an endpoint reference. ReplyTo Stores the destination address as an endpoint reference. From Stores the source address as a URI To Indicates the collection of properties that add additional description elements for an endpoint. ReferenceProperties Stores endpoint reference information, which is binding information for a service. EndPointReference Occurs when there is an invalid WS-Router header in the message, or when an exception occurs along the message path. AddressingFault Indicates the collection of properties that address a message, including To, From, ReplyTo, and MessageID. AddressingHeaders Stores a binding-specific address, and may be assigned to other classes, including To, From, and ReplyTo. The properties of the Address class correspond to classes that are based on endpoint references. For example, the Address.To property corresponds to the WS-Addressing To class, which is an endpoint reference. Address Specifies the XML qualified name of the operation that the SOAP message is intended for. Action Description Class
  • 18.
  • 19. WSE 2.0: Messaging Namespace The Context property enables you to modify the SOAP message contents within a custom WSE filter; or to process the SOAP message contents within a SoapReceiver processing class. SoapContext Context Retrieves the SOAP fault from the envelope, if there is one, and returns an Exception class. Exception Fault The header contains optional extended information for the SOAP message. The WS-Specification settings are stored in the header. XmlElement Header The body element is required for all SOAP messages. It contains qualified XML for the request and response messages. XmlElement Body The envelope is the root element of the message XML. It contains the message body and message header elements. XmlElement Envelope Description Type Property
  • 20. WSE 2.0: SoapEnvelope SoapEnvelope message = CreateSoapMessage(); Uri toUri = new Uri( http://bluestonepartners.com/StockTrader.asmx ); SoapSender soapSender = new SoapSender(toUri); soapSender.Send(message); public SoapEnvelope CreateSoapMessage() { SoapEnvelope message = new SoapEnvelope(); RequestQuote q = new RequestQuote(); RequestQuote.Symbol = &quot;MSFT&quot;; message.SetBodyObject(q); // Assign the addressing SOAP message headers message.Context.Addressing.Action = new Action( &quot;http://bluestonepartners.com/schemas/StockTrader/RequestQuote&quot;); message.Context.Addressing.From = new From(fromUri); message.Context.Addressing.ReplyTo = new ReplyTo(fromUri); return message; }
  • 22. WS-Routing vs. WS-Addressing Reprinted from “Moving from WS-Routing to WS-Addressing Using WSE 2.0” by Aaron Skonnard, MSDN: Web Services Developer Center
  • 23.
  • 27.