Download presentation
Presentation is loading. Please wait.
Published byBruno Garrett Modified over 9 years ago
1
Web Services
2
ASP.NET Web Services Goals of ASP.NET Web services: To enable cross-platform, cross- business computing Great for “service” based operations that have few methods: Google searches, Amazon integration, etc. ASP.NET Web services are “method-oriented”, not object- oriented Everything is passed by value: no references to server objects
3
ASP.NET Web Services Usually uses SOAP over HTTP POST – platform independent messages Hosted in IIS Can use built-in authentication and encryption via IIS Technically stateless, but can use regular ASP.NET Session variables Very easy to use, with good support in Visual Studio.NET Doesn’t support: Events / callbacks Object references
4
Standards-Based SOAP (Simple Object Access Protocol) XML-based protocol for messaging WSDL (Web Service Description Language) Document describing the message exchange contract DISCO (Discovery) Simple protocol for publishing available services UDDI (Universal Description Discovery and Integration) Yellow pages directory for services
5
SOAP Simple Object Access Protocol XML based protocol to exchange structured and typed information Remote Procedure Calls (RPC) Serialization Rules (XSD) Extensible
6
WSDL Web Service Definition Language An XML-based grammar for describing the capabilities of Web Services Extensible Jointly developed by Microsoft and IBM Similar in concept to IDL, but it’s not IDL To parse WSDL you need XML parser
7
UDDI Universal Description, Discovery and Integration A project to speed interoperability and adoption for web services Standards-based specifications for service description and discovery Shared operation of a business registry on the web Partnership among industry and business leaders Open process with clear roadmap to a standards body
8
Publish Find Bind Internet Overview of XML Web Service Architectures XML Web Service Provider XML Web Service Consumer UDDI (XML Web Service Broker)
9
Web Services As an Implementation of a Service-Oriented Architecture UDDI Any Client SOAP.NET Web Service SOAP IIS
10
Discovery Let me talk to you (SOAP) Web Services (In Practice) Design-Time or Dynamic Runtime http://yourservice.com HTML or XML with link to WSDL How do we talk? (WSDL) http://yourservice.com/?WSDL XML with service descriptions http://yourservice.com/svc1 XML/SOAP BODY WebService WebServiceConsumer UDDI Find a Service http://www.uddi.org Link to DISCO or WSDL document
11
XML Web Services Mapping Data Schema Services InvocationWebXML XSD WSDL SOAP ApplicationConceptsFrameworkObjects Classes Methods Calls The.NET Framework provides a bi-directional mapping
12
Simple Example using System; using System.Web.Services; public class HelloWorld : WebService { [WebMethod] public String SayHelloWorld() { return "Hello World"; }
13
SOAP Simple Object Access Protocol XML-based standard that defines how method calls can be made over HTTP, and how the server’s response should be formatted You need to know it because in certain circumstances where you might want to use SOAP to exchange special “meta” information along with each method call
14
SOAP Elements Envelope (mandatory) Top element of the XML document representing the message Header (optional) Determines how a recipient of a SOAP message should process the message Adds features to the SOAP message such as authentication, transaction management, message routes, etc… Body (mandatory) Exchanges information intended for the recipient of the message. Typical use is for RPC calls and error reporting.
15
<soap:Header> <Username>avi</Username><Password>xM76w@</Password></AuthHeader></soap:Header><soap:Body> <a>23</a><b>44</b></Add></soap:Body></soap:Envelope> POST /HelloWorld/Hello.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tempuri.org/Add"
16
SOAP Fault Used to carry error and/or status information within a SOAP message Appears within the SOAP body Defines the following: faultcode (mandatory) Faultstring (mandatory) faultactor (optional) Detail
17
SOAP Fault Example SOAP:Server Internal Application Error 794634 Divide by zero
18
Soap Extensions Creating Create a class derived from SoapExtension Create a class derived from SoapExtensionAttribute Overload the constructor if necessary Define any custom properties Overload the ‘ExtensionType’ property to return the type of your derived SoapExtension class Apply the attribute to a web method or web service class
19
Soap Extensions Uses Used for More Advanced Functionality Intercept Calls to a Web Service Intercept Calls to a Web Method Pre and Post Processing Tracing Encryption Compression
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.