Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright 1999 – 2003 Ellis Horowitz SOAP 1 SOAP.

Similar presentations


Presentation on theme: "Copyright 1999 – 2003 Ellis Horowitz SOAP 1 SOAP."— Presentation transcript:

1 Copyright 1999 – 2003 Ellis Horowitz SOAP 1 SOAP

2 Copyright 1999 – 2003 Ellis Horowitz SOAP 2 Simple Object Access Protocol Purpose of SOAP: to use the Internet to interact with remote applications –HTTP was not designed for the above purpose Usually done using Remote Procedure Calls (RPC), or Microsoft’s Distributed Component Object Model (DCOM), or the Internet Inter-Orb Protocol (IIOP) and others –These work well over LANs but over the Internet they have many problems

3 Copyright 1999 – 2003 Ellis Horowitz SOAP 3 The Trouble with Firewalls In the TCP/IP architecture, each protocol is assigned a unique port number, e.g. HTTP is 80 Most firewalls block traffic according to port number, but they often allow port 80 traffic to get through Distributed object protocols don’t have a single port assignment, they use dynamically assigned ports SOAP adds a distributed object protocol on top of the http protocol SOAP uses XML to define the format of request/response messages and then allows the HTTP POST command to send the info

4 Copyright 1999 – 2003 Ellis Horowitz SOAP 4 So, what is SOAP SOAP is a distributed object protocol which allows RPCs between clients and servers, and in addition manages to avoid firewalls, or A lightweight mechanism for exchanging structured and typed information between systems using XML It consists of three parts –The SOAP envelope for defining what is in a message, who should deal with it, and whether it is optional or mandatory –SOAP encoding rules for exchanging instances of application-defined datatypes –SOAP RPC defines a convention used to represent remote procedure calls and responses

5 Copyright 1999 – 2003 Ellis Horowitz SOAP 5 Example of SOAP Message in an HTTP Request A SOAP request is sent to StockQuote service with string parameter tickersymbol, returning a float XML namespaces are used to differentiate SOAP ids from application specific ids POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" DIS

6 Copyright 1999 – 2003 Ellis Horowitz SOAP 6 Example of SOAP Message in an HTTP Response HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn 34.5

7 Copyright 1999 – 2003 Ellis Horowitz SOAP 7 Message Exchanging in SOAP A SOAP application receiving a SOAP message must process it –Identify its parts –Verify that all mandatory parts are supported by the application –If there is a further destination, forward the message on All SOAP messages are encoded in XML SOAP defines two namespaces –The SOAP envelope has the namespace identifier http://schemas.xmlsoap.org/soap/envelope/ –The SOAP serialization has the namespace identifier http://schemas.xmlsoap.org/soap/encoding/

8 Copyright 1999 – 2003 Ellis Horowitz SOAP 8 SOAP Messages have 3 Components A SOAP message is an XML document containing a mandatory SOAP envelope, an optional SOAP header and a mandatory SOAP body –The envelope is the top element of the XML document –The header is a generic way to add features to a SOAP message –The body is a container for mandatory information

9 Copyright 1999 – 2003 Ellis Horowitz SOAP 9 Simple Types SOAP uses all types defined by XML schemas Here is an example of a schema fragment and corresponding instance data 45 5.9 -450 Blue

10 Copyright 1999 – 2003 Ellis Horowitz SOAP 10 SOAP Template... Header information goes here...... Body information goes here...... Fault information goes here...

11 Copyright 1999 – 2003 Ellis Horowitz SOAP 11 The Envelope Element Must be the root element of a SOAP message Defines the XML document as a SOAP message Sets the namespace and encodingStyle... Message information goes here...

12 Copyright 1999 – 2003 Ellis Horowitz SOAP 12 Header Element Can contain additional application specific information about the SOAP message Example where the header contains info about the language and currency values en USD

13 Copyright 1999 – 2003 Ellis Horowitz SOAP 13 Body Element Must be present in a SOAP message Example Apples

14 Copyright 1999 – 2003 Ellis Horowitz SOAP 14 Fault Element Used to provide information about errors that occurred while processing the message Example Client Invalid Request

15 Copyright 1999 – 2003 Ellis Horowitz SOAP 15 SOAP Attributes Three optional attributes are: actor, encodingStyle and mustUnderstand Actor attribute defines the URL for which the header elements are intended Example en USD

16 Copyright 1999 – 2003 Ellis Horowitz SOAP 16 Encoding Style Attribute Used to define the format (data types) used in the document Example... Message information goes here...

17 Copyright 1999 – 2003 Ellis Horowitz SOAP 17 mustUnderstand Attribute Used to define if the receiver of a message must process a header element Example en USD

18 Copyright 1999 – 2003 Ellis Horowitz SOAP 18 SOAP Errors Error messages from SOAP applications are carried inside a Fault element. If present, it must appear as an element within the Body SOAP Fault elements have sub-elements Sub ElementDescription A code identifying the error The error as a string Who caused the error Specific error informationFault Codes ErrorDescription VersionMismatchInvalid namespace for the SOAP Envelope element MustUnderstandA child element of the Header element, with the mustUnderstand attribute set to "1", was not understood ClientThe message was incorrectly formed or contained incorrect information ServerThere was a problem with the server so the message could not proceed

19 Copyright 1999 – 2003 Ellis Horowitz SOAP 19 Stockquote Example with Mandatory Header POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" 5 DEF

20 Copyright 1999 – 2003 Ellis Horowitz SOAP 20 Stockquote Example but with multiple request parameters POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" DEF DEF Corp 34.1

21 Copyright 1999 – 2003 Ellis Horowitz SOAP 21 Similar Example but with a Mandatory Header HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn 5 34.5

22 Copyright 1999 – 2003 Ellis Horowitz SOAP 22 A SOAP Example Suppose Qwickbooks.com allows customers to place orders via SOAP, e.g. Boolean PlaceOrder([in] Title string, [in] Author String, [out] DaysToDelivery integer); Client invokes this method passing it a book title and author; the boolean result true means the order was successful A sample HTTP request would look like POST /BookServer HTTP/1.1 Host: www.qwickbooks.com#sent to bookstore server Content-type: text/xml-SOAP#a new MIME type Content-Length: 160 MessageType: Call#indicates a function call #an instance of SerializedStream #name of method to invoke Harry Potter E.K. Rowling

23 Copyright 1999 – 2003 Ellis Horowitz SOAP 23 A SOAP Example II After the request is received and processed, a response is sent back HTTP/1.1 200 OK Connection: close Content-type: text/xml-SOAP Content-Length: 177 MessageType: CallResponse 1 #method’s return value true 7

24 Copyright 1999 – 2003 Ellis Horowitz SOAP 24 Apache SOAP Requires a Web server that supports servlets and JavaServer Pages (JSPs). requires Apache Xerces (Java) version 1.1.2 or higher, which supports the DOM (Document Object Model) level 2 that provides namespace support The HelloWorld service expects to obtain a person/user's name and returns a customized hello message to the caller. package hello; public class HelloServer { public String sayHelloTo(String name) { System.out.println("sayHelloTo(String name)"); return "Hello " + name + ", How are you doing?"; } }

25 Copyright 1999 – 2003 Ellis Horowitz SOAP 25 Supported Scalar Values Type valueTypeExample xsd:int32-bit signed integer-12 xsd:booleana boolean value, 1 or 01 xsd:stringstring of charactershello world xsd:float or xsd:doublesigned floating point number-12.214 xsd:timeInstantdate/time2001- 03-27T00:00:01-08:00 SOAP-ENC:base64base64- encoded binary eW91IGNhbid0IHJlYWQgdGhpcyE=

26 Copyright 1999 – 2003 Ellis Horowitz SOAP 26 Structs structs are specified by an XML element that contains sub-elements. Example 18 139 The names of struct elements are significant, the order of the elements is not.

27 Copyright 1999 – 2003 Ellis Horowitz SOAP 27 Arrays specified by an XML element with a SOAP- ENC:arrayType attribute whose value begins with ur-type[, followed by the number of array elements, followed by ] Example 12 Egypt 0 -31 The order of array elements is significant, the names of the elements are not

