다음을 통해 공유


어댑터 등록

사용자 지정 어댑터를 개발하는 경우 SDK(소프트웨어 개발 키트)의 샘플 파일 어댑터에 포함된 레지스트리 파일 중 하나를 수정 및 실행하여 이를 BizTalk Server에 등록할 수 있습니다. 또는 어댑터 레지스트리 마법사를 사용하여 레지스트리 파일을 만들 수 있습니다. 이 마법사는 \Program Files (x86)\Microsoft BizTalk Server <VERSION>Utilities\AdapterRegistryWizard 폴더에 있습니다.

중요

  • 32비트 컴퓨터에서 어댑터 등록 마법사를 통해 생성되는 레지스트리 파일(.reg)은 명령 프롬프트에서 실행해야 합니다.
    • 64비트 컴퓨터에서는 어댑터 등록 마법사를 통해 생성되는 레지스트리 파일(.reg)을 32비트 및 64비트 명령 프롬프트 둘 다에서 실행해야 합니다.

레지스트리 항목을 만든 다음 BizTalk Server 관리 콘솔에 어댑터를 추가하거나 WMI(Windows Management Instrumentation) 메서드를 사용하여 프로그래밍 방식으로 어댑터를 추가할 수 있습니다. 이 항목에서는 각 레지스트리 항목에 대해 설명하고 사용자 지정 어댑터에 맞게 기존 레지스트리 파일을 수정하는 방법을 보여 줍니다.

어댑터 레지스트리 마법사 사용에 대한 지침은 어댑터 레지스트리 마법사를 참조하세요. SDK에 포함된 샘플 레지스트리 파일을 수정하는 방법에 대한 지침은 어댑터 등록 파일을 참조하세요.

레지스트리 키

어댑터를 배포하려면 다음 레지스트리 항목을 만들어야 합니다.

레지스트리 키 위치

[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\BizTalk]  
@="BizTalk"  
  

형식 이름

어댑터 유형 이름은 BizTalk Server 컴퓨터의 어댑터 유형을 식별합니다. 이 키는 모든 어댑터에 필요합니다.

"TransportType"="MyTransportAdapter"  
  

제약 조건

어댑터 제약 조건은 어댑터의 기능을 정의합니다.

이 키는 모든 어댑터에 필요합니다. 만들고 있는 어댑터의 유형에 따라 제약 조건의 비트 마스크 값을 수정합니다.

"Constraints"=dword:00003C0b  

어댑터 기능을 설명하는 값은 다음 표에 나와 있는 값을 조합하여 지정할 수 있습니다.

16진수 값 플래그 설명
1 0x0001 eProtocolSupportsReceive 어댑터가 수신 작업을 지원합니다.
2 0x0002 eProtocolSupportsTransmit 어댑터가 송신 작업을 지원합니다.
8 0x0008 eProtocolReceiveIsCreatable 어댑터의 수신 핸들러가 In Process로 호스팅됩니다.
128 0x0080 eProtocolSupportsRequestResponse 어댑터가 요청-응답 작업을 지원합니다.
256 0x0100 eProtocolSupportsSolicitResponse 어댑터가 간청-응답 작업을 지원합니다.
1024 0x0400 eOutboundProtocolRequiresContextInitialization 어댑터가 송신 핸들러 구성에 어댑터 프레임워크 사용자 인터페이스를 사용함을 나타냅니다.
2048 0x0800 eInboundProtocolRequiresContextInitialization 어댑터가 수신 핸들러 구성에 어댑터 프레임워크 사용자 인터페이스를 사용함을 나타냅니다.
4096 0x1000 eReceiveLocationRequiresContextInitialization 어댑터가 수신 위치 구성에 어댑터 프레임워크 사용자 인터페이스를 사용함을 나타냅니다.
8192 0x2000 eTransmitLocationRequiresContextInitialization 어댑터가 송신 포트 구성에 어댑터 프레임워크 사용자 인터페이스를 사용함을 나타냅니다.
16384 0x4000 eSupportsOrderedDelivery 어댑터에서 메시지의 순차적 전달을 지원함을 나타냅니다.
32768 0x8000 eInitTransmitterOnServiceStart 첫 번째 메시지를 보낼 때가 아니라 서비스를 시작할 때 송신 어댑터가 시작됩니다.
65536 0x10000 eSupport32BitOnly 어댑터가 32비트 호스트에서만 실행됨을 나타냅니다.

네임스페이스

각 어댑터는 속성에 대한 네임스페이스를 정의해야 합니다. BizTalk Server에서는 메시지 컨텍스트의 이 네임스페이스에 어댑터 속성을 저장합니다. 이 속성은 모든 어댑터에 필요합니다.

"PropertyNameSpace"="namespace"  

별칭

각 어댑터에는 BizTalk Server 내에서 해당 어댑터 유형을 고유하게 식별하는 일련의 접두사가 사용됩니다. 이를 통해 동적 송신 포트를 통해 메시지를 보낼 때 올바른 전송 방식이 확인됩니다. 어댑터를 등록할 때 해당 접두사 목록을 지정해야 합니다.

