Xml And Web Services

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Xml And Web Services - Presentation Transcript

    1. TCS Qwest Centre, Tidel XML & Web Services
    2. Technologies
      • XML
      • XML (eXtensible Markup Language)
      • DTD (Document Type Definition)
      • XSD (XML Schema Definition )
      • DOM (Document Object Model)
      • SAX ( Simple API for XML)
      • XSL/T (XML Stylesheet Language/Transformation)
      • XPath (XML Path Language)
      • SOAP (Simple Object Access Protocol)
      • WSDL (Web Services Definition language)
      • UDDI (Universal Description, Discovery & Integration)
    3. Technologies
      • J2EE
      • JAXP (Java API for XML Parsing)
      • XML,DTD,XSD,XSL/T
      • JAXB (Java API for XML Binding)
      • XML,DTD,XSD
      • JAXM (Java API for XML Messaging)
      • SOAP,WSDL
      • JAXR (Java API for XML Registries)
      • UDDI
      • JAX-RPC (Java API for XML Remote Procedure Call )
        • SOAP
    4. XML <?xml version=&quot;1.0&quot;?> <BookStore xmlns=&quot;http://www.books.org&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation= &quot;http://www.books.org BookStore.xsd&quot;> <Book> <Title>My Life and Times</Title> <Author>Paul McCartney</Author> <Date>1998</Date> <ISBN>1-56592-235-2</ISBN> <Publisher>McMillin Publishing</Publisher> </Book> <Book> <Title>Illusions The Adventures of a Reluctant Messiah</Title> <Author>Richard Bach</Author> <Date>1977</Date> <ISBN>0-440-34319-4</ISBN> <Publisher>Dell Publishing Co.</Publisher> </Book> <Book> <Title>The First and Last Freedom</Title> <Author>J. Krishnamurti</Author> <Date>1954</Date> <ISBN>0-06-064831-7</ISBN> <Publisher>Harper &amp; Row</Publisher> </Book> </BookStore>
    5. Non XML representation With TAB as the delimiter My Life and Times Paul McCartney 1998 1-56592-235-2 McMillin Publishing Illusions The Adventures of a Reluctant Messiah Richard Bach 1977 0-440-34319-4 Dell Publishing Co. The First and Last Freedom J. Krishnamurti 1954 0-06-064831-7 Harper & Row With $$ as the delimiter My Life and Times $$ Paul McCartney $$ 1998 $$ 1-56592-235-2 $$ McMillin Publishing $$ Illusions The Adventures of a Reluctant Messiah $$ Richard Bach $$ 1977 $$ 0-440-34319-4 $$ Dell Publishing Co. $$ The First and Last Freedom $$ J. Krishnamurti $$ 1954 $$ 0-06-064831-7 $$ Harper & Row $$
    6. XML Basics Introduced to overcome shortcoming of both HTML & SGML Easier to read and understand. Well structured your own markup language, not restricted to a limited set of tags defined by proprietary vendorsXML allows you to define all sorts of tags with all sorts of rules Syntax Well-formed ness All XML documents should begin with an XML declaration It should be single rooted. All tags must have a matching closing tag Etc..
    7. XML Applications Apache Ant – Java Application build mechanism. XML Schema – An XML application to validate an XML document itself!!!!! XSLT – XML Transformation Language. Configuration files – For Microsoft ASP.Net as well as .Net Applications. EJB Specification use it to describe deployment descrptor. RSS – Rich Site Summary Etc…
    8. XML Data validity <location> <latitude>32.904237</latitude> <longitude>73.620290</longitude> <uncertainty units=&quot;meters&quot;>2</uncertainty> </location> Is this data valid? To be valid, it must meet these constraints (data business rules) : 1. The location must be comprised of a latitude, followed by a longitude, followed by an indication of the uncertainty of the lat/lon measurements. 2. The latitude must be a decimal with a value between -90 to +90 3. The longitude must be a decimal with a value between -180 to +180 4. For both latitude and longitude the number of digits to the right of the decimal point must be exactly six digits. 5. The value of uncertainty must be a non-negative integer 6. The uncertainty units must be either meters or feet.
    9. DTD <!ELEMENT BookStore (Book)+> <!ELEMENT Book (Title, Author, Date, ISBN, Publisher)> <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> <!ELEMENT Date (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Publisher (#PCDATA)> Syntax is not in XML. Can not infer complex rules. Can not define custom types. Can not limit data range.
    10. Namespace XML namespaces provide a simple method for qualifying element and attribute names used in XML documents by associating them with namespaces identified by URI references Analogous to package concept in Java: Ex the Map class in java.util package and say a Map class which we wrote as part of our location Map library being used in same program import java.util.Map; import com.tcs.maplibrary.Map; Public class myTest{ priavte Map myMap = new Map(); . . . } <?xml version=&quot;1.0&quot;?> <MapApplication> <Map>java.util.HashMap</Map> <Map>Indian Map</Map> <MapApplication> Which Map is this? Which Map are these?
    11. Namespace – Contd. Documents, containing multiple markup vocabularies, pose problems of recognition and collision. In the previous slide though the first ‘Map” is to represent that it is of Type Map which is used in Java computer Language and the second one is to represent a Graphical Map of India, there was a collision. Collisions can not be stopped, but at least a context can be given to these colliding tags as to which where they belong and where they make sense. That is all about Namespace. A Namespace version of the same XML Instance document. <?xml version=&quot;1.0&quot;?> <MapApplication xmlns:tcs=&quot;http://www.tcs.com&quot; xmlns:java=&quot;http://www.java.org&quot; > <java:Map>java.util.HashMap</java:Map> <tcs:Map>Indian Map</tcs:Map> </MapApplication> Making tcs as the default Namespace <?xml version=&quot;1.0&quot;?> <MapApplication xmlns=&quot;http://www.tcs.com&quot; xmlns:java=&quot;http://www.java.org&quot; > <java:Map>java.util.HashMap</java:Map> <Map>Indian Map</Map> </MapApplication> Here java:Map is a qualified Name with 2 parts. Local Name and Prefix. Here Prefix is “java” and LocalName is “Map”
    12. XSD <?xml version=&quot;1.0&quot;?> <xsd:schema xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; targetNamespace=&quot;http://www.books.org&quot; xmlns=&quot;http://www.books.org&quot; elementFormDefault=&quot;qualified&quot;> <xsd:element name=&quot;BookStore&quot;> <xsd:complexType> <xsd:sequence> <xsd:element ref=&quot;Book&quot; minOccurs=&quot;1&quot; maxOccurs=&quot;unbounded&quot;/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=&quot;Book&quot;> <xsd:complexType> <xsd:sequence> <xsd:element ref=&quot;Title&quot; minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;/> <xsd:element ref=&quot;Author&quot; minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;/> <xsd:element ref=&quot;Date&quot; minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;/> <xsd:element ref=&quot;ISBN&quot; minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;/> <xsd:element ref=&quot;Publisher&quot; minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=&quot;Title&quot; type=&quot;xsd:string&quot;/> <xsd:element name=&quot;Author&quot; type=&quot;xsd:string&quot;/> <xsd:element name=&quot;Date&quot; type=&quot;xsd:string&quot;/> <xsd:element name=&quot;ISBN&quot; type=&quot;xsd:string&quot;/> <xsd:element name=&quot;Publisher&quot; type=&quot;xsd:string&quot;/> </xsd:schema> <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> <!ELEMENT Date (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Publisher (#PCDATA)> <!ELEMENT Book (Title, Author, Date, ISBN, Publisher)> <!ELEMENT BookStore (Book)+>
    13. XSD – Contd.
      • Data Model
          • With XML Schemas you specify how your XML data will be organized, and the data types of your data. That is, with XML Schemas you model how your data is to be represented in an instance document.
      • A Contract
          • Organizations agree to structure their XML documents in conformance with an XML Schema. Thus, the XML Schema acts as a contract between the organizations.
      • A rich source of metadata
          • An XML Schema document contains lots of data about the data in the XML instance documents, such as the data type of the data, the data's range of values, how the data is related to another piece of data (parent/child, sibling relationship), i.e., XML Schemas contain metadata
    14. XSD – Contd. <xsd:simpleType name=&quot;TelephoneNumber&quot;> <xsd:restriction base=&quot;xsd:string&quot;> <xsd:length value=&quot;8&quot;/> <xsd:pattern value=&quot;d{3}-d{4}&quot;/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name=&quot;shape&quot;> <xsd:restriction base=&quot;xsd:string&quot;> <xsd:enumeration value=&quot;circle&quot;/> <xsd:enumeration value=&quot;triangle&quot;/> <xsd:enumeration value=&quot;square&quot;/> </xsd:restriction> </xsd:simpleType> An element declared to be of type shape must be a string with a value of either circle, or triangle, or square. An element declared to be of type TelephoneNumber must be a string of length=8 and the string must follow the pattern: 3 digits, dash, 4 digits. <xsd:simpleType name=&quot;IP&quot;> <xsd:restriction base=&quot;xsd:string&quot;> <xsd:pattern value=&quot;(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).){3} ([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])&quot;> <xsd:annotation> <xsd:documentation> Datatype for representing IP addresses. Examples, 129.83.64.255, 64.128.2.71, etc. This datatype restricts each field of the IP address to have a value between zero and 255, i.e., [0-255].[0-255].[0-255].[0-255] </xsd:documentation> </xsd:annotation> </xsd:pattern> </xsd:restriction> </xsd:simpleType> An element declared to be of type IP address. Ex: 64.128.2.71
    15. SAX 2.0
    16. SAX - Parsing What is parsing and how do you do without an API? Evolution of Parsing APIs – SAX, DOM and the new Pull/Streaming Parser. SAX S imple A PI for X ML Parsing Event based, forward only, fast parsing mechanism. reports parsing events (such as the start and end of elements) directly to the application through callbacks, and does not usually build an internal tree. The application implements handlers to deal with the different events, much like handling events in a graphical user interface A simple, lightweight API and few methods to remember. Not a W3C standard, rather a developer community “developed” standard. Originally developed for Java, but now supports a lot more. SAX 2.0 added XML Namespace support.
    17. SAX – Parsing – Contd. <?xml version=&quot;1.0&quot;?> <doc> <para>Hello, world!</para> </doc> An event-based interface will break the structure of this document down into a series of linear events, such as these: start document start element: doc start element: para characters: Hello, world! end element: para end element: doc end document An application handles these events just as it would handle events from a graphical user interface: there is no need to cache the entire document in memory or secondary storage. Finally, it is important to remember that it is possible to construct a parse tree using an event-based API, and it is possible to use an event-based API to traverse an in-memory tree.
    18. SAX – Parsing – Contd. A Sample Code which does complete SAX parsing with output
    19. DOM
    20. DOM - Parsing
      • Document Object Model
      • In-memory tree representation of the XML document
      • This is bi-directional (forward and reverse)
      • Memory Hungry – Not suited for huge documents often cause java.lang.OutOfMemoryError
      • Got a pretty big set of APIs to parse.
      • Easier and more flexible when comes to coding
      • A W3C standard and is language agnostic, DOM bindings are available for ECMAScript, CORBA
      • For XSLT transformation, a DOM tree is needed( to be precise a in-memory XML representation model).
      • This is specified in the org.w3c.dom java package
      • Rather than specifying in terms of version numbers, it is specified in Levels. Ex: DOM Level 3, Level 2 etc
      • When we consider all the modules in DOM Level 3, DOM can become really complex in terms of functionality it provides. Ex: Events, Views and Style modules of DOM.
      • Namespace support was introduced from Level 2.
      • Org.w3c.dom.Node is the base interface of the entire nodeTypes in DOM.
    21. DOM – Parsing import java.io.*; import org.apache.xerces.parsers.DOMParser; import org.w3c.dom.*; public class FirstRecipeDOM { public static void main(String[] args) { try { DOMParser p = new DOMParser(); p.parse(args[0]); Document doc = p.getDocument(); Node n = doc.getDocumentElement().getFirstChild(); while (n!=null && !n.getNodeName().equals(&quot;recipe&quot;)) n = n.getNextSibling(); PrintStream out = System.out; out.println(&quot;<?xml version=&quot;1.0&quot;?>&quot;); out.println(&quot;<collection>&quot;); if (n!=null) print(n, out); out.println(&quot;</collection>&quot;); } catch (Exception e) {e.printStackTrace();} } static void print(Node node, PrintStream out) { int type = node.getNodeType(); switch (type) { case Node.ELEMENT_NODE: out.print(&quot;<&quot; + node.getNodeName()); NamedNodeMap attrs = node.getAttributes(); int len = attrs.getLength(); for (int i=0; i<len; i++) {
    22. DOM – Parsing – Contd. Attr attr = (Attr)attrs.item(i); out.print(&quot; &quot; + attr.getNodeName() + &quot;=&quot;&quot; + escapeXML(attr.getNodeValue()) + &quot;&quot;&quot;); } out.print('>'); NodeList children = node.getChildNodes(); len = children.getLength(); for (int i=0; i<len; i++) print(children.item(i), out); out.print(&quot;</&quot; + node.getNodeName() + &quot;>&quot;); break; case Node.ENTITY_REFERENCE_NODE: out.print(&quot;&&quot; + node.getNodeName() + &quot;;&quot;); break; case Node.CDATA_SECTION_NODE: out.print(&quot;<![CDATA[&quot; + node.getNodeValue() + &quot;]]>&quot;); break; case Node.TEXT_NODE: out.print(escapeXML(node.getNodeValue())); break; case Node.PROCESSING_INSTRUCTION_NODE: out.print(&quot;<?&quot; + node.getNodeName()); String data = node.getNodeValue(); if (data!=null && data.length()>0) out.print(&quot; &quot; + data); out.println(&quot;?>&quot;); break;} } }
    23. XSLT XML Stylesheet Language/Transformation Used to either style/format a XML document ( ex: XSL-FO for Formatting objects ) or Transform a document from Schema to another schema. XSLT is an XML application and itself is another language, which got its own syntax.
    24. XSLT <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; xmlns:oe=&quot;urn:PricingService&quot; exclude-result-prefixes=&quot;oe&quot;> <xsl:output method=&quot;xml&quot; version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; indent=&quot;yes&quot;/> <xsl:template match=&quot;/&quot;> <xsl:apply-templates select=&quot;*|@*|text()&quot;/> </xsl:template> <xsl:template match=&quot;*|@*|text()&quot;> <xsl:copy> <xsl:apply-templates select=&quot;*|@*|text()&quot;/> </xsl:copy> </xsl:template> <xsl:template match=&quot;ServiceCategoryAddress&quot;> <xsl:element name=&quot;ServiceCategoryAddress&quot;> <xsl:attribute name=&quot;guid&quot;><xsl:value-of select=&quot;oe:getNextGuid()&quot;/></xsl:attribute> <xsl:attribute name=&quot;parentId&quot;><xsl:value-of select=&quot;./../@guid&quot;/></xsl:attribute> <xsl:attribute name=&quot;AddressType&quot;><xsl:value-of select=&quot;./@AddressType&quot;/></xsl:attribute> <xsl:attribute name=&quot;ActionCode&quot;><xsl:value-of select=&quot;./@ActionCode&quot;/></xsl:attribute> <xsl:if test=&quot;@ContactId&quot;> <xsl:attribute name=&quot;ContactId&quot;><xsl:value-of select=&quot;./@ContactId&quot;/></xsl:attribute> </xsl:if> <xsl:copy-of select=&quot;current()/*&quot;/> </xsl:element> </xsl:template> </xsl:stylesheet>
    25. XSLT <source> <SECTION> <DATA>I need a pen.</DATA> <DATA>I need some paper.</DATA> <SUMMARY>I need a pen and some paper</SUMMARY> </SECTION> <SECTION> <DATA>I need bread.</DATA> <DATA>I need butter.</DATA> </SECTION> </source> <xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match=&quot;//SECTION&quot;> <xsl:choose> <xsl:when test=&quot;SUMMARY&quot;> <P> <xsl:text>SUMMARY: </xsl:text> <xsl:value-of select=&quot;SUMMARY&quot;/> </P> </xsl:when> <xsl:otherwise> <xsl:for-each select=&quot;DATA&quot;> <P> <xsl:text>DATA: </xsl:text> <xsl:value-of select=&quot;.&quot;/> </P> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> <P>SUMMARY: I need a pen and some paper</P> <P>DATA: I need bread.</P> <P>DATA: I need butter.</P>
    26. XPath XML Path Language XPath is always used along with XSLT. The idea behind XPath is to traverse to particular node/location in the document, such that we can do some of the XSLT operation on it. At times we can see a similarity with the way we traverse a directory structure in an operating system
    27. XPath Examples <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> <cd> <title>Hide your heart</title> <artist>Bonnie Tyler</artist> <country>UK</country> <company>CBS Records</company> <price>9.90</price> <year>1988</year> </cd> </catalog> Selecting cd Nodes - xmlDoc.selectNodes(&quot;/catalog/cd&quot;) xmlDoc.selectNodes(&quot;/child:catalog/child:cd&quot;) Selecting the First cd Node - xmlDoc.selectNodes(&quot;/catalog/cd[0]&quot;) Selecting price Nodes - xmlDoc.selectNodes(&quot;/catalog/cd/price&quot;) Selecting price Text Nodes - xmlDoc.selectNodes(&quot;/catalog/cd/price/text()&quot;) Selecting cd Nodes with Price>10.80 - xmlDoc.selectNodes(&quot;/catalog/cd[price>10.80]&quot;) Selecting price Nodes with Price>10.80 - xmlDoc.selectNodes(&quot;/catalog/cd[price>10.80]/price&quot;) Selecting the second Cd Node xmlDoc.selectNodes(&quot;/catalog/cd[position() = 2] &quot;)
    28. Web Services
    29. Web Services 1 represents a service provider publishing a service to an external repository. Once such a service has been exported to a registry, it can then be used by a client. 2 and 3 represent looking up a service from a repository and returning information about a service, respectively. Information, such as the format of the procedure calls and the address of a service provider, would normally be provided, amongst other details. 4 and 5 represent the client binding to an underlying service and then accessing that service to use whatever functionality the service provides. Advantages Data is formatted for transfer using XML, improving or eliminating marshalling, unmarshalling, and various other translation-related requirements normally coded by a developer. Data is passed using standardized protocols such as HTTP or SMTP, which have published well-defined standards. The underlying exposed service is well-defined using a known accepted mechanism, WSDL. Services are found using a well-defined standard, UDDI, and the more advanced ebXML.
    30. A Simple Web Service C++ Server Doing Complex Sum Operation Java Client Calling C++ Server’s Sum method Public internet/Local intranet HTTP int sum(int a, int b){ } XML Deserialization <?xml version=&quot;1.0&quot; ?> <SumInput> <Param1>10</Param1> <Param2>20</Param2> </SumInput> XML Serialization <?xml version=&quot;1.0&quot; ?> <SumInput> <Param1>10</Param1> <Param2>20</Param2> <Result>30</Result> </SumInput> XML Serialization <?xml version=&quot;1.0&quot; ?> <SumInput> <Param1>10</Param1> <Param2>20</Param2> </SumInput> XML Deserialization <?xml version=&quot;1.0&quot; ?> <SumInput> <Param1>10</Param1> <Param2>20</Param2> <Result>30</Result> </SumInput> Firewall B Firewall A
    31. SOAP Simple Object Access protocol Application Level protocol Consists of Envelope, which in turn consists of Header and Body
    32. SOAP – Contd. POST /Sum/Service1.asmx HTTP/1.1 Host: www.tcs.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: &quot;http://tempuri.org/sum&quot; <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <soap:Envelope xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;> <soap:Body> <sum xmlns=&quot;http://tempuri.org/&quot;> <a> 10 </a> <b> 20 </b> </sum> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <soap:Envelope xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;> <soap:Body> <sumResponse xmlns=&quot;http://tempuri.org/&quot;> <sumResult> 30 </sumResult> </sumResponse> </soap:Body> </soap:Envelope>
    33. WSDL
      • WSDL - Web Services Description Language
      • WSDL defines the syntax, the semantics, and all the various administrative aspects of a Web Services procedure call
      • WSDL uses XML Schema to specify the types
    34. WSDL - Contd. <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <definitions xmlns:http=&quot;http://schemas.xmlsoap.org/wsdl/http/&quot; xmlns:soap=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot; xmlns:s=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:s0=&quot;http://tempuri.org/&quot; xmlns:soapenc=&quot;http://schemas.xmlsoap.org/soap/encoding/&quot; xmlns:tm=&quot;http://microsoft.com/wsdl/mime/textMatching/&quot; xmlns:mime=&quot;http://schemas.xmlsoap.org/wsdl/mime/&quot; targetNamespace=&quot;http://tempuri.org/&quot; xmlns=&quot;http://schemas.xmlsoap.org/wsdl/&quot;> <types> <s:schema elementFormDefault=&quot;qualified&quot; targetNamespace=&quot;http://tempuri.org/&quot;> <s:element name=&quot;sum&quot;> <s:complexType> <s:sequence> <s:element minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot; name=&quot;a&quot; type=&quot;s:int&quot; /> <s:element minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot; name=&quot;b&quot; type=&quot;s:int&quot; /> </s:sequence> </s:complexType> </s:element> <s:element name=&quot;sumResponse&quot;> <s:complexType> <s:sequence> <s:element minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot; name=&quot;sumResult&quot; type=&quot;s:int&quot; /> </s:sequence> </s:complexType> </s:element> </s:schema> </types>
    35. WSDL - Contd. <message name=&quot;sumSoapIn&quot;> <part name=&quot;parameters&quot; element=&quot;s0:sum&quot; /> </message> <message name=&quot;sumSoapOut&quot;> <part name=&quot;parameters&quot; element=&quot;s0:sumResponse&quot; /> </message> <portType name=&quot;Service1Soap&quot;> <operation name=&quot;sum&quot;> <input message=&quot;s0:sumSoapIn&quot; /> <output message=&quot;s0:sumSoapOut&quot; /> </operation> </portType> <binding name=&quot;Service1Soap&quot; type=&quot;s0:Service1Soap&quot;> <soap:binding transport=&quot;http://schemas.xmlsoap.org/soap/http&quot; style=&quot;document&quot; /> <operation name=&quot;sum&quot;> <soap:operation soapAction=&quot;http://tempuri.org/sum&quot; style=&quot;document&quot; /> <input> <soap:body use=&quot;literal&quot; /> </input> <output> <soap:body use=&quot;literal&quot; /> </output> </operation> </binding> <service name=&quot;Service1&quot;> <port name=&quot;Service1Soap&quot; binding=&quot;s0:Service1Soap&quot;> <soap:address location=&quot;http://www.tcs.com/Sum/Service1.asmx&quot; /> </port> </service> </definitions>

    + Srinu MSrinu M, 2 years ago

    custom

    309 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 309
      • 309 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories