Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between <binding> and <portType> in WSDL?

Both <binding> and <portType> seem to define an operation and its message. I don't quite understand, why are they both necessary?

like image 785
clamp Avatar asked Dec 22 '10 16:12

clamp


People also ask

What is portType and binding in WSDL?

PortType defines the abstract interface of a web service. Conceptually it is like a Java interface since it defines an abstract type and related methods. In WSDL the port type is implemented by the binding and service elements which indicate the protocols, encoding schemes etc to be used by a web service implementation.

What is portType in WSDL?

In a WSDL file, a port type contains one or more related operations that the web service can perform. An example of an operation is GetQuote. The WSDL Editor supports the following categories of operations: Request-response. The operation receives a message as input, and sends a message as output.

What are bindings in WSDL?

A WSDL binding describes how the service is bound to a messaging protocol, particularly the SOAP messaging protocol. A WSDL SOAP binding can be either a Remote Procedure Call (RPC) style binding or a document style binding. A SOAP binding can also have an encoded use or a literal use.

What is a SOAP binding?

The binding element of a WSDL file describes how the service is bound to the SOAP messaging protocol. There are two possible SOAP binding styles: RPC and Document. A SOAP binding can also have an encoded use, or a literal use. The use attribute is concerned with how types are represented in the XML messages.


1 Answers

portType (Analogs to Java interface)

  • PortType is an abstraction part of WSDL.
  • An abstract set of operations supported by one or more endpoints.

binding

  • Binding is an concrete part of WSDL.
  • Describes how the operation is invoked by specifying concrete protocol and data format specifications for the operations and messages.
  • bindings are three types

    1. SOAP Binding:
      SOAP binding allows either document or rpc style with either encoding or literal. Encoding indicates how a data value should be encoded in an XML format (These rules specify how "something" is encoded/serialized to XML and then later decoded/de-serialized from XML back to "something"). Literal means that the data is serialized according to a schema (this is just plain XML data). With transportation type http, jms, smtp...

    2. HTTP GET & POST binding:
      WSDL includes a binding for HTTP 1.1's GET and POST verbs in order to describe the interaction between a Web Browser and a web site.

    3. MIME binding: WSDL includes a way to bind abstract types to concrete messages in some MIME format.


enter image description here

In WSDL 2.0 :

  • PortTypes renamed to interfaces
  • Ports renamed to endpoints
  • Removed message constructs

Source


Useful links

  • WSDL Reading, a Beginner's Guide
  • W3C: Web Services Description Language (WSDL) 1.1
  • W3C: Simple Object Access Protocol (SOAP) 1.1
like image 50
Premraj Avatar answered Oct 12 '22 13:10

Premraj