WsdlExporter Classe

Definição

Converte informações de serviço, contrato e endpoint 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 seguinte exemplo de código mostra como usar o ExportEndpoint método para gerar um conjunto de MetadataSection objetos a partir dos pontos finais numa coleção de ServiceEndpoint objetos chamada 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

Observações

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

O WsdlExporter é utilizado num processo de três etapas.

  1. Chame o ExportContract, ExportEndpoint, ou ExportEndpoints método, passando os parâmetros apropriados.

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

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

Pode suportar a exportação de extensões WSDL personalizadas implementando a IWsdlExportExtension interface e asserções de políticas personalizadas implementando a IPolicyExportExtension interface. Para mais detalhes, consulte a documentação dessas interfaces.

Note

WsdlExporter podem ser usados para exportar metadados de ContractDescription instâncias que contenham informação do tipo Common Language Runtime (CLR), como uma ContractDescription instância criada usando o ContractDescription.GetContract método ou criada como parte do ServiceDescription for uma ServiceHost instância. Não é possível usar o WsdlExporter para exportar metadados de instâncias importadas de metadados de serviço ou construídas sem informações de ContractDescription tipo.

Construtores

Name Description
WsdlExporter()

Inicializa uma nova instância da WsdlExporter classe.

Propriedades

Name Description
Errors

Recebe uma coleção de erros que ocorreram durante a exportação dos metadados.

(Herdado de MetadataExporter)
GeneratedWsdlDocuments

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

GeneratedXmlSchemas

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

PolicyVersion

Especifica a versão da especificação WS-Policy utilizada.

(Herdado de MetadataExporter)
State

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

(Herdado de MetadataExporter)

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExportContract(ContractDescription)

Exporta metadados que descrevem apenas a informação do contrato da descrição do contrato especificada.

ExportEndpoint(ServiceEndpoint)

Gera metadados sobre o endpoint especificado.

ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName)

Gera metadados sobre um grupo de endpoints a partir de um serviço especificado.

ExportPolicy(ServiceEndpoint)

Converte asserções de política em objeto PolicyConversionContext .

(Herdado de MetadataExporter)
GetGeneratedMetadata()

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

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a