方法 : メタデータをサービス エンドポイントにインポートする
このトピックでは、メタデータをサービス エンドポイントのコレクションにインポートし、「Getting Started Sample」に定義されているサービスを使用する方法について説明します。また、サービスからメタデータをインポートし、次にそのサービスに対して Add メソッドを呼び出すクライアント アプリケーションを作成する方法についても説明します。
メタデータをサービス エンドポイントにインポートするには
EndpointAddress オブジェクトを定義し、サービスの metadata exchange (MEX) アドレスの URI (Uniform Resource Identifier) を使ってそのオブジェクトを初期化します。
MetadataExchangeClient を作成し、MEX アドレスを渡して GetMetadata を呼び出します。これにより、メタデータをサービスから取得します。
WsdlImporter を作成し、前に取得したメタデータを渡して ImportAllContracts を呼び出します。これにより、ContractDescription オブジェクトのコレクションを生成します。必要に応じて、ImportAllEndpoints または ImportAllBindings を呼び出すこともできます。
メモ : メタデータのインポートが完了すると、クライアント チャネルの作成もメタデータのエクスポートもできなくなります。これは、この時点で型情報を使用できないためです。型情報は、サービスと実際に対話する場合またはメタデータをエクスポートする場合に必要です。型情報を生成するには、コードを生成する必要があります。これについては、手順 4. ~ 5. で説明します。別の方法として、MetadataResolver ヘルパー クラスを使用することもできます。詳細な情報については、次のページを参照してください。 「方法 : MetadataResolver を使用してバインディング メタデータを動的に取得する」を参照してください。 各コントラクトに型情報を生成します。
これで、この情報を使用できます。次の例では、C# ソース コードが生成されます。