Compartilhar via


WsdlExporter Classe

Definição

Converte informações de serviço, contrato e ponto de extremidade em documentos de metadados.

public ref class WsdlExporter : System::ServiceModel::Description::MetadataExporter
public class WsdlExporter : System.ServiceModel.Description.MetadataExporter
type WsdlExporter = class
    inherit MetadataExporter
Public Class WsdlExporter
Inherits MetadataExporter
Herança
WsdlExporter

Exemplos

O exemplo de código a seguir mostra como usar o ExportEndpoint método para gerar um conjunto de MetadataSection objetos dos pontos de extremidade em uma coleção de ServiceEndpoint objetos chamados myServiceEndpoints.

using System;
using System.ServiceModel;
using System.ServiceModel.Description;

namespace WsdlExporterSample
{
    class Program
    {
        static void Main(string[] args)
        {
            WsdlExporter exporter = new WsdlExporter();
            exporter.PolicyVersion = PolicyVersion.Policy15;

            ServiceEndpoint [] myServiceEndpoints = new ServiceEndpoint[2];
            ContractDescription myDescription = new ContractDescription ("myContract");
            myServiceEndpoints[0] = new ServiceEndpoint(myDescription,new BasicHttpBinding(),new EndpointAddress("http://localhost/myservice"));
            myServiceEndpoints[1] = new ServiceEndpoint(myDescription,new BasicHttpBinding(),new EndpointAddress("http://localhost/myservice"));

            // Export all endpoints for each endpoint in collection.
            foreach (ServiceEndpoint endpoint in myServiceEndpoints)
            {
                exporter.ExportEndpoint(endpoint);
            }
            // If there are no errors, get the documents.
            MetadataSet metadataDocs = null;
            if (exporter.Errors.Count != 0)
            {
                metadataDocs = exporter.GetGeneratedMetadata();
            }
        }
    }
}
Imports System.ServiceModel
Imports System.ServiceModel.Description

Module Module1

    Sub Main()
        Dim exporter As New WsdlExporter()
        exporter.PolicyVersion = PolicyVersion.Policy15

        Dim myServiceEndpoints() As ServiceEndpoint = New ServiceEndpoint(1) {}
        Dim myDescription As New ContractDescription("myContract")
        myServiceEndpoints(0) = New ServiceEndpoint(myDescription, New BasicHttpBinding(), New EndpointAddress("http://localhost/myservice"))
        myServiceEndpoints(1) = New ServiceEndpoint(myDescription, New BasicHttpBinding(), New EndpointAddress("http://localhost/myservice"))

        'Export all endpoints for each endpoint in collection.
        For Each endpoint As ServiceEndpoint In myServiceEndpoints
            exporter.ExportEndpoint(endpoint)
        Next

        'If there are no errors, get the documents.
        Dim metadataDocs As MetadataSet
        metadataDocs = Nothing

        If (exporter.Errors.Count = 0) Then
            metadataDocs = exporter.GetGeneratedMetadata()
        End If
    End Sub

End Module

Comentários

Use a WsdlExporter classe para transformar ContractDescription ou ServiceEndpoint objetos em metadados representados por MetadataSection objetos.

O WsdlExporter é usado em um processo de três etapas.

  1. Chame o ExportContractmétodo, ExportEndpointou ExportEndpoints passe os parâmetros apropriados.

  2. Determine se há erros de exportação verificando a propriedade base Errors .

  3. Se não houver erros, use a GetGeneratedMetadata para obter uma coleção de MetadataSection objetos ou obter versões mais específicas dos metadados usando as propriedades ou GeneratedXmlSchemas as GeneratedWsdlDocuments propriedades.

Você pode dar suporte à exportação de extensões WSDL personalizadas implementando a interface e as IWsdlExportExtension declarações de política personalizadas implementando a IPolicyExportExtension interface. Para obter detalhes, consulte a documentação dessas interfaces.

Observação

WsdlExporter pode ser usado para exportar metadados de ContractDescription instâncias que contêm informações de tipo CLR (Common Language Runtime), como uma ContractDescription instância criada usando o ContractDescription.GetContract método ou criada como parte de ServiceDescription uma ServiceHost instância. Você não pode usar os WsdlExporter metadados para exportar de ContractDescription instâncias importadas de metadados de serviço ou construídas sem informações de tipo.

Construtores

WsdlExporter()

Inicializa uma nova instância da classe WsdlExporter.

Propriedades

Errors

Obtém uma coleção de erros ocorridos durante a exportação de metadados.

(Herdado de MetadataExporter)
GeneratedWsdlDocuments

Obtém uma coleção de objetos ServiceDescription depois de chamar um dos métodos de exportação.

GeneratedXmlSchemas

Obtém um conjunto de objetos XmlSchema depois de chamar um dos métodos de exportação.

PolicyVersion

Especifica a versão da especificação WS-Policy que está sendo usada.

(Herdado de MetadataExporter)
State

Obtém um dicionário de objetos usados na exportação de metadados.

(Herdado de MetadataExporter)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExportContract(ContractDescription)

Exporta os metadados que descrevem apenas as informações de contrato da descrição de contrato especificada.

ExportEndpoint(ServiceEndpoint)

Gera metadados sobre o ponto de extremidade especificado.

ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName)

Gera metadados sobre um grupo de pontos de extremidade de um serviço especificado.

ExportPolicy(ServiceEndpoint)

Converte as declarações de política em um objeto PolicyConversionContext.

(Herdado de MetadataExporter)
GetGeneratedMetadata()

Retorna uma coleção enumerável de objetos MetadataSection gerados.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a