# <wsdl>

[This is preliminary documentation and subject to change.]

Generates code for web service clients and xml web services using ASP.NET from WSDL contract files, XSD Schemas and .discomap discovery documents. Can be used in conjunction with .disco files.

### Parameters

Attribute | Type | Description | Required
--- | --- | --- | ---
baseurl | string | Base Url to use when calculating the Url fragment. The UrlKey attribute must also be specified. | False
domain | string | Domain of an account with credentials to access a server that requires authentication. | False
forserver | bool | Compiles server-side ASP.NET abstract classes based on the web service contract. The default is to create client side proxy classes. | False
language | string | Language of generated code. 'CS', 'VB', 'JS', or the fully-qualified name of a class implementing System.CodeDom.Compiler.CodeDomCompiler. | False
namespace | string | Microsoft.NET namespace of generated classes. | False
nologo | bool | Suppresses the banner. | False
outfile | string | Output filename of the created proxy. Default name is derived from the service name. | False
password | string | Password of an account with credentials to access a server that requires authentication. | False
path | string | URL or Path to a WSDL, XSD, or .discomap document. | False
protocol | string | Override default protocol to implement. Choose from 'SOAP', 'HttpGet', 'HttpPost', or a custom protocol as specified in the configuration file. | False
proxy | string | URL of a proxy server to use for HTTP requests. The default is to use the system proxy setting. | False
proxydomain | string | Domain of an account with credentials to access a proxy that requires authentication. | False
proxypassword | string | Password of an account with credentials to access a proxy that requires authentication. | False
proxyusername | string | Username of an account with credentials to access a proxy that requires authentication. | False
urlkey | string | Configuration key to use in the code generation to read the default value for the Url property. The default is not to read from the config file. | False
username | string | Username of an account with credentials to access a server that requires authentication. | False
failonerror | bool | Determines if task failure stops the build, or is just reported. The default is true. | False
if | bool | If true then the task will be executed; otherwise, skipped. The default is true. | False
timeout | int | The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. | False
unless | bool | Opposite of `if`. If false then the task will be executed; otherwise, skipped. The default is false. | False
verbose | bool | Determines whether the task should report detailed build log messages. The default is false. | False

### Framework-configurable parameters

Attribute | Type | Description | Required
--- | --- | --- | ---
exename | string | The name of the executable that should be used to launch the external program. | False
useruntimeengine | bool | Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. | False

### Nested Elements:

#### <arg>

The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the `line` parameter, which is always passed as is.

### Parameters

Attribute | Type | Description | Required
--- | --- | --- | ---
dir | directory | The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. | False
file | file | The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. | False
if | bool | Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. | False
line | string | List of command-line arguments; will be passed to the executable as is. | False
path | <path> | The value for a PATH-like command-line argument; you can use `:` or `;` as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. | False
unless | bool | Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. | False
value | string | A single command-line argument; can contain space characters. | False

### Nested Elements:

#### <path>

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

#### </path>

### Examples

- A single command-line argument containing a space character.

      <arg value="-l -a" />

- Two separate command-line arguments.

      <arg line="-l -a" />

- A single command-line argument with the value `\dir;\dir2;\dir3` on DOS-based systems and `/dir:/dir2:/dir3` on Unix-like systems.

      <arg path="/dir;/dir2:\dir3" />

#### </arg>

### Examples

- Generate a proxy class for a web service.

      <wsdl path="http://www.somewhere.com/myservice.wsdl"
                      language="CS" namespace="MyCompany.MyService" outfile="MyService.cs" />

### Requirements

Assembly: NAnt.Contrib.Tasks (0.93.5002.0)