次の方法で共有


WsdlExporter クラス

定義

サービス、コントラクト、およびエンドポイントの情報を、メタデータ ドキュメントに変換します。

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
継承
WsdlExporter

ExportEndpoint メソッドを使用して、MetadataSection と呼ばれる ServiceEndpoint オブジェクトのコレクション内のエンドポイントから一連の 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

注釈

WsdlExporter クラスを使用して、ContractDescription または ServiceEndpoint オブジェクトを、MetadataSection オブジェクトによって表されるメタデータに変換します。

WsdlExporter は、3 つの手順からなるプロセスで使用されます。

  1. ExportContract メソッド、ExportEndpoint メソッド、ExportEndpoints メソッドのいずれかを、適切なパラメーターを指定して呼び出します。

  2. 基本の Errors プロパティを調べて、エクスポート エラーがあるかどうかを判断します。

  3. エラーがない場合は、GetGeneratedMetadata を使用して、MetadataSection オブジェクトのコレクションを取得するか、GeneratedWsdlDocuments または GeneratedXmlSchemas プロパティを使用して、メタデータの具体的なバージョンを取得します。

IWsdlExportExtension インターフェイスを実装することによってカスタム WSDL 拡張のエクスポートをサポートできます。また、IPolicyExportExtension インターフェイスを実装することによってカスタム ポリシー アサーションのエクスポートをサポートできます。 詳細については、それぞれのインターフェイスのドキュメントを参照してください。

注意

WsdlExporter は、ContractDescription メソッドを使用するか、ContractDescription インスタンスの ContractDescription.GetContract の一部として作成された ServiceDescription インスタンスなど、共通言語ランタイム (CLR) の型情報を含む ServiceHost インスタンスからメタデータをエクスポートする場合にのみ使用できます。 WsdlExporter インスタンスをサービス メタデータからインポートした場合や、型情報を使用せずに作成した場合は、ContractDescription を使用してメタデータをエクスポートできません。

コンストラクター

WsdlExporter()

WsdlExporter クラスの新しいインスタンスを初期化します。

プロパティ

Errors

メタデータのエクスポート中に発生したエラーのコレクションを取得します。

(継承元 MetadataExporter)
GeneratedWsdlDocuments

エクスポート メソッドの 1 つを呼び出した後で、ServiceDescription オブジェクトのコレクションを取得します。

GeneratedXmlSchemas

エクスポート メソッドの 1 つを呼び出した後で、一連の XmlSchema オブジェクトを取得します。

PolicyVersion

使用する WS-Policy 仕様のバージョンを指定します。

(継承元 MetadataExporter)
State

メタデータのエクスポートで使用するオブジェクトのディクショナリを取得します。

(継承元 MetadataExporter)

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
ExportContract(ContractDescription)

指定したコントラクトの説明から、コントラクト情報のみを記述するメタデータをエクスポートします。

ExportEndpoint(ServiceEndpoint)

指定したエンドポイントについてのメタデータを生成します。

ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName)

指定したサービスから、エンドポイントのグループについてのメタデータを生成します。

ExportPolicy(ServiceEndpoint)

ポリシー アサーションを PolicyConversionContext オブジェクトに変換します。

(継承元 MetadataExporter)
GetGeneratedMetadata()

生成された MetadataSection オブジェクトの列挙可能なコレクションを返します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象