WebReference Class
TOC
Collapse the table of content
Expand the table of content

WebReference Class

 

Describes a reference to a collection of XML Web services.

Namespace:   System.Web.Services.Description
Assembly:  System.Web.Services (in System.Web.Services.dll)

System.Object
  System.Web.Services.Description.WebReference

public sealed class WebReference

NameDescription
System_CAPS_pubmethodWebReference(DiscoveryClientDocumentCollection, CodeNamespace)

Initializes a new instance of the WebReference class with the given description document collection and proxy code namespace.

System_CAPS_pubmethodWebReference(DiscoveryClientDocumentCollection, CodeNamespace, String, String)

Initializes a new instance of the WebReference class with the given data.

System_CAPS_pubmethodWebReference(DiscoveryClientDocumentCollection, CodeNamespace, String, String, String)

Initializes a new instance of the WebReference class with the given data.

NameDescription
System_CAPS_pubpropertyAppSettingBaseUrl

Gets the base URL of the Web reference.

System_CAPS_pubpropertyAppSettingUrlKey

Gets the URL key of the web reference.

System_CAPS_pubpropertyDocuments

Gets the collection of description documents associated with the Web reference.

System_CAPS_pubpropertyProtocolName

Gets or sets the protocol associated with the Web reference.

System_CAPS_pubpropertyProxyCode

Gets the code namespace associated with the Web reference.

System_CAPS_pubpropertyValidationWarnings

Gets a collection of warnings generated when validating the description documents.

System_CAPS_pubpropertyWarnings

Gets a collection of warnings generated when importing Web Services Description Language (WSDL) service description documents.

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

A WebReference object is used to pass information about a set of Web services to the static GenerateWebReferences method of the ServiceDescriptionImporter class.

The following code example illustrates the use of this class.

using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.Security.Permissions;
using System.Web.Services;
using System.Web.Services.Description;
using System.Web.Services.Discovery;
using System.Xml;
using System.Xml.Serialization;

class Test
{

    [SecurityPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
    static void Run(){

   // Get a WSDL file describing a service.
        ServiceDescription description = ServiceDescription.Read("DataTypes_CS.wsdl");

    // Initialize a service description importer.
    ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
    importer.ProtocolName = "Soap12";  // Use SOAP 1.2.
    importer.AddServiceDescription(description,null,null);

    // Report on the service descriptions.
    Console.WriteLine("Importing {0} service descriptions with {1} associated schemas.",
                      importer.ServiceDescriptions.Count, importer.Schemas.Count);

    // Generate a proxy client.
    importer.Style = ServiceDescriptionImportStyle.Client;

    // Generate properties to represent primitive values.
    importer.CodeGenerationOptions = System.Xml.Serialization.CodeGenerationOptions.GenerateProperties;

    // Initialize a Code-DOM tree into which we will import the service.
    CodeNamespace nmspace = new CodeNamespace();
    CodeCompileUnit unit1 = new CodeCompileUnit();
    unit1.Namespaces.Add(nmspace);

    // Import the service into the Code-DOM tree. This creates proxy code
    // that uses the service.
    ServiceDescriptionImportWarnings warning = importer.Import(nmspace, unit1);

    if (warning == 0)
    {
        // Generate and print the proxy code in C#.
        CodeDomProvider provider1 = CodeDomProvider.CreateProvider("CSharp");
        provider1.GenerateCodeFromCompileUnit(unit1, Console.Out, new CodeGeneratorOptions());
    }
    else
    {
        // Print an error message.
        Console.WriteLine("Warning: " + warning); 
    }


        string url = "AddNumbers.wsdl";

        // Read in a WSDL service description.
        XmlTextReader reader = new XmlTextReader(url);
        ServiceDescription wsdl = ServiceDescription.Read(reader);

        // Create a WSDL collection.
        DiscoveryClientDocumentCollection wsdlCollection = new DiscoveryClientDocumentCollection();
        wsdlCollection.Add(url, wsdl);

        // Create a namespace and a unit for compilation.
        CodeNamespace space = new CodeNamespace();
        CodeCompileUnit unit = new CodeCompileUnit();
        unit.Namespaces.Add(space);

        // Create a web referernce using the WSDL collection.
        WebReference reference = new WebReference(wsdlCollection, space);
        reference.ProtocolName = "Soap12";

        // Print some information about the web reference.
        Console.WriteLine("Base Url = {0}", reference.AppSettingBaseUrl);
        Console.WriteLine("Url Key = {0}", reference.AppSettingUrlKey);
        Console.WriteLine("Documents = {0}", reference.Documents.Count);

        // Create a web reference collection.
        WebReferenceCollection references = new WebReferenceCollection();
        references.Add(reference);

        // Compile a proxy client and print out the code. 
        CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
        WebReferenceOptions options = new WebReferenceOptions();
        options.Style = ServiceDescriptionImportStyle.Client;
        options.CodeGenerationOptions = CodeGenerationOptions.GenerateNewAsync;
        ServiceDescriptionImporter.GenerateWebReferences(
            references,
            provider,
            unit,
            options        
        );
        provider.GenerateCodeFromCompileUnit(unit, Console.Out, new CodeGeneratorOptions() );          

    }

    static void Main ()
    {

        Test.Run();


    }
}

.NET Framework
Available since 2.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show:
© 2016 Microsoft