28 Copyright 1999 – 2003 Ellis Horowitz SOAP 28 Fault Example HTTP/1.1 500 Server Error Connection: close Content-Length: 511 Content-Type: text/xml; charset=utf-8 Date: Wed, 28 Mar 2001 05:06:32 GMT Server: UserLand Frontier/7.0-WinNT

29 Copyright 1999 – 2003 Ellis Horowitz SOAP 29 Fault Example Continued SOAP-ENV:Client Can't call getStateName because there are too many parameters.

30 Copyright 1999 – 2003 Ellis Horowitz SOAP 30 Web Services Definition A web service is a piece of functionality exposed through a web interface and made accessible through standard internet protocols such as HTTP Web service messages are transmitted in XML format, defined by the Simple Object Access Protocol (SOAP)

31 Copyright 1999 – 2003 Ellis Horowitz SOAP 31 Web Services Features Web services allow a server to expose a set of functions that other computers can then call Platform and language independent (though not necessarily protocol-implementation independent) Location of client and server is irrelevant Firewall-friendly, since transmission occurs over the HTTP protocol, which is usually open for web servers anyway

32 Copyright 1999 – 2003 Ellis Horowitz SOAP 32 WSDL Document The Web Service Description Language document tells a server which functions are exposed to clients in a web service The WSDL document is an XML document that provides a client with all of the necessary information to invoke the web service offered by the server WSDL documents are very long and verbose WSDL documents can be written by a user, though Microsoft’s.NET framework provides a tool to automatically generate a WSDL document from a given web service (wsdl.exe)

33 Copyright 1999 – 2003 Ellis Horowitz SOAP 33 UDDI Universal Description, Discovery, and Integration is a registry that is intended to contain a repository of web services where users can search for a web service The search would return a DISCO document, which is an XML document that provides the location of the WSDL document for the given web service An example UDDI registry can be found at http://www- 3.ibm.com/services/uddi/findhttp://www- 3.ibm.com/services/uddi/find

34 Copyright 1999 – 2003 Ellis Horowitz SOAP 34 Platform Independence The platforms of the client and server are transparent (similar to browsing the web, where the client browser could be running Internet Explorer in Windows and the web server could be running Apache on Solaris)

35 Copyright 1999 – 2003 Ellis Horowitz SOAP 35 Language Independence The client and server applications can both be written in any language that is capable of packaging and parsing an XML document, and transmitting and receiving messages over a network Two languages widely used for this are C# and Java

36 Copyright 1999 – 2003 Ellis Horowitz SOAP 36 Protocol SOAP, as defined by W3C, is an XML-based lightweight protocol used for exchange of information in a decentralized, distributed environment SOAP messages are transmitted over the HTTP or HTTPS protocol (port 80 or port 443, respectively) SOAP is a special type of XML This implies that the messages generated and the protocol to transmit these messages are platform independent

37 Copyright 1999 – 2003 Ellis Horowitz SOAP 37 Protocol Implementation The format of the SOAP message that the web service will receive has not yet been standardized across implementations of the protocol W3C has developed a standard for SOAP messages, but the SOAP vendors (i.e. Microsoft, Apache, IBM) do not all implement the protocol exactly in compliance with the W3C specification This means that, at least for now, the web service protocol implementation must be known by a client calling the web service so that the SOAP message can be properly created

38 Copyright 1999 – 2003 Ellis Horowitz SOAP 38 Differences Microsoft and Apache have implemented SOAP slightly different, so a client that has created a message for a web service using Apache SOAP will have to be modified to call the same web service using Microsoft SOAP

39 Copyright 1999 – 2003 Ellis Horowitz SOAP 39 Microsoft SOAP Request POST /sort/sort.asmx HTTP/1.0 Content-Type: text/xml SOAPAction: http://www.imaginarytechnology.com/sort/sort User-Agent: Java1.2.2 Host: nunki.usc.edu:11069 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-length: 552 <soap:Envelope xmlns:xsi=“http://www.w3.org/2001/XMLSchema- instance” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”> 21 65 87 78 45

