WsdlExporter Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Convertit les informations de service, de contrat et de point de terminaison en documents de métadonnées.
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
- Héritage
Exemples
L'exemple de code suivant montre comment utiliser la méthode ExportEndpoint pour générer un ensemble d'objets MetadataSection à partir des points de terminaison dans une collection d'objets ServiceEndpoint appelés 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
Remarques
Utilisez la classe WsdlExporter pour transformer des objets ContractDescription ou ServiceEndpoint en métadonnées représentées par des objets MetadataSection.
L'WsdlExporter est utilisé dans un processus en trois étapes.
Appelez la méthode ExportContract, ExportEndpoint ou ExportEndpoints, en passant les paramètres appropriés.
Déterminez s'il existe des erreurs d'exportation en vérifiant la propriété Errors de base.
En l’absence d’erreurs, utilisez les GetGeneratedMetadata pour obtenir une collection d’objets MetadataSection ou obtenir des versions plus spécifiques des métadonnées à l’aide des propriétés GeneratedWsdlDocuments ou GeneratedXmlSchemas.
Vous pouvez prendre en charge des extensions WSDL d’exportation personnalisées en implémentant l’interface IWsdlExportExtension et des assertions de stratégie personnalisées en implémentant l’interface IPolicyExportExtension. Pour plus d'informations, consultez la documentation relative à ces interfaces.
Notes
L'WsdlExporter
permet uniquement d'exporter des métadonnées à partir d'instances ContractDescription
qui contiennent des informations de type Common Language Runtime (CLR), telles qu'une instance ContractDescription
créée à l'aide de la méthode ContractDescription.GetContract
ou créée dans le cadre de la ServiceDescription
d'une instance ServiceHost
. Vous ne pouvez pas utiliser WsdlExporter
pour exporter des métadonnées à partir d'instances ContractDescription
importées depuis les métadonnées du service ou construites sans information de type.
Constructeurs
WsdlExporter() |
Initialise une nouvelle instance de la classe WsdlExporter. |
Propriétés
Errors |
Obtient une collection des erreurs qui se sont produites lors de l’exportation de métadonnées. (Hérité de MetadataExporter) |
GeneratedWsdlDocuments |
Obtient une collection d'objets ServiceDescription après avoir appelé l'une des méthodes d'exportation. |
GeneratedXmlSchemas |
Obtient un ensemble d'objets XmlSchema après avoir appelé l'une des méthodes d'exportation. |
PolicyVersion |
Spécifie la version de spécification WS-Policy utilisée. (Hérité de MetadataExporter) |
State |
Obtient un dictionnaire d'objets utilisés lors de l'exportation de métadonnées. (Hérité de MetadataExporter) |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
ExportContract(ContractDescription) |
Exporte des métadonnées qui ne décrivent que les informations de contrat de la description de contrat spécifiée. |
ExportEndpoint(ServiceEndpoint) |
Génère des métadonnées relatives au point de terminaison spécifié. |
ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName) |
Génère des métadonnées relatives à un groupe de points de terminaison à partir d'un service spécifié. |
ExportPolicy(ServiceEndpoint) |
Convertit des assertions de stratégie en objet PolicyConversionContext. (Hérité de MetadataExporter) |
GetGeneratedMetadata() |
Retourne une collection dénombrable d'objets MetadataSection générés. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |