Soapsuds Tool (Soapsuds.exe)
The Soapsuds tool helps you compile client applications that communicate with XML Web services using a technique called remoting. Soapsuds.exe performs the following functions:
- It creates XML schemas describing services exposed in a common language runtime assembly.
- It creates runtime assemblies to access services described by XML schemas. A schema definition can be a local file or it can be dynamically downloaded from the Internet.
soapsuds {-url:schemaUrl | -types:type1,assemblyname[,serviceEndpoint]
[;type2,assemblyname][...]] | -is:schemafile | -ia:assemblyfile} [options]
Option | Description |
---|---|
-domain:domain
or -d:domain |
Specifies the domain name to use when connecting to a server that requires a domain name for authentication. |
-generatecode
or -gc |
Generates code. This option is equivalent to using -od:., where the additional period indicates that the code should be placed in the current directory. |
-httpproxyname:name
or -hpn:name |
Specifies the HTTP proxy name to use when connecting to a server through an HTTP proxy server. |
-httpproxyport:number
or -hpp:number |
Specifies the HTTP proxy port number to use when connecting to a server through an HTTP proxy server. |
-inputassemblyfile: assemblyfile
or -ia:assemblyfile |
Specifies the input assembly file. The tool imports all types from the assembly. When you specify an input assembly, do not include the .exe or .dll extension. |
-inputdirectory:directory
or -id:directory |
Specifies the directory location of input dynamic link library (DLL) files. |
-inputschemafile:schemafile
or -is:schemafile |
Specifies the input XML schema file. |
-nowrappedproxy
or -nowp |
Does not create a wrapped proxy. If you do not specify this option, the tool creates a wrapped proxy by default. |
-outputassemblyfile:assemblyfile
or -oa:assemblyfile |
Saves output to the specified assembly file. Soapsuds.exe always generates source code when it generates an assembly. |
-outputdirectory:outputdirectory
or -od:outputdirectory |
Saves output to the specified output directory. |
-outputschemafile:schemafile
or -os:schemafile |
Saves output to the specified XML schema file. |
-password:password
or -p:password |
Specifies the password to use when connecting to a server that requires authentication. |
-proxynamespace:namespace
or -pn |
Specifies the namespace for the code in the generated proxy. Use this option only for interop namespaces. |
-sdl | Generates service description language (SDL) schema. If you do not specify this option, the tool generates Web Services Description Language (WSDL) schema. For more information on SDL, see the Web Service Description topic. |
-serviceendpoint:URL
or -se:URL |
Specifies the URL or the path to the URL for the service endpoint to place in the WSDL file. |
-strongnamefile:filename
or -sn:filename |
Signs the assembly being generated with the key pair found in filename. You can generate this file using the Strong Name Tool (Sn.exe). |
-types: type1,assemblyname[,serviceEndpoint] [;type2,assemblyname[,serviceEndpoint]] [...] | Specifies the input type list. |
-urltoschema:schemaURL
or -url:schemaURL |
Specifies the URL from which to retrieve the XML schema. |
-username:username
or -u:username |
Specifies the user name to use when connecting to a server that requires authentication. |
-wrappedproxy
or -wp |
Creates a wrapped proxy. This is the default. |
-wsdl | Generates WSDL schema. This is the default. For more information see the Web Service Description topic. |
Remarks
Follow these steps to access an XML Web service from your client application:
- Download the XML schema for the XML Web service. (The tool's -urltoschema option allows you to reference this directly by its URL.) An XML Web service generates these schema files automatically when it publishes the XML Web service.
- Convert the XML schema into a run-time assembly using Soapsuds.exe. The tool always generates source code when it generates an assembly.
- Reference this assembly in your client application when you compile the application. You must also set up remoting so that your application recognizes the types in these assemblies as proxies to XML Web services. For more information, see the .NET Remoting Overview.
Examples
The following command downloads a schema from a URL and saves it to an XML file.
soapsuds -url:https://localhost/Service/MyService.soap?wsdl
-os:MyService.xml
The following command downloads a schema from a URL and generates code.
soapsuds -url:https://localhost/Service/MyService.soap?wsdl -gc
The following command downloads a schema from a URL, saves it to a file, and generates code.
soapsuds -url:https://localhost/Service/MyService.soap?wsdl
-os:StockQuote.xml -gc
The following command downloads a schema from a URL, generates code, compiles, and generates an assembly.
soapsuds -url:https://localhost/Service/MyService.soap?wsdl
-oa:StockQuote.dll
The following command converts a type to a schema and saves it to a file.
soapsuds -types:MyClass.MyMethod,Service -os:StockQuote.xml
The following command converts a type to a schema and generates code.
soapsuds -types:MyClass.MyMethod,Service -gc
The following command converts a type to a schema, saves it to a file, and generates code.
soapsuds -types:MyClass.MyMethod,Service -os:MyService.xml -gc
See Also
.NET Framework Tools | .NET Remoting Overview | Strong Name Tool (Sn.exe) | Web Services Overview | Web Services Description Language Tool (Wsdl.exe) | Web Services Discovery Tool (Disco.exe)