40 Copyright 1999 – 2003 Ellis Horowitz SOAP 40 Apache SOAP Request POST /soap/servlet/rpcrouter/ HTTP/1.0 Content-Type: text/xml SOAPAction: urn:sort User-Agent: Java1.2.2 Host: nunki.usc.edu:11069 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-length: 798 <SOAP-ENV:Envelope xmlns:SOAP- ENV=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=“http://www.w3.org/1999/XMLSchema-instance” xmlns:xsd=“http://www.w3.org/1999/XMLSchema”> <m:sort xmlns:m=“urn:sort” SOAP- ENV:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”> <numbers xmlns:ns=“http://schemas.xmlsoap.org/soap/encoding/” xsi:type=“ns:Array” ns:arrayType=“xsd:int[5]”> 21 65 87 78 45

41 Copyright 1999 – 2003 Ellis Horowitz SOAP 41 Microsoft SOAP Response HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Sun, 28 Apr 2002 06:58:37 GMT Cache-Control: private, max-age=0 Content-Type: text/xml; charset=utf-8 Content-Length: 414 <sortResponse xmlns="http://www.imaginarytechnology.com/sort/"> 21 45 65 78 87

42 Copyright 1999 – 2003 Ellis Horowitz SOAP 42 Apache SOAP Response HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: 690 Date: Sun, 28 Apr 2002 06:31:55 GMT Server: Apache Tomcat/4.0.3 (HTTP/1.1 Connector) Set-Cookie: JSESSIONID=4E68BC1513006B5BFFD44421832255EF;Path=/soap <SOAP-ENV:Envelope xmlns:SOAP- ENV=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=“http://www.w3.org/1999/XMLSchema-instance” xmlns:xsd=“http://www.w3.org/1999/XMLSchema”> <ns1:sortResponse xmlns:ns1=“urn:sort” SOAP- ENV:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”> <return xmlns:ns2=“http://schemas.xmlsoap.org/soap/encoding/” xsi:type=“ns2:Array” ns2:arrayType=“xsd:int[5]”> 21 45 65 78 87

43 Copyright 1999 – 2003 Ellis Horowitz SOAP 43 Microsoft vs. Apache MicrosoftApache Web Service Product.NET FrameworkTomcat 4.0.3 Web Service Authoring Language Many, including C, C++, C#, Cobol, Visual Basic Java Creation/Deployment Tool GUI or Command LineCommand Line Platforms Supported Windows NT4.0, 2000 or higher only, though you may port to other platforms on your own Most Windows and Unix- based platforms

44 Copyright 1999 – 2003 Ellis Horowitz SOAP 44 Sort Example This example is focused more on the details of writing a web service and a client application, and less on the algorithm of the web service This web service, which has been written on a Windows 2000 platform using.NET and a Sun OS platform using Java, takes an array of integers and returns a sorted array

45 Copyright 1999 – 2003 Ellis Horowitz SOAP 45 Windows 2000 Web Service First, we need to write the code for the web service. Since we are writing this web service in Windows 2000, we will use C#, which is part of the.NET framework.NET allows a web service to be written in-line within an ASP.NET file (similar to an ASP file), which then allows for easy viewing of the WSDL document and an automatically generated test client accessible through a browser

46 Copyright 1999 – 2003 Ellis Horowitz SOAP 46 ASP.NET An ASP.NET file has a.asmx extension If you are writing a web service within an ASP.NET file, there is only one line of ASP code, and the rest is the web service, written in whatever.NET language specified in the ASP WebService tag To allow other people to use your web service, make this.asmx file available through your web server There is also no need to compile your web service -.NET will compile the service when necessary Note: To run.NET web services, you must have the.NET Framework SDK installed on the server You can download the.NET SDK from http://msdn.microsoft.com/netframework/ http://msdn.microsoft.com/netframework/

