soapsuds man page

soapsuds — Mono's Remoting Proxy Generator


soapsuds [options] [inputs] [outputs]


soapsuds is a tool for generating WSDL documents and client proxies for remoting services. A WSDL document describes the methods that a service provides together with XML schemas of all referenced data structures. A client proxy is a class which offers the same methods as the service it represents, but provides no implementation, it just forwards calls to the remote service.

Generated client proxies are not strictly necessary, since the runtime can automatically generate proxies from the original service types. However, it implies the need of distributing the service class to all clients. In some scenarios a better approach is to use soapsuds to generate a proxy class which has the same interface as the service,  but without any implementation.

soapsuds can generate a WSDL document from a set of types specified with the option -types or can extract the types from an assembly specified with -inputassemblyfile. In this last case, soapsuds will include schemas for all serializable classes in  the WSDL document.

Taking as input a WSDL document (or anything from which such document can be generated) the tool can generate source code for the client proxy (using the -gc option) or it can directly generate an assembly that implements the proxy (with the -outputassemblyfile option). soapsuds will also generate fake serializable classes for all types defined in the schema. However, beware that those classes will lack the semantics of the original classes, since only data structure is generated.

Input Sources

The following sources are available (only one can be specified):

-urltoschema:url -url:url

Url from which to retrieve the WSDL document.


Specifies types for which to generate a schema or proxy. If no service endpoint is provided, the one provided with the -serviceendpoint option is used.

-inputassemblyfile:file , -ia:file

Assembly that contains the types to export.

-inputschemafile:schena , -is:schema

Schema from which to generate proxy classes.

Input Options

The following options are available:

-inputdirectory:directory , -id:directory

Directory where DLLs are located.

-serviceendpoint:url , -se:url

Url of the service to be placed in the WSDL document.


The following output options are available (more than one can be specified):

-outputassemblyfile:file , -oa:file

Generates the proxy code and compiles it into an assembly with the provided name.

-outputschemafile:file , -os:file

Generates a WSDL document that represents the provided types.

-generatecode , -gc

Generates proxy source code for the provided WSDL document or types.

Output Options

The following options are available:

-outputdirectory:directory , -od:directory

Directory where generated files will be placed.

-proxynamespace:namespace , -pn:namespace

Namespace of the generated proxy.

-nowrappedproxy , -nowp

Do not generate a wrapped proxy.

-wrappedproxy , -wp

Generate a wrapped proxy.

-strongnamefile:file , -sn:file

Strong name file.

General Options

The following options are available:

Supress the startup logo.

-u:username , -user:username

The user name to use when connecting to the server.

-p:password , -password:password

The password to use when connecting to the server.

-d:domain , -domain:domain

The domain to use when connecting to the server.

-httpproxyname:name , -hpn:name

Name of the http proxy.

-httpproxyport:port , -hpp:port

Port of the http proxy.


Lluis Sanchez Gual (


wsdl is released under the terms of the GNU GPL.

See Also

wsdl(1), disco(1), mono(1), mcs(1)

Referenced By

disco(1), wsdl(1), xsd(1).