Tuesday, June 26, 2012

WSDL ( in brief )

WSDL is platform- and language-independent and is used primarily to describe SOAP services. It represents the definition of web services . Through  a published WSDL user can create the appropriate soap request to access the publicly available  web service methods. WSDL is written in XML and has 6 major elements .


  • definitions -- root Element
  • types -- data types of all parameters passed to a web method
  • message -- name of the web method that needs to be called or sent in response . its one way only.
  • portType -- it combines multiple messages to form a complete one-way or round-trip operation.
  • binding -- A binding defines message format and protocol details for operations and messages defined by a particular portType.
  • service -- The service element defines the address for invoking the specified service. Most commonly, this includes a URL for invoking the SOAP service.

a sample wsdl can be  seen at below URL
http://www.gotoworkspace.com/us/soap3/timeClockSetupServer.php?wsdl

its respective  soap request for operation (method) named updateTransferJobStatus will be as

< s11:Envelope xmlns:s11='http://schemas.xmlsoap.org/soap/envelope/' >
  < s11:Body >
    < ns1:updateTransferJobStatus xmlns:ns1='urn:gotoworkspaceTimeClock' >
      < clientconfig  /> 

    < tableRowID />
   < recordDetails /> 
  < / ns1:updateTransferJobStatus >
 < / s11:Body >
< / s11:Envelope >
 

and for  operation getPendingJobs corresponding soap request will be 


< s11:Envelope xmlns:s11='http://schemas.xmlsoap.org/soap/envelope/' >

     < s11:Body >
< ns1:getPendingJobs xmlns:ns1='urn:gotoworkspaceTimeClock'>
      < clientconfig />    

  < / ns1:getPendingJobs >  
 < / s11:Body >
< / s11:Envelope >