47 Copyright 1999 – 2003 Ellis Horowitz SOAP 47 ASP.NET/C# Web Service using System; using System.Web; using System.Web.Services; [WebService(Namespace="http://www.imaginarytechnology.com/sort/")] public class SortNumbers : System.Web.Services.WebService { [WebMethod(Description="Sorts a sequence of numbers in ascending orders")] public int[] sort(int [] numbers) { return sortNumbers(numbers); } private int[] sortNumbers(int [] numbers) { int temp; for (int i=0; i < numbers.Length; i++) { for (int j=0; j < i; j++) { if (numbers[i] < numbers[j]) { temp = numbers[i]; numbers[i] = numbers[j]; numbers[j] = temp; } } } return numbers; } }

48 Copyright 1999 – 2003 Ellis Horowitz SOAP 48 ASP.NET WebService Tag The ASP.NET WebService tag is used to specify the class name of the web service (required), the language in which the web service is written (optional, which defaults to C# if no language is given), and the CodeBehind attribute (optional, which specifies where web service code is located if it is in an external file)

49 Copyright 1999 – 2003 Ellis Horowitz SOAP 49 C# Web Service Code The C# code is similar to Java, but to make the class a web service, a few steps are required: 1.Any class that is to be a web service can be immediately preceded by a WebService attribute, which is used in WSDL generation to provide more information to the client application 2.Any method that is to be exposed in the web service must be public and be immediately preceded by a WebMethod attribute 3.No other methods in the class are exposed to the web service, but may be used in the accessible methods

50 Copyright 1999 – 2003 Ellis Horowitz SOAP 50 Web-Based Client If your client is web-based and you are not using a proxy class, the SOAP message returned will be displayed in the browser as a parsed XML document (for Internet Explorer version 5.5 and greater) Other browsers, such as Netscape, do not have built- in XML parsers, and therefore do not display the XML document parsed (or sometimes they throw error messages)

51 Copyright 1999 – 2003 Ellis Horowitz SOAP 51 Windows Client Application For the sort client, we wrote the client code to be accessed through a browser as a Java Server Page (JSP). This code could be running on any platform that supports JSPs, though it will connect to the Windows web service. Sun has a JSP IO tag library, which is used in this example to package the SOAP message that is traveling to the web service

52 Copyright 1999 – 2003 Ellis Horowitz SOAP 52 Windows Client Application Code

53 Copyright 1999 – 2003 Ellis Horowitz SOAP 53 Windows SOAP Request POST /sort/sort.asmx HTTP/1.0 Content-Type: text/xml SOAPAction: http://www.imaginarytechnology.com/sort/sort User-Agent: Java1.2.2 Host: nunki.usc.edu:11069 Accepts: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-length: 552 <soap:Envelope xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/”> 21 65 87 78 45

54 Copyright 1999 – 2003 Ellis Horowitz SOAP 54 Windows SOAP Response HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Sun, 28 Apr 2002 06:58:37 GMT Cache-Control: private, max-age=0 Content-Type: text/xml; charset=utf-8 Content-Length: 414 <sortResponse xmlns="http://www.imaginarytechnology.com/sort/"> 21 45 65 78 87

55 Copyright 1999 – 2003 Ellis Horowitz SOAP 55 Sun OS Web Service The first step is to write the web service, which we will write in Java since we are running Tomcat4.0.3 on a Unix-based machine The code for the web service is not any different than any other class written in Java Compile the code after you have written the web service class

56 Copyright 1999 – 2003 Ellis Horowitz SOAP 56 Java Web Service public class sort { public int[] sort (int [] numbers) { int temp; for (int i=0; i < numbers.length; i++) { for (int j=0; j < i; j++) { if (numbers[i] < numbers[j]) { temp = numbers[i]; numbers[i] = numbers[j]; numbers[j] = temp; } } } return numbers; }

57 Copyright 1999 – 2003 Ellis Horowitz SOAP 57 Document Descriptor To deploy a web service using Tomcat, a document descriptor must be created, which is merely an XML document with a few required tags The id attribute of the service tag gives the name of the web service that is exposed to the client The methods attribute of the provider tag, which is a child of the service tag, gives the name of the methods that are exposed to the client The class attribute of the java tag, which is a child of the provider tag, gives the name of the class that is exposed to the client The mappings tag, which is a child of the service tag, provides mappings from Java objects to the equivalent SOAP objects if SOAP does not already know how to convert the data type All primitive Java data types, primitive arrays, and Strings are known by the Apache SOAP implementation

58 Copyright 1999 – 2003 Ellis Horowitz SOAP 58 Sort Document Descriptor org.apache.soap.server.DOMFaultListener

59 Copyright 1999 – 2003 Ellis Horowitz SOAP 59 Deploying the Web Service The ServiceManagerClient class, which is packaged with Tomcat 4.0.3, is used to deploy web services based on the document descriptor Assuming sort.xml is the name of the document descriptor for our web service, Tomcat is installed on port 8080 of nunki.usc.edu, and all of the jar files that came with Tomcat are in the system classpath, type the following command: java org.apache.soap.server.ServiceManagerClient http://nunki.usc.edu:8080/soap/servlet/rpcrouter deploy sort.xml It is then necessary to restart Tomcat before the new web service will be recognized

60 Copyright 1999 – 2003 Ellis Horowitz SOAP 60 Apache Client Application Code <% URL url = new URL("http://nunki.usc.edu:11069/soap/servlet/rpcrouter"); Call call = new Call(); call.setTargetObjectURI("urn:sort"); call.setMethodName("sort1"); call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); Vector params = new Vector(); int [] array1 = {21, 65, 87, 78, 45}; params.addElement(new Parameter("numbers", int[].class, array1, Constants.NS_URI_SOAP_ENC)); call.setParams(params); Response resp = call.invoke(url, ""); if (resp.generatedFault()) { Fault fault = resp.getFault(); // generate fault information here } else { Parameter result = resp.getReturnValue(); result.setEncodingStyleURI(Constants.ATTR_ARRAY_TYPE); int [] sortedarray = (int[])result.getValue(); // contains sorted array %>

61 Copyright 1999 – 2003 Ellis Horowitz SOAP 61 Apache SOAP Request POST /soap/servlet/rpcrouter/ HTTP/1.0 Content-Type: text/xml SOAPAction: urn:sort User-Agent: Java1.2.2 Host: nunki.usc.edu:11069 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-length: 798 <SOAP-ENV:Envelope xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=“http://www.w3.org/1999/XMLSchema-instance” xmlns:xsd=“http://www.w3.org/1999/XMLSchema”> <m:sort xmlns:m=“urn:sort” SOAP-ENV:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”> <numbers xmlns:ns=“http://schemas.xmlsoap.org/soap/encoding/” xsi:type=“ns:Array” ns:arrayType=“xsd:int[5]”> 21 65 87 78 45

62 Copyright 1999 – 2003 Ellis Horowitz SOAP 62 Apache SOAP Response HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: 690 Date: Sun, 28 Apr 2002 06:31:55 GMT Server: Apache Tomcat/4.0.3 (HTTP/1.1 Connector) Set-Cookie: JSESSIONID=4E68BC1513006B5BFFD44421832255EF;Path=/soap <SOAP-ENV:Envelope xmlns:SOAP- ENV=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=“http://www.w3.org/1999/XMLSchema-instance” xmlns:xsd=“http://www.w3.org/1999/XMLSchema”> <ns1:sortResponse xmlns:ns1=“urn:sort” SOAP- ENV:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”> <return xmlns:ns2=“http://schemas.xmlsoap.org/soap/encoding/” xsi:type=“ns2:Array” ns2:arrayType=“xsd:int[5]”> 21 45 65 78 87

63 Copyright 1999 – 2003 Ellis Horowitz SOAP 63 Conclusion Web Services provide a new method of distributed computing Using standard protocols, the theory behind web services makes it appear as if a client does not need to concern itself with the platform running the web service Web services will most likely become the next paradigm for distributed computing, overcoming the platform dependency issues with RPC and COM


Download ppt "Copyright 1999 – 2003 Ellis Horowitz SOAP 1 SOAP."

Similar presentations


Ads by Google