Thursday, 10 November 2011

WSDL Structure

Salesforce Webservice API is implemented to comply with the following standards

Simple Object Access Protocol (SOAP) 1.1
Web Service Description Language (WSDL) 1.1
WS-I Basic Profile 1.1

WSDL 1.1 (Web Service Definition Language) Documents

WSDL doc describes the web service definition language and it has the following major components.

<type> -> data type
<message>  -> messages
<portype>  -> the operation performed by the web service
<binding> -> communication protocols used by the web service.

Sample wsdl document:
<definition>
<message name="getInputRequest">
  <part name="term" type="xs:integer"/>
  <part name="term" type="xs:integer"/>
</message>

<message name="getResultResponse">
  <part name="value" type="xs:integer"/>
</message>

<portType name="calculate">
  <operation name="add">
    <input message="getInputRequest"/>
    <output message="getResultResponse"/>
  </operation>
</portType>

<binding type="calculate" name="b1">
   <soap:binding style="document"
   transport="http://schemas.xmlsoap.org/soap/http" />
   <operation>
     <soap:operation soapAction="http://example.com/calculate"/>
     <input><soap:body use="literal"/></input>
     <output><soap:body use="literal"/></output>
  </operation>
</binding>
</definition>

where

  • types, which provides data type definitions used to describe the messages exchanged.
  • message, which represents an abstract definition of the data being transmitted. A message consists of logical parts, each of which is associated with a definition within some type system.
  • portType, which is a set of abstract operations. Each operation refers to an input message and output messages.
  • binding, which specifies concrete protocol and data format specifications for the operations and messages defined by a particular portType
Wsdl 1.1 vs 2.0

No comments:

Post a Comment