"AliasesXML"="<AdapterAliasList><AdapterAlias>sample://</AdapterAlias></AdapterAliasList>"  

구성 속성 페이지

어댑터에는 수신 위치와 송신 포트를 구성할 구성 속성 페이지가 있어야 합니다. 각 어댑터는 해당되는 각 클래스 ID를 지정하여 속성 페이지를 등록합니다.

"InboundProtocol_PageProv"="{%CLSID for inbound protocol prop page%}"  
"OutboundProtocol_PageProv"="{%CLSID for outbound protocol prop page%}"  
"ReceiveLocation_PageProv"="{%CLSID for receive location prop page%}"  
"TransmitLocation_PageProv"="{%CLSID for transmit location prop page%}"  

어댑터에서 어댑터 프레임워크 사용자 인터페이스를 통해 속성 페이지를 생성하는 경우 다음과 같이 레지스트리 키에 값을 지정해야 합니다.

"InboundProtocol_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A281}"  
"OutboundProtocol_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A283}"  
"ReceiveLocation_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A280}"  
"TransmitLocation_PageProv"="{2DE93EE6-CB01-4007-93E9-C3D71689A282}"  

어댑터가 수신 또는 송신 전용이어서 엔드포인트 중 하나가 필요하지 않은 경우 사용되지 않는 레지스트리 키를 레지스트리에서 삭제할 수 있습니다.

런타임 구성 요소 등록

어댑터는 수신 및 송신 런타임 구성 요소에 대해 어댑터의 클래스 ID(COM 및 .NET의 경우), 유형 이름, 어셈블리 경로(.NET의 경우)를 지정하여 런타임 구성 요소를 등록합니다.

참고

모든 OutboundEngineCLSIDInboundEngineCLSID 키는 고유해야 합니다. 데이터베이스의 단일 행의 경우 OutboundEngineCLSIDInboundEngineCLSID 가 동일할 수 있습니다.

"OutboundEngineCLSID"="{%CLSID of outbound transport%}"  
"InboundEngineCLSID"="{%CLSID of inbound transport%}"  
"InboundTypeName"="BizTalk.Samples.Adapters.MyReceiver"  
"OutboundTypeName"="BizTalk.Samples.Adapters.MyTransmitter"  
"InboundAssemblyPath"="C:\Program Files\MyTransport.dll"  
"OutboundAssemblyPath"="C:\Program Files\MyTransport.dll"  

참고

전역 어셈블리 캐시에 어댑터 어셈블리를 설치한 다음 레지스트리 파일에서 이를 참조할 수 있습니다.

SSO 구성 저장소에 어댑터 속성 등록

디자인 타임 및 런타임에 어댑터 속성을 저장하고 검색할 수 있도록 BizTalk Server SSO 데이터베이스에 어댑터 속성을 등록해야 합니다.

ReceiveHandlerPropertiesXML  
ReceiveLocationPropertiesXML  
SendHandlerPropertiesXML  
SendLocationPropertiesXML  

이러한 값은 어댑터와 관련된 해당 엔터티에 허용된 속성에 대한 정의(스키마)를 포함하며 구성 저장소에 저장할 수 있습니다. 이러한 정의는 속성 유형은 포함하지만 값은 없는 PropertyBag에서 deserialize된 XML 문자열로 유지됩니다. 속성 요소의 비어 있지 않은 값은 해당 속성이 마스크됨을 나타냅니다. 마스크된다는 것은 속성이 쓰기 전용이며 관리 모드로 호출될 경우 Secure Store API에서 값을 반환하지 않음을 의미합니다. Secure Store API는 이러한 속성에 대해 VT_NULL을 반환합니다.)

예제

HTTP 어댑터는 SendLocationPropertiesXML 레지스트리 키를 다음 값으로 정의하여 HTTP 송신 포트에 대한 속성을 등록합니다.

<CustomProps><Username vt="8"/><Password vt="8">Encrypted</Password><Certificate vt="8"/><RequestTimeout vt="3"/><MaxRedirects vt="3"/><ContentType vt="8"/><UseProxy vt="11"/><ProxyName vt="8"/><ProxyPort vt="3"/><ProxyUsername vt="8"/><ProxyPassword vt="8">Encrypted</ProxyPassword><UseHandlerSetting vt="11"/><AuthenticationScheme vt="8"/><UseSSO vt="11"/><AffiliateApplicationName vt="8"/></CustomProps>  

전송 공급자로 구성 요소 등록

어댑터는 레지스트리의 Implemented Categories 특성에 전송 공급자로 등록해야 합니다. 이 특성은 어댑터 사용자에게 어댑터의 특성을 보여 줍니다.

[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\Implemented Categories]  
[HKEY_CLASSES_ROOT\CLSID\{%uuid of custom transport%}\Implemented Categories\{7F46FC3E-3C2C-405B-A47F-8D17942BA8F9}]  

참고 항목

어댑터 디자인 문제