アダプターの開発中、または LOB システムから返されるメタデータが変更された場合、多くの場合、アダプターから返される Web サービス記述言語 (WSDL) を表示して、操作のメタデータが正しく生成されていることを確認すると便利です。 WSDL を生成するには、いくつかの方法があります。 このトピックでは、svcutil.exe およびメタデータ検索参照コントロールの使用について説明します。
svcutil.exe を使用する
Svcutil.exe は、URL とオプションのスイッチを受け入れ、WSDL を返す Windows SDK に付属のコマンド ライン ユーティリティです。 svcutil.exe を使用してエコー アダプターの WSDL を返す例を次に示します。
Svcutil.exe “echov2://lobhostname/lobapplication?enableAuthentication=False” /target:metadata
これにより、メタデータが Microsoft.Adapters.Samples.Echov2.wsdl として保存されます。 アダプターに多数の操作がある場合は、URI の一部として 'op=OperationName' を使用して、目的の操作のみを返すように選択できます。 これを使用して EchoStrings 情報のみを返す例を次に示します。
SvcUtil.exe “echov2://lobhostname/lobapplication?enableAuthentication=False&op=Echo/EchoStrings” /target:metadata
メタデータ検索参照コントロールを使用する
メタデータ検索参照コントロールは、WCF LOB アダプター SDK に含まれるウィザードで使用される Windows コントロールです。 このコントロールを Visual Studio の任意の Windows フォーム プロジェクトに追加し、それを使用してアダプター、目的の操作を選択し、WSDL を生成できます。
Visual Studio コマンド プロンプトを開きます。
[ ファイル ] メニューの [ 新規作成] を選択し、[ プロジェクト] をクリックします。
[ 新しいプロジェクト ] ダイアログ ボックスで、[テンプレート] から [Windows アプリケーション ] を選択 します。 プロジェクト名を入力し、[OK] をクリック します。
ツールボックスを開き、[共通コントロール] を展開し、[ツールボックス] を右クリックして、[項目の選択] をクリックします。
[ツールボックス項目の選択] ダイアログ ボックスの [.NET Framework コンポーネント] タブで MetadataUserControl を見つけ、この項目の横にあるチェック ボックスをオンにして、[OK] をクリックします。
ツールボックスから MetadataUserControl を Form1 にドラッグします。 場合によっては、コントロール全体を表示するためにフォームのサイズを変更する必要があります。 プロジェクトを今すぐ実行し、コントロールが機能していることを確認して、アダプターと操作を選択できるようにする必要があります。
このコントロールを使用して WSDL を生成するには、このコントロールの GetWsdl メソッドを呼び出すコードをフォームに追加する必要があります。 次の例では、 GetWsdl を呼び出してデータをファイルに保存する方法を示します。
private void button1_Click(object sender, EventArgs e) { ServiceDescription sd = mdUserControl.GetWsdl(); FileStream myFileStream = new FileStream(tbWsdlFileName.Text, FileMode.OpenOrCreate, FileAccess.Write); StreamWriter myStreamWriter = new StreamWriter(myFileStream); sd.Write(myStreamWriter); myStreamWriter.Flush(); myStreamWriter.Close(); MessageBox.Show("WSDL file " + tbWsdlFileName.Text + " is created."); }