org.apache.tools.ant.taskdefs.optional.dotnet

Class WsdlToDotnet

Implemented Interfaces:
Cloneable

public class WsdlToDotnet
extends Task

Converts a WSDL file or URL resource into a .NET language. Why add a wrapper to the MS WSDL tool? So that you can verify that your web services, be they written with Axis or anyone else's SOAP toolkit, work with .NET clients. This task is dependency aware when using a file as a source and destination; so if you <get> the file (with usetimestamp="true") then you only rebuild stuff when the WSDL file is changed. Of course, if the server generates a new timestamp every time you ask for the WSDL, this is not enough...use the <filesmatch> <condition> to to byte for byte comparison against a cached WSDL file then make the target conditional on that test failing. See "Creating an XML Web Service Proxy", "wsdl.exe" docs in the framework SDK documentation
Version:
0.5
Since:
Ant 1.5

Nested Class Summary

static class
WsdlToDotnet.Compiler
The enumerated values for our compiler
static class
WsdlToDotnet.Schema
nested schema class Only supported on NET until mono add multi-URL handling on the command line

Field Summary

static String
ERROR_DEST_FILE_IS_DIR
error message: dest file is a directory
static String
ERROR_NO_DEST_FILE
error message: no dest file
protected String
extraOptions
any extra command options?

Fields inherited from class org.apache.tools.ant.Task

target, taskName, taskType, wrapper

Fields inherited from class org.apache.tools.ant.ProjectComponent

description, location, project

Method Summary

void
addSchema(WsdlToDotnet.Schema source)
add a new source schema to the compilation
void
execute()
do the work by building the command line and then calling it
void
setCompiler(WsdlToDotnet.Compiler compiler)
identify the compiler
void
setDestFile(File destFile)
Name of the file to generate.
void
setExtraOptions(String extraOptions)
Any extra WSDL.EXE options which aren't explicitly supported by the ant wrapper task; optional
void
setFailOnError(boolean failOnError)
Whether or not a failure should halt the build.
void
setIdeErrors(boolean ideErrors)
Defines wether errors are machine parseable.
void
setLanguage(String language)
set the language; one of "CS", "JS", or "VB" optional, default is CS for C# source
void
setMakeURL(boolean b)
flag to trigger turning a filename into a file:url ignored for the mono compiler.
void
setNamespace(String namespace)
namespace to place the source in.
void
setProtocol(String protocol)
what protocol to use.
void
setServer(boolean server)
flag to enable server side code generation; optional, default=false
void
setSrcFile(File srcFile)
The local WSDL file to parse; either url or srcFile is required.
void
setUrl(String url)
Sets the URL to fetch.
protected void
validate()
validation code

Methods inherited from class org.apache.tools.ant.Task

bindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

Methods inherited from class org.apache.tools.ant.ProjectComponent

clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject

Field Details

ERROR_DEST_FILE_IS_DIR

public static final String ERROR_DEST_FILE_IS_DIR
error message: dest file is a directory

ERROR_NO_DEST_FILE

public static final String ERROR_NO_DEST_FILE
error message: no dest file

extraOptions

protected String extraOptions
any extra command options?

Method Details

addSchema

public void addSchema(WsdlToDotnet.Schema source)
add a new source schema to the compilation
Parameters:
source - a nested schema element.
Since:
Ant 1.7

execute

public void execute()
            throws BuildException
do the work by building the command line and then calling it
Overrides:
execute in interface Task
Throws:
BuildException - if validation or execution failed

setCompiler

public void setCompiler(WsdlToDotnet.Compiler compiler)
identify the compiler
Parameters:
compiler - the enumerated value.
Since:
Ant 1.7

setDestFile

public void setDestFile(File destFile)
Name of the file to generate. Required
Parameters:
destFile - filename

setExtraOptions

public void setExtraOptions(String extraOptions)
Any extra WSDL.EXE options which aren't explicitly supported by the ant wrapper task; optional
Parameters:
extraOptions - The new ExtraOptions value

setFailOnError

public void setFailOnError(boolean failOnError)
Whether or not a failure should halt the build. Optional - default is true.
Parameters:
failOnError - new failure option

setIdeErrors

public void setIdeErrors(boolean ideErrors)
Defines wether errors are machine parseable. Optional, default=true
Parameters:
ideErrors - a boolean value.
Since:
Ant 1.7

setLanguage

public void setLanguage(String language)
set the language; one of "CS", "JS", or "VB" optional, default is CS for C# source
Parameters:
language - language to generate

setMakeURL

public void setMakeURL(boolean b)
flag to trigger turning a filename into a file:url ignored for the mono compiler.
Parameters:
b - a boolean value.

setNamespace

public void setNamespace(String namespace)
namespace to place the source in. optional; default ""
Parameters:
namespace - new namespace

setProtocol

public void setProtocol(String protocol)
what protocol to use. SOAP, SOAP1.2, HttpPost and HttpGet are the base options. Different version and implementations may. offer different options.
Parameters:
protocol - the protocol to use.
Since:
Ant 1.7

setServer

public void setServer(boolean server)
flag to enable server side code generation; optional, default=false
Parameters:
server - server-side flag

setSrcFile

public void setSrcFile(File srcFile)
The local WSDL file to parse; either url or srcFile is required.
Parameters:
srcFile - WSDL file

setUrl

public void setUrl(String url)
Sets the URL to fetch. Fetching is by wsdl.exe; Ant proxy settings are ignored; either url or srcFile is required.
Parameters:
url - url to save

validate

protected void validate()
            throws BuildException
validation code
Throws:
BuildException - if validation failed