静态适配器 IStaticAdapterConfig 接口

静态设计时适配器必须实现 IStaticAdapterConfig 接口。 这使得它可以与“添加适配器元数据向导”进行交互,并从适配器获得服务组织和各个服务的说明。 向导调用 GetServiceOrganizationGetServiceDescription 方法,以拉取适配器与之交互的元数据信息,并将其添加到 Visual Studio 中的 BizTalk 项目。

GetServiceOrganization 方法获取一个 XML 实例文档,该文档表示适配器公开的服务的分层组织。 此结构生成在添加适配器元数据向导的 “选择要导入的服务 ”页上看到的服务组织树。

选择要导入的服务后,向导将调用 GetServiceDescription 方法以获取 Web 服务描述语言的数组, (WSDL) 对应于“添加适配器元数据向导”树中选择的服务类别的文件。 完成“添加适配器元数据向导”后,代表这些服务的架构将生成为 XSD 文件,并添加到 BizTalk 项目中。

在文件适配器示例中, GetServiceOrganizationGetServiceDescription 方法驻留在 AdapterManagement.cs 类文件的 StaticAdapterManagement 类中。 向导调用 GetServiceOrganization 方法以获取要在 “选择要导入的服务” 页上显示的树结构。 在 GetServicesOrganization 中,使用 AdapterManagement.CategorySchema.xml 文件的硬编码返回值,如以下代码片段所示。 作为适配器开发人员,您需要添加逻辑以返回相应的 XML 文件。

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

注意

请务必修改 StaticAdapterManagement 类的 GetServiceDescription 方法,而不是首先出现在文件中的 DynamicAdapterManagement 类的 GetServiceDescription 方法。

以下代码来自 AdapterManagement.cs 文件的 GetServiceDescription 方法。 service1.wsdl 文件硬编码为返回的 WSDL 文件。 它返回以 WSDL 文件表示的架构。 参数 wsdls 是唯一 WSDL 引用的数组,对应于 GetServicesOrganization 加载的源 XML 中的 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;  
        }  

另请参阅

静态设计时适配器配置