[AWS] AWS - WSDL - SOAP

Pascal Obry p.obry@wanadoo.fr
Thu, 18 Sep 2003 19:11:28 +0200


Patrice,

 > What is the current status of web service support for AWS ?

Current AWS version is 1.3. Web Services are supported (there is some bugs for
sure that we have fixed in 1.4w) on this version.

 > I've read that WSDL and Webservice support will be added to the new AWS 1.4 
 > release ?

Yes, the work is completed at this point. Basically there is a new tool (and
associated support library) named wsdl2aws. This tool can be used to generate
stub/skeleton from a WSDL document. For example, let's say you want to use the
Google SOAP API, you can do:

   $ [10] wsdl2aws -noskel http://api.google.com/GoogleSearch.wsdl

Service GoogleSearchService
   
   > doGetCachedPage  urn:GoogleSearchAction
   > doSpellingSuggestion  urn:GoogleSearchAction
   > doGoogleSearch  urn:GoogleSearchAction


This will create all the files needed to call this SOAP service (quite complex
and I can tell you that it has been quite chalanging to support this WSDL
document :), from there you don't have to "mess" with the SOAP world, for
example here is an except of the client spec files:

<<
with GoogleSearchService.Types;

package GoogleSearchService.Client is

   use GoogleSearchService.Types;

   function doGetCachedPage
     (key : in String;
      url : in String)
      return String;
   --  Raises SOAP.SOAP_Error if the procedure fails

   function doSpellingSuggestion
     (key    : in String;
      phrase : in String)
      return String;
   --  Raises SOAP.SOAP_Error if the procedure fails

   function doGoogleSearch
     (key        : in String;
      q          : in String;
      start      : in Integer;
      maxResults : in Integer;
      filter     : in Boolean;
      restrict   : in String;
      safeSearch : in Boolean;
      lr         : in String;
      ie         : in String;
      oe         : in String)
      return doGoogleSearch_Result;
   --  Raises SOAP.SOAP_Error if the procedure fails

end GoogleSearchService.Client;
>>

The body is more complex, and I won't talk about the GoogleSearchService.Types
child package which contains all the code to decode/encode types between the
Ada and SOAP world. 

 > How can we contribute this part ?
 > I have a general knownledge about WebServices specifications.

As you have seen this is already done. What is missing is a tool (based on
ASIS) to generate a WSDL document from an Ada spec. But this will not be
part of AWS 1.4, I also expect this to be quite complex, I'm not even sure it
is possible. But let's not enter into the technical details :)

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595