WCF-WSHttp 송신 포트 구성
WCF-WSHttp 송신 포트는 BizTalk 관리 콘솔을 사용하거나 프로그래밍 방식으로 구성할 수 있습니다.
구성 속성
BizTalk Explorer 개체 모델은 TransportTypeData 읽기/쓰기 속성이 있는 ITransportInfo라는 송신 포트에 대한 어댑터별 인터페이스를 노출합니다. 이 속성은 이름/값 쌍 XML 문자열 형식의 WCF-WSHttp 송신 포트 구성 속성 모음을 허용합니다.
ITransportInfo 인터페이스의 TransportTypeData 속성은 필요하지 않습니다. 이 속성을 설정하지 않으면 어댑터에서는 다음 표에 표시된 WCF-WSHttp 송신 포트 구성에 대한 기본값을 사용합니다.
다음 표에서는 WCF-WSHttp 송신 포트에 대해 BizTalk 탐색기 개체 모델에서 설정할 수 있는 구성 속성을 보여 줍니다.
속성 이름 | Type | Description |
---|---|---|
ID | 예를 들어 XML Blob은 다음과 같습니다.<identity> <userPrincipalName value="username@contoso.com"> </identity> |
이 송신 포트에 필요한 서비스의 ID를 지정합니다. 이 설정을 통해 송신 포트가 서비스를 인증할 수 있습니다. 클라이언트와 서비스 간의 핸드셰이크 프로세스에서 WCF(Windows Communication Foundation) 인프라는 예상되는 서비스의 ID가 이 요소의 값과 일치하는지 확인합니다. 기본값은 빈 문자열입니다. |
StaticAction | -문자열 | 보내는 메시지에 대한 SOAPAction HTTP 헤더 필드를 지정합니다. 이 속성은 메시지 컨텍스트 속성 WCF를 통해 설정할 수도 있습니다 . 파이프라인 또는 오케스트레이션의 작업입니다. 단일 작업 형식과 작업 매핑 형식의 두 가지 방법으로 이 값을 지정할 수 있습니다. 이 속성을 단일 작업 형식(예: http://contoso.com/Svc/Op1 )으로 설정하는 경우 보내는 메시지에 대한 SOAPAction 헤더는 항상 이 속성에 지정된 값으로 설정됩니다.이 속성을 작업 매핑 형식으로 설정하면 나가는 SOAPAction 헤더가 BTS에 의해 결정 됩니다. 작업 컨텍스트 속성입니다. 예를 들어 이 속성이 다음 XML 형식 및 BTS로 설정된 경우입니다. Operation 속성은 Op1로 설정되며, WCF 송신 어댑터는 나가는 SOAPAction 헤더에 사용합니다 http://contoso.com/Svc/Op1 . <BtsActionMapping> <Operation Name="Op1" Action="http://contoso.com/Svc/Op1>"> <Operation Name="Op2" Action="http://contoso.com/Svc/Op2"/> </BtsActionMapping> 보내는 메시지가 오케스트레이션 포트에서 오는 경우 오케스트레이션 인스턴스는 BTS를 동적으로 설정합니다 . 포트의 작업 이름을 가진 Operation 속성입니다. 나가는 메시지가 콘텐츠 기반 라우팅으로 라우팅되는 경우 BTS를 설정할 수 있습니다 . 파이프라인 구성 요소의 작업 속성입니다. 기본값은 빈 문자열입니다. |
OpenTimeout | System.TimeSpan | 채널 열기 작업이 완료될 수 있도록 제공되는 시간 간격을 나타내는 시간 범위 값을 지정합니다. 기본값: 00:01:00 |
SendTimeout | System.TimeSpan | 송신 작업이 완료될 수 있도록 제공되는 시간 간격을 나타내는 시간 범위 값을 지정합니다. 간청-응답 송신 포트를 사용하는 경우 서비스가 큰 메시지를 반환하더라도 이 값은 전체 상호 작용이 완료되기 위한 시간 범위를 지정합니다. 기본값: 00:01:00 |
CloseTimeout | System.TimeSpan | 채널 닫기 작업이 완료될 수 있도록 제공되는 시간 간격을 나타내는 시간 범위 값을 지정합니다. 기본값: 00:01:00 |
MaxReceivedMessageSize | 정수 | 유선으로 수신할 수 있는 메시지의 최대 크기(헤더 포함)를 바이트 단위로 지정합니다. 메시지 크기는 각 메시지에 할당된 메모리 용량으로 제한됩니다. 이 속성을 사용하여 Dos(서비스 거부) 공격에 노출될 가능성을 줄일 수 있습니다. 기본값: 65536 |
MessageEncoding | 열거형 - 텍스트 - 문자 메시지 인코더를 사용합니다. - Mtom - 메시지 전송 조직 메커니즘 1.0(MTOM) 인코더를 사용합니다. |
SOAP 메시지를 인코딩하는 데 사용되는 인코더를 지정합니다. 기본값: 텍스트 |
TextEncoding | 열거형 - unicodeFFF - 유니코드 BigEndian 인코딩. - utf-16 - 16비트 인코딩. - utf-8 - 8비트 인코딩. |
MessageEncoding 속성이 Text로 설정된 경우 바인딩에서 메시지를 내보내는 데 사용할 문자 집합 인 코딩을 지정 합니다. 기본값: utf-8 |
EnableTransaction | 부울 | WS-AtomicTransaction 프로토콜을 사용하여 메시지가 대상 서비스로 전송되고 트랜잭션 컨텍스트의 MessageBox 데이터베이스에서 삭제되는지 여부를 지정합니다. 기본값: False |
SecurityMode | 열거형 - 없음 - 메시지 - 전송 - TransportWithMessageCredential SecurityMode 속성의 멤버 이름에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조의 WCF-WSHttp 전송 속성 대화 상자, 보내기, 보안 탭의 보안 모드 속성을 참조하세요. |
사용할 보안 유형을 지정합니다. 기본값: 없음 |
TransportClientCredentialType | 열거형 - 없음 - 기본 - Windows - 인증서 - 다이제스트 - Ntlm TransportClientCredentialType 속성의 멤버 이름에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조의 WCF-WSHttp 전송 속성 대화 상자, 보내기, 보안 탭의 전송 클라이언트 자격 증명 형식 속성을 참조하세요. |
송신 포트 인증을 수행할 때 사용할 자격 증명 유형을 지정합니다. 기본값: 없음 |
MessageClientCredentialType | 열거형 - 없음 - Windows - 사용자 - 인증서 MessageClientCredentialType 속성의 멤버 이름에 대한 자세한 내용은 WCF-WSHttp 전송 속성 대화 상자의 메시지 클라이언트 자격 증명 형식 속성, UI 지침 및 개발자 API 네임스페이스 참조의 보내기, 보안 탭을 참조하세요. |
메시지 기반 보안을 사용하여 클라이언트 인증 수행에 사용할 자격 증명 유형을 지정합니다. 기본값: UserName |
AlgorithmSuite | 열거형 AlgorithmSuite 속성의 멤버 이름에 대한 자세한 내용은 WCF-WSHttp 전송 속성 대화 상자의 Algorithm suite 속성, UI 지침 및 개발자 API 네임스페이스 참조의 보내기, 보안 탭을 참조하세요. |
메시지 암호화 및 키 랩 알고리즘을 지정합니다. 이러한 알고리즘은 보안 정책 언어(WS-SecurityPolicy) 사양에 지정된 알고리즘에 매핑됩니다. 기본값: Basic256 |
NegotiateServiceCredential | 부울 NegotiateServiceCredential 속성의 멤버 이름에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조의 WCF-WSHttp 전송 속성 대화 상자, 보내기, 보안 탭에서 서비스 자격 증명 협상 속성을 참조하세요. |
대역 범위를 벗어난 이 송신 포트에서 서비스 자격 증명을 제공하거나 협상 프로세스를 통해 서비스에서 이 송신 포트로 서비스 자격 증명을 가져올 수 있는지 여부를 지정합니다. 그러한 협상은 일반적인 메시지 교환에 앞서 수행됩니다. 기본값: False |
EnableSecurityContext | 부울 | 이 송신 포트와 서비스 간의 WS-SecureConversation 교환을 통해 보안 컨텍스트 토큰을 설정할지 여부를 지정합니다. 이 속성이 True 로 설정된 경우 대상 서비스는 WS-SecureConversation을 지원해야 합니다. 기본값: True |
ClientCertificate | String | 서비스에 대해 이 송신 포트를 인증하는 데 사용할 X.509 인증서의 손 도장(Thumbprint)을 지정합니다. ClientCredentialsType 속성이 Certificate로 설정된 경우 이 속성이 필요합니다. 이 속성에 사용할 인증서는 현재 사용자 위치의 내 저장소에 설치해야 합니다. 기본값은 빈 문자열입니다. |
ServiceCertificate | String | 송신 포트에서 메시지를 보낼 서비스를 인증하는 데 사용할 X.509 인증서의 손 도장(Thumbprint)을 지정합니다. 이 속성에 사용할 인증서는 로컬 컴퓨터 위치의 기타 사람 저장소에 설치해야 합니다. 기본값은 빈 문자열입니다. |
AffiliateApplicationName | String | Enterprise SSO(Single Sign-On)에 사용할 관련 응용 프로그램을 지정합니다. 기본값은 빈 문자열입니다. |
UseSSO | 부울 | 대상 서버 인증을 위한 클라이언트 자격 증명을 검색하는 데 Single Sign-On을 사용할지 여부를 지정합니다. 기본값: False |
UserName | String | UseSSO 속성이 False로 설정된 경우 대상 서버에서 인증에 사용할 사용자 이름을 지정합니다. 이 속성에 대해 도메인\사용자 형식을 사용하지 않아도 됩니다. 기본값은 빈 문자열입니다. |
암호 | String | UseSSO 속성이 False로 설정된 경우 대상 서버에서 인증에 사용할 암호를 지정합니다. 기본값은 빈 문자열입니다. |
ProxyToUse | 열거형 - 없음 - 이 송신 포트에 프록시 서버를 사용하지 마세요. - 기본값 - 이 송신 포트를 호스트하는 송신 처리기에서 프록시 설정을 사용합니다. - UserSpecified - ProxyAddress 속성에 지정된 프록시 서버를 사용합니다. |
나가는 HTTP 트래픽에 사용할 프록시 서버를 지정합니다. 기본값: 없음 |
ProxyAddress | String | 프록시 서버의 주소를 지정합니다. 보안 구성에 따라 https 또는 http 체계를 사용합니다. 이 주소 뒤에 콜론 및 포트 번호(예 http://127.0.0.1:8080 : )가 올 수 있습니다. 기본값은 빈 문자열입니다. |
ProxyUserName | String | 프록시에 사용할 사용자 이름을 지정합니다. WCF-WSHttp 어댑터는 버퍼링된 전송 모드에서 WSHttpBinding을 활용하여 엔드포인트와 통신합니다. WSHttpBinding의 프록시 자격 증명은 보안 모드가 전송 또는 없음인 경우에만 적용됩니다. SecurityMode 속성을 Message 또는 TransportWithMessageCredential로 설정하면 WCF-WSHttp 어댑터는 프록시에 대한 인증을 위해 ProxyUserName 및 ProxyPassword 속성에 지정된 자격 증명을 사용하지 않습니다. 참고: WCF-WSHttp 송신 어댑터는 프록시에 대한 기본 인증을 사용합니다. 기본값은 빈 문자열입니다. |
ProxyPassword | String | 프록시에 사용할 암호를 지정합니다. 기본값은 빈 문자열입니다. |
OutboundBodyLocation | 열거형 - UseBodyElement - BizTalk 메시지 본문 부분을 사용하여 보내는 메시지에 대한 SOAP Body 요소의 콘텐츠를 만듭니다. - UseTemplate - OutboundXMLTemplate 속성에 제공된 템플릿을 사용하여 보내는 메시지에 대한 SOAP Body 요소의 콘텐츠를 만듭니다. OutboundBodyLocation 속성을 사용하는 방법에 대한 자세한 내용은 WCF 어댑터에 대한 메시지 본문 지정을 참조하세요. |
나가는 WCF 메시지의 SOAP 본문 요소에 대한 데이터 선택을 지정합니다. 기본값: UseBodyElement |
OutboundXMLTemplate | String OutboundXMLTemplate 속성을 사용하는 방법에 대한 자세한 내용은 WCF 어댑터에 대한 메시지 본문 지정을 참조하세요. |
보내는 메시지의 SOAP 본문 요소 내용에 대한 XML 형식 템플릿을 지정합니다. OutboundBodyLocation 속성이 UseTemplate으로 설정된 경우 이 속성이 필요합니다. 기본값은 빈 문자열입니다. |
InboundBodyLocation | 열거형 - UseBodyElement - 들어오는 메시지의 SOAP 본문 요소 콘텐츠를 사용하여 BizTalk 메시지 본문 부분을 만듭니다. Body 요소에 둘 이상의 자식 요소가 있는 경우 첫 번째 요소만 BizTalk 메시지 본문 부분이 됩니다. 이 속성은 간청-응답 포트에 대해서만 유효합니다. - UseEnvelope - 들어오는 메시지의 전체 SOAP 봉투 에서 BizTalk 메시지 본문 부분을 만듭니다. - UseBodyPath - InboundBodyPathExpression 속성의 본문 경로 식을 사용하여 BizTalk 메시지 본문 부분을 만듭니다. 본문 경로 식은 들어오는 메시지의 SOAP Body 요소에 대한 직동 자식 요소에 대해 평가됩니다. 이 속성은 간청-응답 포트에 대해서만 유효합니다. InboundBodyLocation 속성을 사용하는 방법에 대한 자세한 내용은 WCF 어댑터에 대한 메시지 본문 지정을 참조하세요. |
들어오는 WCF 메시지의 SOAP Body 요소에 대한 데이터 선택을 지정합니다. 기본값: UseBodyElement |
InboundBodyPathExpression | String InboundBodyPathExpression 속성을 사용하는 방법에 대한 자세한 내용은 WCF 어댑터 속성 스키마 및 속성을 참조하세요. |
본문 경로 식을 지정하여 BizTalk 메시지 본문을 만드는 데 사용되는 들어오는 메시지의 특정 파트를 식별합니다. 이 본문 경로 식은 들어오는 메시지의 SOAP 본문 노드의 직할 자식 요소에 대해 평가됩니다. 이 본문 경로 식이 둘 이상의 노드를 반환하는 경우 첫 번째 노드만 BizTalk 메시지 본문에 선택됩니다. InboundBodyLocation 속성이 UseBodyPath로 설정된 경우 이 속성이 필요합니다. 이 속성은 간청-응답 포트에 대해서만 유효합니다. 기본값은 빈 문자열입니다. |
InboundNodeEncoding | 열거형 - Base64 - Base64 인코딩. - 16진수 - 16진수 인코딩. - 문자열 - 텍스트 인코딩 - UTF-8. - XML - WCF 어댑터는 InboundBodyPathExpression의 본문 경로 식에서 선택한 노드의 외부 XML을 사용하여 BizTalk 메시지 본문을 만듭니다. |
WCF-WSHttp 송신 어댑터가 InboundBodyPathExpression에 지정된 본문 경로로 식별된 노드에 대해 디코딩하는 데 사용하는 인코딩 유형을 지정합니다. InboundBodyLocation 속성이 UseBodyPath로 설정된 경우 이 속성이 필요합니다. 이 속성은 간청-응답 포트에 대해서만 유효합니다. 기본값: XML |
PropagateFaultMessage | 부울 - True - 아웃바운드 처리에 실패한 메시지를 구독 애플리케이션(예: 다른 수신 포트 또는 오케스트레이션 일정)으로 라우팅합니다. - False - 실패한 메시지를 일시 중단하고 NACK(부정 승인)를 생성합니다. |
아웃바운드 처리에 실패한 메시지를 라우팅할지, 아니면 일시 중단할지를 지정합니다. 이 속성은 간청-응답 포트에 대해서만 유효합니다. 기본값: True |
BizTalk 관리 콘솔을 사용하여 WCF-WSHttp 송신 포트 구성
BizTalk 관리 콘솔에서 WCF-WSHttp 송신 포트 어댑터 변수를 설정할 수 있습니다. 송신 포트에 대한 속성을 설정하지 않으면 이전 표에 표시된 WCF-WSHttp 송신 포트 구성의 기본값이 사용됩니다.
WCF-WSHttp 송신 포트에 대한 변수 구성
BizTalk 관리 콘솔에서 새 송신 포트를 만들거나 기존 송신 포트를 두 번 클릭하여 수정합니다. 자세한 내용은 송신 포트를 만드는 방법을 참조하세요. 모든 송신 포트 옵션을 구성하고 일반 탭의 전송 섹션에서 형식 옵션에 대해 WCF-WSHttp를 지정합니다.
일반 탭의 전송 섹션에서 형식 옆에 있는 구성 단추를 클릭합니다.
WCF-WSHttp 전송 속성 대화 상자의 일반 탭에서 WCF-WSHttp 송신 포트에 대한 엔드포인트 주소, 서비스 ID 및 SOAPAction HTTP 헤더를 구성합니다. WCF-WSHttp 전송 속성 대화 상자의 일반 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조의 WCF-WSHttp 전송 속성 대화 상자, 보내기, 일반 탭을 참조하세요.
WCF-WSHttp 전송 속성 대화 상자의 바인딩 탭에서 제한 시간, 인코딩 및 트랜잭션 속성을 구성합니다. WCF-WSHttp 전송 속성 대화 상자의 바인딩 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조의 WCF-WSHttp 전송 속성 대화 상자, 보내기, 바인딩 탭을 참조하세요.
WCF-WSHttp 전송 속성 대화 상자의 보안 탭에서 WCF-WSHttp 송신 포트의 보안 기능을 정의합니다. WCF-WSHttp 전송 속성 대화 상자의 보안 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조의 WCF-WSHttp 전송 속성 대화 상자, 보내기, 보안 탭을 참조하세요.
WCF-WSHttp 전송 속성 대화 상자의 프록시 탭에서 WCF-WSHttp 송신 포트에 대한 프록시 설정을 구성합니다. WCF-WSHttp 전송 속성 대화 상자의 프록시 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조의 WCF-WSHttp 전송 속성 대화 상자, 보내기, 프록시 탭을 참조하세요.
WCF-WSHttp 전송 속성 대화 상자의 메시지 탭에서 SOAP 본문 요소에 대한 데이터 선택을 지정합니다. WCF-WSHttp 전송 속성 대화 상자의 메시지 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조의 WCF-WSHttp 전송 속성 대화 상자, 보내기, 메시지 탭을 참조하세요.
프로그래밍 방식으로 WCF-WSHttp 송신 포트 구성
다음 형식을 사용하여 속성을 설정할 수 있습니다.
<CustomProps>
<ServiceCertificate vt="8" />
<UseSSO vt="11">0</UseSSO>
<InboundBodyPathExpression vt="8" />
<MessageClientCredentialType vt="8">Windows</MessageClientCredentialType>
<SendTimeout vt="8">00:01:00</SendTimeout>
<OutboundXmlTemplate vt="8"><bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="xml"/></OutboundXmlTemplate>
<OpenTimeout vt="8">00:01:00</OpenTimeout>
<Identity vt="8" />
<AlgorithmSuite vt="8">Basic256</AlgorithmSuite>
<SecurityMode vt="8">Message</SecurityMode>
<TransportClientCredentialType vt="8">Windows</TransportClientCredentialType>
<TextEncoding vt="8">utf-8</TextEncoding>
<NegotiateServiceCredential vt="11">-1</NegotiateServiceCredential>
<MaxReceivedMessageSize vt="3">2097152</MaxReceivedMessageSize>
<ClientCertificate vt="8" />
<ProxyUserName vt="8" />
<CloseTimeout vt="8">00:01:00</CloseTimeout>
<ProxyToUse vt="8">Default</ProxyToUse>
<EnableTransaction vt="11">0</EnableTransaction>
<InboundBodyLocation vt="8">UseBodyElement</InboundBodyLocation>
<InboundNodeEncoding vt="8">Xml</InboundNodeEncoding>
<EstablishSecurityContext vt="11">-1</EstablishSecurityContext>
<StaticAction vt="8">http://www.northwindtraders.com/Service/Operation</StaticAction>
<PropagateFaultMessage vt="11">-1</PropagateFaultMessage>
<ProxyAddress vt="8" />
<MessageEncoding vt="8">Text</MessageEncoding>
<OutboundBodyLocation vt="8">UseBodyElement</OutboundBodyLocation>
</CustomProps>
다음 코드 조각은 WCF-WSHttp 송신 포트를 만드는 방법을 보여 줍니다.
// Use BizTalk Explorer object model to create new WCF-WSHttp send port.
string server = System.Environment.MachineName;
string database = "BizTalkMgmtDb";
string connectionString = string.Format("Server={0};Database={1};Integrated Security=true", server, database);
string transportConfigData = @"<CustomProps>
<StaticAction vt=""8"">http://www.northwindtraders.com/Service/Operation</StaticAction>
<MessageEncoding vt=""8"">Text</MessageEncoding>
<TextEncoding vt=""8"">utf-8</TextEncoding>
<OpenTimeout vt=""8"">00:01:00</OpenTimeout>
</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 = "SampleBizTalkApplication";
// Save
explorer.SaveChanges();
// Add a new static one-way send port
SendPort sendPort = application.AddNewSendPort(false, false);
sendPort.Name = "SampleSendPort";
sendPort.PrimaryTransport.TransportType = explorer.ProtocolTypes["WCF-WSHttp"];
sendPort.PrimaryTransport.Address = "http://mycomputer/samplepath";
sendPort.PrimaryTransport.TransportTypeData = transportConfigData; // propertyData; // need to change
sendPort.SendPipeline = explorer.Pipelines["Microsoft.BizTalk.DefaultPipelines.PassThruTransmit"];
// Save
explorer.SaveChanges();
참고 항목
WCF 어댑터 속성 스키마 및 속성 WCF 어댑터 컨텍스트 속성을 사용하여 동적 송신 포트 구성 WCF 어댑터에 대한 인증서를 설치하는 WCF 어댑터에 대한 메시지 본문을 지정하는 WCF-WSHttp 어댑터 구성