wsdl2aws(1) Generate stubs and skeletons for web services


wsdl2aws [options] URL


The Ada Web Server is a library that allows you to embed a web server into your Ada application. It provides not only HTTP but also SOAP, WSDL and several other facilities. Thus you can write full-fledged web applications.

WSDL (Web Service Definition Language) is a language based on XML. WSDL documents describe, in a formal way, the interface to Web Services. This description consists of the end-point (URL to the server offering the service), the SOAPAction (needed to call the remote procedure), the procedure names and a description of the input and output parameters.

Using wsdl2aws, you can create both the client and server sides of a Web Service. On both sides, the generated code handles marshalling and unmarshalling of parameters and return values, so you do not have to deal with SOAP directly.

The client side is an Ada package that contains stubs for the remote subprograms declared by the WSDL document. These stubs call the remote subprograms using SOAP.

The server side is another package consisting of skeleton implementations of these subprograms.

The URL points to the WSDL document to be processed.


Generate using Ada style names. For example `getPrice' will be converted to `Get_Price'. This formatting is done for packages, routines and formal parameters.

Generate a SOAP dispatcher callback routine for the server. This dispatcher routine contains the code to handle all the operations as described in the WSDL document. You need also to specify the -types option, see below.

Add CVS id tag in every generated file.

Handle document style binding as RPC ones. This is sometimes needed because some WSDL documents specify a document style binding even though it is really an RPC one.

Force creation of the file. Overwrite any exiting files with the same name.

-main filename
Specify the name of the server's procedure main to generate. If file filename.amt (Ada Main Template) is present, it uses this template file to generate the main procedure. The template can reference the following variable tags:

The name of the service as described into the WSDL document. This tag can be used to include the right units

           with @[email protected];
           with @[email protected];

The AWS SOAP version.

The AWS version.

The name of the generated unit. This is the name of the procedure that will be created.

     procedure @_UNIT_NAME_@ is

Do not generate skeletons, only stubs.

Do not generate stubs, only skeletons.

-o name
Specify the name of the local WSDL document. This option can be used only when using a Web WSDL document (i.e. passing an URL to wsdl2aws).

-pp password
User password for the proxy if proxy authentication required.

-proxy nameIP
Use this proxy to access the WSDL document and generate code to access to these Web Services via this proxy. The proxy can be specified by its DNS name or IP address.

-pu name
User name for the proxy if proxy authentication required.

Quiet mode (no output).

Skip non supported SOAP routines. By default, wsdl2aws exits with an error when a problem is found while parsing the WSDL document. This option is useful to skip routines using non supported types and still be able to compile the generated files.

-types spec
Specify the name of the spec containing the Ada implementation of the SOAP routines. This is used for example by the -cb option above to instantiate all the server side SOAP callbacks used by the main SOAP dispatcher routine.

Verbose mode, display the parsed spec.

-v -v
Verbose mode, display the parsed spec and lots of information while parsing the WSDL document.

Add WSDL document as comment into the generated root unit.


wsdl2aws was written by Dmitriy Anisimkov <[email protected]> and Pascal Obry <[email protected]> as part of the Ada Web Server.

This manual page was written by Ludovic Brenta <[email protected]> for Debian GNU/Linux.