WCF-CustomIsolated 수신 위치 구성 방법
WCF-CustomIsolated 수신 위치는 BizTalk 관리 콘솔을 사용하거나 프로그래밍 방식으로 구성할 수 있습니다.
구성 속성
BizTalk 탐색기 개체 모델을 사용하면 수신 위치를 프로그래밍 방식으로 만들고 구성할 수 있습니다. BizTalk Explorer 개체 모델은 TransportTypeData 읽기/쓰기 속성이 있는IReceiveLocation 수신 위치 구성 인터페이스를 노출합니다. 이 속성은 이름/값 쌍 XML 문자열 형식의 WCF-CustomIsolated 수신 위치 구성 속성 모음을 허용합니다. BizTalk Explorer 개체 모델에서 이 속성을 설정하려면 IReceiveLocation 인터페이스의 InboundTransportLocation 속성을 설정해야 합니다.
IReceiveLocation 인터페이스의 TransportTypeData 속성을 설정할 필요가 없습니다. 이 속성을 설정하지 않으면 WCF-CustomIsolated 어댑터는 다음 표에 표시된 WCF-CustomIsolated 수신 위치 구성의 기본값을 사용합니다.
다음 표에서는 WCF-CustomIsolated 수신 위치에 대해 BizTalk 탐색기 개체 모델에서 설정할 수 있는 구성 속성을 보여 줍니다.
속성 이름 | Type | Description |
---|---|---|
ID | XML Blob 예제: <identity> <userPrincipalName value="username@contoso.com" /> </Id> |
이 수신 위치에서 제공하는 서비스의 ID를 지정합니다. Identity 속성에 대해 지정할 수 있는 값은 보안 구성에 따라 다릅니다. 이러한 설정을 통해 클라이언트가 이 수신 위치를 인증할 수 있습니다. 클라이언트와 서비스 간의 핸드셰이크 프로세스에서 WCF(Windows Communication Foundation) 인프라는 예상되는 서비스의 ID가 이 요소의 값과 일치하는지 확인합니다. 기본값은 빈 문자열입니다. |
BindingType | 열거형 - basicHttpBinding - Custombinding - mexHttpBinding - mexHttpsBinding - mexNamedPipeBinding - mexTcpBinding - netMsmqBinding - netNamedPipeBinding - netPeerTcpBinding - Nettcpbinding - wsDualHttpBinding - wsFederationHttpBinding - wsHttpBinding |
이 수신 위치에서 사용하는 엔드포인트에 사용할 바인딩 유형을 지정합니다. 참고: 사용자 지정 바인딩을 사용하는 경우 BindingType 속성을 사용자 지정 바인딩으로 구성할 수 있습니다. 사용자 지정 바인딩을 사용하는 방법에 대한 자세한 내용은 WCF 어댑터로 WCF 확장성 지점을 사용하도록 설정하는 방법을 참조하세요. 기본값은 빈 문자열입니다. |
BindingConfiguration | XML Blob 예제: <binding name="wsHttpBinding" transactionFlow="true"><security><message clientCredentialType="UserName" /></security></binding> |
바인딩 요소를 사용하여 XML 문자열을 <지정하여 WCF(Windows Communication Foundation)에서 제공하는 다양한 형식의 미리 정의된 바인딩을 구성합니다.> 시스템 제공 바인딩 및 사용자 지정 바인딩에 대한 자세한 내용은 참고 항목에서 해당 항목을 참조하십시오. 참고: BizTalk Server BindingConfiguration 속성으로 구성할 수 있는 바인딩 확장 요소의 모든 형식을 지원하지는 않습니다. 기본값은 빈 문자열입니다. |
ServiceBehaviorConfiguration | XML Blob 예제: <behavior name="SampleServiceBehavior"><serviceAuthorization principalPermissionMode="UseAspNetRoles" /><serviceCredentials><serviceCertificate findValue="539d9ab3089bb6dc187fa7dbb382cf01f8d78f5f" storeLocation="CurrentUser" x509FindType="FindByThumbprint" /></serviceCredentials><serviceMetadata httpGetEnabled="true" /></behavior> |
serviceBehaviors> 요소의<동작> 요소를 사용하여< XML 문자열을 지정하여 WCF 서비스의 동작 설정을 구성합니다. serviceBehaviors> 요소에< 대한 자세한 내용은 참고 항목에서 해당 항목을 참조하세요. 기본값은 빈 문자열입니다. |
EndpointBehaviorConfiguration | XML Blob 예제: <behavior name="sampleBehavior"><callbackTimeouts /></behavior> |
endpointBehaviors> 요소의<동작> 요소를 사용하여< XML 문자열을 지정하여 WCF 엔드포인트의 동작 설정을 구성합니다. endpointBehaviors> 요소에< 대한 자세한 내용은 참고 항목에서 해당 항목을 참조하세요. 참고: BizTalk Server EndpointBehaviorConfiguration 속성으로 구성할 수 있는 동작 확장 요소의 모든 형식을 지원하지는 않습니다. 기본값은 빈 문자열입니다. |
CredentialType | 열거형 - 없음: 이 수신 위치가 외부 서비스를 폴링하기 위해 요청 메시지를 보내거나 이 수신 위치가 외부 서비스를 폴링할 필요가 없는 경우 자격 증명을 사용하지 마세요. - IssueTicket: Enterprise SSO(단일 Sign-On)를 사용하여 클라이언트 자격 증명을 검색하여 SSO 티켓을 발급합니다. 이 옵션을 사용하려면 이 수신 위치가 사용자 계정을 가장하여 SSO 티켓을 발급할 수 있도록 허용하는 보안 모델을 사용해야 합니다. - UserAccount: 이 수신 위치가 외부 서비스를 폴링하기 위해 요청 메시지를 보낼 때 Username 및 Password 속성에 지정된 자격 증명을 사용합니다. - GetCredentials: 이 수신 위치가 외부 서비스를 폴링하기 위해 요청 메시지를 보낼 때 AffiliateApplicationName 속성에 지정된 SSO 관련 애플리케이션을 사용합니다. |
외부 서비스를 폴링할 때 사용할 이 수신 위치의 자격 증명 유형을 지정합니다. 기본값: 없음 |
UserName | String | 응답 메시지를 검색하기 위해 외부 서비스를 폴링할 때 사용할 이 수신 위치의 사용자 이름을 지정합니다. CredentialType 속성이 UserAccount로 설정된 경우 이 속성이 필요합니다. 기본값은 빈 문자열입니다. |
암호 | String | 응답 메시지를 검색하기 위해 외부 서비스를 폴링할 때 사용할 이 수신 위치의 암호를 지정합니다. CredentialType 속성이 UserAccount로 설정된 경우 이 속성이 필요합니다. 기본값은 빈 문자열입니다. |
AffiliateApplicationName | 문자열 | 이 수신 위치가 외부 서비스를 폴링하기 위해 간청 메시지를 보낼 때 사용되는 외부 자격 증명을 반환할 SSO 관련 애플리케이션을 지정합니다. 지정된 SSO 관련 애플리케이션에는 이 수신 위치가 실행되는 Windows 계정과 외부 서비스 계정 간의 매핑이 있어야 합니다. 이 속성은 CredentialType 속성이 GetCredentials로 설정된 경우에 필요합니다. 기본값은 빈 문자열입니다. |
OrderedProcessing | 부울 | 메시지를 처리할 때 메시지 순서를 보존할지 여부를 지정합니다. 기본값: False |
InboundBodyLocation | 열거형 - UseBodyElement - 들어오는 메시지의 SOAP 본문 요소 콘텐츠를 사용하여 BizTalk 메시지 본문 부분을 만듭니다. Body 요소에 자식 요소가 두 개 이상 있는 경우 첫 번째 요소만 BizTalk 메시지 본문 부분이 됩니다. - UseEnvelope - 들어오는 메시지의 전체 SOAP 봉투 에서 BizTalk 메시지 본문 부분을 만듭니다. - UseBodyPath - InboundBodyPathExpression 속성의 본문 경로 식을 사용하여 BizTalk 메시지 본문 부분을 만듭니다. 본문 경로 식은 들어오는 메시지의 SOAP Body 요소의 직접 자식 요소에 대해 평가됩니다. 이 속성은 간청-응답 포트에 대해서만 유효합니다. InboundBodyLocation 속성을 사용하는 방법에 대한 자세한 내용은 WCF 어댑터에 대한 메시지 본문 지정을 참조하세요. |
들어오는 WCF 메시지의 SOAP Body 요소에 대한 데이터 선택을 지정합니다. 기본값: UseBodyElement |
InboundBodyPathExpression | 문자열 InboundBodyPathExpression 속성을 사용하는 방법에 대한 자세한 내용은 WCF 어댑터 속성 스키마 및 속성을 참조하세요. |
본문 경로 식을 지정하여 BizTalk 메시지 본문을 만드는 데 사용되는 들어오는 메시지의 특정 파트를 식별합니다. 이 본문 경로 식은 들어오는 메시지의 SOAP 본문 노드의 직접 자식 요소에 대해 평가됩니다. 이 본문 경로 식이 둘 이상의 노드를 반환하는 경우 첫 번째 노드만 BizTalk 메시지 본문에 선택됩니다. InboundBodyLocation 속성이 UseBodyPath로 설정된 경우 이 속성이 필요합니다. 기본값은 빈 문자열입니다. |
InboundNodeEncoding | 열거형 - Base64 - Base64 인코딩. - 16진수 - 16진수 인코딩. - 문자열 - 텍스트 인코딩 - UTF-8. - XML - WCF 어댑터는 InboundBodyPathExpression의 본문 경로 식에서 선택한 노드의 외부 XML을 사용하여 BizTalk 메시지 본문을 만듭니다. |
WCF-CustomIsolated 수신 어댑터가 InboundBodyPathExpression에 지정된 본문 경로 식으로 식별된 노드를 디코딩하는 데 사용하는 인코딩 유형을 지정합니다. InboundBodyLocation 속성이 UseBodyPath로 설정된 경우 이 속성이 필요합니다. 기본값: XML |
OutboundBodyLocation | 열거형 - UseBodyElement - BizTalk 메시지 본문 부분을 사용하여 보내는 응답 메시지에 대한 SOAP Body 요소의 콘텐츠를 만듭니다. - UseTemplate - OutboundXMLTemplate 속성에 제공된 템플릿을 사용하여 나가는 응답 메시지에 대한 SOAP Body 요소의 콘텐츠를 만듭니다. OutboundBodyLocation 속성을 사용하는 방법에 대한 자세한 내용은 WCF 어댑터에 대한 메시지 본문 지정을 참조하세요. |
나가는 WCF 메시지의 SOAP Body 요소에 대한 데이터 선택을 지정합니다. 이 속성은 요청-응답 수신 위치에만 유효합니다. 기본값: UseBodyElement |
OutboundXMLTemplate | String OutboundXMLTemplate 속성을 사용하는 방법에 대한 자세한 내용은 WCF 어댑터에 대한 메시지 본문 지정을 참조하세요. |
보내는 응답 메시지의 SOAP Body 요소 내용에 대한 XML 형식 템플릿을 지정합니다. OutboundBodyLocation 속성이 UseTemplate으로 설정된 경우 이 속성이 필요합니다. 이 속성은 요청-응답 수신 위치에만 유효합니다. 기본값은 빈 문자열입니다. |
DisableLocationOnFailure | 부울 | 수신 파이프라인 오류 또는 라우팅 오류로 인해 인바운드 처리가 실패하는 수신 위치를 해제할지 여부에 대해서 지정합니다. 기본값: False |
SuspendMessageOnFailure | 부울 | 수신 파이프라인 오류 또는 라우팅 오류로 인해 인바운드 처리되지 못한 요청 메시지를 일시 중단할지 여부를 지정합니다. 기본값: True |
IncludeExceptionDetailInFaults | 부울 | 디버깅용으로 클라이언트에게 반환되는 SOAP 오류 정보에 관리되는 예외 정보를 포함할지 여부에 대해서 지정합니다. 기본값: False |
ReferencedBindings | XML Blob 예제: <BindingConfiguration vt="8"> <wsFederationHttpBinding> <binding name="sampleBinding"> <보안 모드="메시지"> <message issuedKeyType="AsymmetricKey"> <issuer address="http://www.contoso.com/samplests" binding="wsFederationHttpBinding" bindingConfiguration="contosoSTSBinding"/> </메시지> </보안> </바인딩> </wsFederationHttpBinding> </BindingConfiguration> <ReferencedBindings vt="8"> <bindings> <wsFederationHttpBinding> <binding name="contosoSTSBinding"> <보안 모드="메시지"> <message negotiateServiceCredential="false"> <issuer address=" http://northwind.com/samplests " bindingConfiguration="northwindBinding" binding="wsHttpBinding"></발급자> </메시지> </보안> </바인딩> </wsFederationHttpBinding> <wsHttpBinding> <binding name="northwindBinding"> <보안 모드="메시지"> <message clientCredentialType="Certificate" /> </보안> </바인딩> </wsHttpBinding> </바인딩> </ReferencedBindings> 참고:ReferencedBinding 속성에는 BindingConfiguration 속성에 사용되는 바인딩 구성이 포함되어서는 안됩니다. |
wsFederationHttpBinding 및 customBinding에 대한 발급자> 요소의<bindingConfiguration 특성에서 참조하는 바인딩 구성을 지정합니다. 이는 보안 토큰을 발급하는 STS(보안 토큰 서비스)를 나타냅니다. 발급자> 요소에< 대한 자세한 내용은 Microsoft Learn의 <발급자> 설명서를 참조하세요. wsFederationHttpBinding 및 customBinding에 대한 발급자> 요소를 포함한< 바인딩 정보는 WCF-Custom 및 WCF-CustomIsolated 어댑터의 BindingConfiguration 속성을 통해 구성할 수 있습니다. 이 속성에 대해 참조된 모든 바인딩 구성은 bindings> 요소 형식으로< 배치해야 합니다. 참고: - 전송 속성 대화 상자의 바인딩 탭에서 이 속성을 구성할 수 없습니다. WCF-Custom 및 WCF-CustomIsolated 어댑터의 전송 속성 대화 상자에 있는 Import/Export 탭을 통해 이 속성을 가져오고 내보낼 수 있습니다. - 발급자> 요소의<bindingConfiguration 특성은 이 속성에서 유효한 바인딩 이름을 참조해야 합니다. - 참조된 바인딩 구성의 발급자> 요소는 이 참조 체인이 순환 종속성을 만들지 않는 경우 이 속성의 다른 바인딩 구성을 참조할 수도 있습니다.< 기본값은 빈 문자열입니다. |
BizTalk 관리 콘솔을 사용하여 WCF-CustomIsolated 수신 위치를 구성하는 방법
BizTalk 관리 콘솔에서 WCF-CustomIsolated 수신 위치 어댑터 변수를 설정할 수 있습니다. 수신 위치에서 속성을 설정하지 않으면 BizTalk 관리 콘솔에 설정된 기본 수신 핸들러 값이 사용됩니다.
참고
다음 절차를 완료하기 전에 수신 포트를 이미 추가한 상태여야 합니다. 자세한 내용은 수신 포트를 만드는 방법을 참조하세요.
WCF-CustomIsolated 수신 위치에 대한 변수 구성
WCF-CustomIsolated 어댑터를 구성할 때 사용자 지정 바인딩 요소, 사용자 지정 동작 요소, 사용자 지정 채널 구성 요소 등의 WCF 확장 지점을 사용하려는 경우 BizTalk 처리 컴퓨터(런타임 컴퓨터) 및 관리 컴퓨터의 전역 어셈블리 캐시에 확장 지점과 모든 종속 어셈블리를 구현하는 어셈블리를 추가해야 합니다. 또한 확장 구성 요소를 machine.config 파일에 등록해야 합니다. WCF CustomIsolated 어댑터에서 WCF 확장성 지점을 사용하는 방법에 대한 자세한 내용은 WCF 어댑 터로 WCF 확장성 지점을 사용하도록 설정하는 방법을 참조하세요.
BizTalk 관리 콘솔에서 BizTalk Server 관리, BizTalk 그룹, 애플리케이션, 수신 위치를 만들 애플리케이션을 차례로 확장합니다.
BizTalk 관리 콘솔의 왼쪽 창에서 수신 포트 노드를 클릭합니다. 그런 다음 오른쪽 창에서 기존 수신 위치와 연결되어 있거나 새 수신 위치와 연결하려는 수신 포트를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.
수신 포트 속성 대화 상자의 왼쪽 창에서 수신 위치를 선택한 다음 오른쪽 창에서 기존 수신 위치를 두 번 클릭하거나 새로만들기를 클릭하여 새 수신 위치를 만듭니다.
수신 위치 속성 대화 상자의 형식 옆의 전송 섹션에서 드롭다운 목록에서 WCF-CustomIsolated를 선택한 다음 구성을 클릭합니다.
WCF-CustomIsolated 전송 속성 대화 상자의 일반 탭에서 WCF-CustomIsolated 수신 위치에 대한 엔드포인트 주소 및 서비스 ID를 구성합니다. WCF-CustomIsolated 전송 속성 대화 상자의 일반 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조에서 WCF-사용자 지정 전송 속성 대화 상자, 수신, 일반 탭을 참조하세요.
WCF-CustomIsolated 전송 속성 대화 상자의 바인딩 탭에서 WCF에 대해 미리 정의된 바인딩 또는 사용자 지정 바인딩의 다양한 형식을 구성합니다. WCF-CustomIsolated 전송 속성 대화 상자의 바인딩 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조에서 WCF-사용자 지정 전송 속성 대화 상자, 수신, 바인딩 탭을 참조하세요.
WCF-CustomIsolated 전송 속성 대화 상자의 동작 탭에서 이 수신 위치에 대한 엔드포인트 및 서비스 동작을 구성합니다. 엔드포인트 동작은 서비스 또는 클라이언트 기능을 수정하거나 확장하는 동작 확장 요소 집합입니다. WCF-CustomIsolated 전송 속성 대화 상자의 동작 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조에서 WCF-사용자 지정 전송 속성 대화 상자, 수신, 동작 탭을 참조하세요.
WCF-CustomIsolated 전송 속성 대화 상자의 기타 탭에서 외부 서비스를 폴링할 때 이 수신 위치에 사용할 자격 증명과 메시지를 처리할 때 이 수신 위치가 메시지 순서를 유지할지 여부를 구성합니다. WCF-CustomIsolated 전송 속성 대화 상자의 기타 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조에서 WCF-사용자 지정 전송 속성 대화 상자, 수신, 기타 탭을 참조하세요.
WCF-CustomIsolated 전송 속성 대화 상자의 메시지 탭에서 SOAP 본문 요소에 대한 데이터 선택을 지정합니다. WCF-CustomIsolated 전송 속성 대화 상자의 메시지 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조에서 WCF-사용자 지정 전송 속성 대화 상자, 수신, 메시지 탭을 참조하세요.
WCF-CustomIsolated 전송 속성 대화 상자의 가져오기/내보내기 탭에서 일반 탭의 주소(URI) 및 엔드포인트 ID 속성, 바인딩 탭의 바인딩 정보 및 이 수신 위치에 대한 동작 탭의 엔드포인트 동작을 가져오고 내보냅니다. WCF-CustomIsolated 전송 속성 대화 상자의 가져오기/내보내기 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조에서 WCF-사용자 지정 전송 속성 대화 상자, 수신, 가져오기-내보내기 탭을 참조하세요.
프로그래밍 방식으로 WCF-CustomIsolated 수신 위치 구성
다음 형식을 사용하여 속성을 설정할 수 있습니다.
<CustomProps>
<InboundBodyPathExpression vt="8" />
<InboundBodyLocation vt="8">UseBodyElement</InboundBodyLocation>
<BindingConfiguration vt="8"><binding name="wsHttpBinding" transactionFlow="true"><security><message clientCredentialType="UserName" /></security></binding></BindingConfiguration>
<OutboundXmlTemplate vt="8"><bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="xml"/></OutboundXmlTemplate>
<CredentialType vt="8">None</CredentialType>
<Identity vt="8" />
<ServiceBehaviorConfiguration vt="8"><behavior name="SampleServiceBehavior"><serviceAuthorization principalPermissionMode="UseAspNetRoles" /><serviceCredentials><serviceCertificate findValue="539d9ab3089bb6dc187fa7dbb382cf01f8d78f5f" storeLocation="CurrentUser" x509FindType="FindByThumbprint" /></serviceCredentials><serviceMetadata httpGetEnabled="true" /></behavior></ServiceBehaviorConfiguration>
<OrderedProcessing vt="11">0</OrderedProcessing>
<IncludeExceptionDetailInFaults vt="11">0</IncludeExceptionDetailInFaults>
<AffiliateApplicationName vt="8" />
<DisableLocationOnFailure vt="11">0</DisableLocationOnFailure>
<SuspendMessageOnFailure vt="11">0</SuspendMessageOnFailure>
<BindingType vt="8">wsHttpBinding</BindingType>
<UserName vt="8" />
<InboundNodeEncoding vt="8">Xml</InboundNodeEncoding>
<EndpointBehaviorConfiguration vt="8"><behavior name="EndpointBehavior" /></EndpointBehaviorConfiguration>
<OutboundBodyLocation vt="8">UseBodyElement</OutboundBodyLocation>
</CustomProps>
다음 코드 조각은 WCF-CustomIsolated 수신 위치를 만드는 방법을 보여 줍니다.
// Use BizTalk Explorer object model to create new WCF-CustomIsolated receive location
string server = System.Environment.MachineName;
string database = "BizTalkMgmtDb";
string connectionString = string.Format("Server={0};Database={1};Integrated Security=true", server, database);
string transportConfigData = @"<CustomProps>
<BindingConfiguration vt=""8""><binding name=""wsHttpBinding"" transactionFlow=""true""><security><message clientCredentialType=""UserName"" /></security></binding></BindingConfiguration>
<BindingType vt=""8"">wsHttpBinding</BindingType>
</CustomProps>";
//requires project reference to \Program Files\Microsoft BizTalk Server 2009\Developer Tools\Microsoft.BizTalk.ExplorerOM.dll
BtsCatalogExplorer explorer = new Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer();
explorer.ConnectionString = connectionString;
// Add a new BizTalk application
Application application = explorer.AddNewApplication();
application.Name = "SampleBizTalkApplication1001";
// Save
explorer.SaveChanges();
// Add a new one-way receive port
IReceivePort receivePort = application.AddNewReceivePort(false);
receivePort.Name = "SampleReceivePort";
// Add a new one-way receive location
IReceiveLocation receiveLocation = receivePort.AddNewReceiveLocation();
receiveLocation.Name = "SampleReceiveLocation";
// Find a receive handler for WCF-CustomIsolated
int i = 0;
for(i=0; i < explorer.ReceiveHandlers.Count; ++i)
{
if("WCF-CustomIsolated" == explorer.ReceiveHandlers[i].TransportType.Name)
break;
}
receiveLocation.ReceiveHandler = explorer.ReceiveHandlers[i];
receiveLocation.Address = "http://mycomputer/samplepath/sampleservice";
receiveLocation.ReceivePipeline = explorer.Pipelines["Microsoft.BizTalk.DefaultPipelines.PassThruReceive"];
receiveLocation.TransportType = explorer.ProtocolTypes["WCF-CustomIsolated"];
receiveLocation.TransportTypeData = transportConfigData;
// Save
explorer.SaveChanges();
참고 항목
Isolated WCF 수신 어댑터를 사용하여 WCF 서비스 게시
BizTalk 호스트 및 호스트 인스턴스 관리
서비스 계정 및 암호 변경 방법
WCF 어댑터에 대한 인증서 설치
WCF 어댑터에 대한 메시지 본문 지정
WCF-CustomIsolated 어댑터 구성
관련 애플리케이션을 만드는 방법
<endpointBehaviors의 <동작>>
<><serviceBehaviors>의 <바인딩 동작>