次の方法で共有


静的アダプターの IStaticAdapterConfig インターフェイス

静的デザイン時アダプターは 、IStaticAdapterConfig インターフェイスを実装する必要があります。 このインターフェイスによって、アダプター メタデータの追加ウィザードが利用可能になり、アダプターからサービス組織や個々のサービスの説明を取得できます。 ウィザードは 、GetServiceOrganization メソッドと GetServiceDescription メソッドを呼び出して、アダプターが対話するメタデータ情報を取得し、Visual Studio の BizTalk プロジェクトに追加します。

GetServiceOrganization メソッドは、アダプターの公開されているサービスの階層organizationを表す XML インスタンス ドキュメントを取得します。 この構造により、アダプター メタデータの追加ウィザードの [インポートするサービスの選択] ページに表示されるサービス organization ツリーが生成されます。

インポートするサービスを選択すると、 ウィザードは GetServiceDescription メソッドを呼び出して、アダプター メタデータの追加ウィザード ツリーで選択されたサービス カテゴリに対応する Web サービス記述言語 (WSDL) ファイルの配列を取得します。 アダプター メタデータの追加ウィザードの完了後、サービスを表すスキーマが XSD ファイルとして生成され、BizTalk プロジェクトに追加されます。

ファイル アダプターのサンプルでは、 GetServiceOrganization メソッドと GetServiceDescription メソッドは、AdapterManagement.cs クラス ファイルの StaticAdapterManagement クラスに存在します。 ウィザードは GetServiceOrganization メソッドを呼び出して、[ インポートするサービスの選択 ] ページに表示するツリー構造を取得します。 GetServicesOrganization では、次のコード フラグメントに示すように、AdapterManagement.CategorySchema.xml ファイルのハードコーディングされた戻り値が使用されます。 アダプター開発者は、適切な XML ファイルを返すためのロジックを追加する必要があります。

public string GetServiceOrganization(IPropertyBag endPointConfiguration, string NodeIdentifier)   
{  
   string result = GetResource("AdapterManagement.CategorySchema.xml");  
   return result;  
}  

Note

ファイルの最初に表示される DynamicAdapterManagement クラスではなく、StaticAdapterManagement クラスの GetServiceDescription メソッドを必ず変更してください。

次のコードは、AdapterManagement.cs ファイルの GetServiceDescription メソッドからのコードです。 ここでは、返される WSDL ファイルとしてファイル service1.wsdl がハードコードされており、 WSDL ファイルとして表されているスキーマが返されます。 パラメーターは wsdlsGetServicesOrganization によって読み込まれたソース XML の WSDL 参照に対応する一意の WSDL 参照の配列です。 返される WSDL 記述のセットは、BizTalk プロジェクトのポートの種類とメッセージの種類を生成するために使用されます。 ツリー内に選択できるスキーマの種類が複数存在する場合は、複数の WSDL ファイルが必要です。 スキーマと WSDL の選択肢が多くある場合は、正しい WSDL ファイルを返すためデータベース検索を追加することもできます。

/// <summary>     
        /// Get the WSDL file name for the selected WSDL  
        /// </summary>  
        /// <param name="wsdls">place holder</param>  
        /// <returns>An empty string[]</returns>  
        public string[] GetServiceDescription(string[] wsdls)   
      {  
            string[] result = new string[1];  
            result[0] = GetResource("AdapterManagement.service1.wsdl");  
            return result;  
        }  

参照

静的デザイン時アダプター構成