다음을 통해 공유


정적 어댑터 IStaticAdapterConfig 인터페이스

정적 디자인 타임 어댑터는 IStaticAdapterConfig 인터페이스를 구현해야 합니다. 이에 따라 어댑터 메타데이터 추가 마법사와 상호 작용하고 어댑터에서 서비스 조직 및 개별적인 서비스 설명을 가져올 수 있습니다. 마법사는 GetServiceOrganizationGetServiceDescription 메서드를 호출하여 어댑터가 상호 작용하는 메타데이터 정보를 가져와 Visual Studio의 BizTalk 프로젝트에 추가합니다.

GetServiceOrganization 메서드는 어댑터의 노출된 서비스의 계층적 organization 나타내는 XML instance 문서를 가져옵니다. 이 구조체는 어댑터 메타데이터 추가 마법사의 가져올 서비스 선택 페이지에 표시되는 서비스 organization 트리를 생성합니다.

가져올 서비스를 선택한 후 마법사는 GetServiceDescription 메서드를 호출하여 어댑터 메타데이터 추가 마법사 트리에서 선택한 서비스 범주에 해당하는 WSDL(Web Services Description Language) 파일 배열을 가져옵니다. 어댑터 메타데이터 추가 마법사를 완료하면 해당 서비스를 나타내는 스키마가 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;  
}  

참고

파일에 먼저 표시되는 DynamicAdapterManagement 클래스가 아니라 StaticAdapterManagement 클래스의 GetServiceDescription 메서드를 수정해야 합니다.

다음 코드는 AdapterManagement.cs 파일의 GetServiceDescription 메서드에서 가져옵니다. WSDL 파일이 반환되어 service1.wsdl 파일이 하드 코드되었습니다. 이 파일은 WSDL 파일로 표시되는 스키마를 반환합니다. wsdls 매개 변수는 GetServicesOrganization에서 로드한 원본 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;  
        }  

참고 항목

정적 디자인 타임 어댑터 구성