다음을 통해 공유


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 어댑터는 프록시에 대한 인증을 위해 ProxyUserNameProxyPassword 속성에 지정된 자격 증명을 사용하지 않습니다. 참고: 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 송신 포트에 대한 변수 구성

  1. BizTalk 관리 콘솔에서 새 송신 포트를 만들거나 기존 송신 포트를 두 번 클릭하여 수정합니다. 자세한 내용은 송신 포트를 만드는 방법을 참조하세요. 모든 송신 포트 옵션을 구성하고 일반 탭의 전송 섹션에서 형식 옵션에 대해 WCF-WSHttp를 지정합니다.

  2. 일반 탭의 전송 섹션에서 형식 옆에 있는 구성 단추를 클릭합니다.

  3. WCF-WSHttp 전송 속성 대화 상자의 일반 탭에서 WCF-WSHttp 송신 포트에 대한 엔드포인트 주소, 서비스 ID 및 SOAPAction HTTP 헤더를 구성합니다. WCF-WSHttp 전송 속성 대화 상자의 일반 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조WCF-WSHttp 전송 속성 대화 상자, 보내기, 일반 탭을 참조하세요.

  4. WCF-WSHttp 전송 속성 대화 상자의 바인딩 탭에서 제한 시간, 인코딩 및 트랜잭션 속성을 구성합니다. WCF-WSHttp 전송 속성 대화 상자의 바인딩 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조WCF-WSHttp 전송 속성 대화 상자, 보내기, 바인딩 탭을 참조하세요.

  5. WCF-WSHttp 전송 속성 대화 상자의 보안 탭에서 WCF-WSHttp 송신 포트의 보안 기능을 정의합니다. WCF-WSHttp 전송 속성 대화 상자의 보안 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조WCF-WSHttp 전송 속성 대화 상자, 보내기, 보안 탭을 참조하세요.

  6. WCF-WSHttp 전송 속성 대화 상자의 프록시 탭에서 WCF-WSHttp 송신 포트에 대한 프록시 설정을 구성합니다. WCF-WSHttp 전송 속성 대화 상자의 프록시 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조WCF-WSHttp 전송 속성 대화 상자, 보내기, 프록시 탭을 참조하세요.

  7. 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 어댑터 구성