다음을 통해 공유


WCF-NetMsmq 송신 포트 구성 방법

WCF-NetMsmq 송신 포트는 BizTalk 관리 콘솔을 사용하거나 프로그래밍 방식으로 구성할 수 있습니다.

구성 속성

BizTalk Explorer 개체 모델은 TransportTypeData 읽기/쓰기 속성이 있는 ITransportInfo라는 송신 포트에 대한 어댑터별 인터페이스를 노출합니다. 이 속성은 이름/값 쌍 XML 문자열 형식의 WCF-NetMsmq 송신 포트 구성 속성 모음을 허용합니다.

ITransportInfo 인터페이스의 TransportTypeData 속성은 필요하지 않습니다. 이 속성을 설정하지 않으면 어댑터에서는 다음 표에 표시된 WCF-NetMsmq 송신 포트 구성에 대한 기본값을 사용합니다.

다음 표는 WCF-NetMsmq 송신 포트에 대해 BizTalk 탐색기 개체 모델에서 설정할 수 있는 구성 속성을 보여 줍니다.

속성 이름 Type Description
ID XML Blob

예제:

<identity>

<userPrincipalName value="username@contoso.com" />

</Id>
이 송신 포트에 필요한 서비스의 ID를 지정합니다. 이 설정을 통해 송신 포트가 서비스를 인증할 수 있습니다. 클라이언트와 서비스 간의 핸드셰이크 프로세스에서 WCF(Windows Communication Foundation) 인프라는 예상되는 서비스의 ID가 이 요소의 값과 일치하는지 확인합니다.

기본값은 빈 문자열입니다.
StaticAction String 보내는 메시지에 대한 SOAPAction 헤더 필드를 지정합니다. 이 속성은 메시지 컨텍스트 속성 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
EnableTransactional 부울 대상 서비스에 대한 메시지 큐 유형(트랜잭션 또는 비전송)을 지정합니다. 이 속성이 True로 설정된 경우 이 송신 포트에서 처리된 각 메시지는 한 번만 배달되고 보낸 사람에게 배달 실패 알림이 표시됩니다. 트랜잭션 송신 포트를 통해 메시지를 보내려면 서비스의 지속성정확히Once 바인딩 요소를 모두 True로 설정해야 합니다. 이 속성을 False로 설정하면 배달 보증 없이 메시지가 전송됩니다.

기본값: True
DeadLetterQueue 열거형

- 없음 - 배달 못한 편지 큐를 사용할 수 없습니다.
- 시스템 - 시스템 전체의 배달 못한 편지 큐를 사용합니다.
- 사용자 지정 - 사용자 지정 배달 못한 편지 큐를 사용합니다.
응용 프로그램으로 배달하지 못한 메시지가 전송될 배달 못한 편지 큐를 지정합니다. 배달 못한 편지 큐에 배달된 메시지에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조WCF-NetMsmq 전송 속성 대화 상자, 보내기, 바인딩 탭을 참조하세요.

참고: 사용자 지정 배달 못한 편지 큐는 Windows Vista와 함께 릴리스된 MSMQ(메시지 큐) 4.0에서만 지원됩니다.

기본값: 시스템
CustomDeadLetterQueue String 애플리케이션별 배달 못 한 편지 큐의 위치에 대해 net.msmq 스키마 를 사용하여 정규화된 URI를 지정합니다. 여기서 만료되었거나 전송 또는 배달에 실패한 메시지가 배치됩니다. net.msmq://localhost/deadLetterQueueName)를 지정합니다. 배달 못 한 편지 큐는 송신 애플리케이션의 큐 관리자에서 관리하는 큐로, 배달하지 못한 만료된 메시지가 보관됩니다. DeadLetterQueue 속성이 Custom으로 설정된 경우 이 속성이 필요합니다.

기본값은 빈 문자열입니다.
timeToLive System.TimeSpan 메시지가 만료되어 배달 못한 편지 큐에 배치되기까지 메시지 유효 기간의 시간 범위를 지정합니다. 이 속성은 시간이 중요한 메시지가 이 송신 포트에서 처리되기 전에 기한이 지나지 않도록 하기 위해 설정됩니다. 이 송신 포트에서 지정된 시간 간격 내에 처리하지 않은 큐의 메시지는 만료된 것으로 간주됩니다. 만료된 메시지는 배달 못한 편지 큐라는 특수 큐로 전송됩니다. 배달 못한 편지 큐의 위치는 DeadLetterQueue 속성으로 설정됩니다.

기본값: 1.00:00:00
UseSourceJournal 부울 이 송신 포트에서 처리한 메시지 복사본을 소스 저널 큐에 저장할지 여부를 지정합니다.

기본값: False
SecurityMode 열거형

- 없음
- 메시지
- 전송
- 모두

SecurityMode 속성의 멤버 이름에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조WCF-NetMsmq 전송 속성 대화 상자, 보내기, 보안 탭의 보안 모드 속성을 참조하세요.
사용할 보안 유형을 지정합니다.

기본값: 전송
MsmqAuthenticationMode 열거형

- 없음
- WindowsDomain
- 인증서

MsmqAuthenticationMode 속성의 멤버 이름에 대한 자세한 내용은 WCF-NetMsmq 전송 속성 대화 상자MSMQ 인증 모드 속성, UI 지침의 보내기, 보안 탭 및 개발자 API 네임스페이스 참조를 참조하세요.
메시지가 MSMQ 전송에 의해 인증되는 방식을 지정합니다.

기본값: WindowsDomain
MsmqProtectionLevel 열거형

- 없음: 보호가 없습니다.
- 서명: 메시지가 서명됩니다.
- EncryptAndSign: 메시지가 암호화되고 서명됩니다. 이 보호 수준을 사용하려면 MSMQActive Directory 통합을 사용하도록 설정해야 합니다.
메시지가 MSMQ 전송 수준에서 보호되는 방식을 지정합니다.

기본값: 기호
MsmqSecureHashAlgorithm 열거형

- MD5
- SHA1
- SHA25
- Sha512
메시지 다이제스트를 확인하기 위해 사용할 해시 알고리즘을 지정합니다. MsmqProtectionLevel 속성이 None으로 설정된 경우에는 이 속성을 사용할 수 없습니다.

기본값: SHA1
MsmqEncryptionAlgorithm 열거형

- RC4Stream
- Aes
메시지 큐 관리자 간 메시지 전송 시 메시지 암호화에 사용할 알고리즘을 지정합니다. 이 속성은 MsmqProtectionLevel 속성이 EncryptAndSign으로 설정된 경우에만 사용할 수 있습니다.

기본값: RC4Stream
MessageClientCredentialType 열거형

- 없음
- Windows
- 사용자
- 인증서

MessageClientCredentialType 속성의 멤버 이름에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조의 WCF-NetMsmq 전송 속성 대화 상자, 보내기, 보안 탭의 메시지 클라이언트 자격 증명 형식 속성을 참조하세요.
메시지 기반 보안을 사용하여 클라이언트 인증 수행에 사용할 자격 증명 유형을 지정합니다.

기본값: Windows
AlgorithmSuite 열거형

AlgorithmSuite 속성의 멤버 이름에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조WCF-NetMsmq 전송 속성 대화 상자, 보내기, 보안 탭의 알고리즘 제품군 속성을 참조하세요.
메시지 암호화 및 키 랩 알고리즘을 지정합니다. 이러한 알고리즘은 보안 정책 언어(WS-SecurityPolicy) 사양에 지정된 알고리즘에 매핑됩니다.

기본값: Basic256
ClientCertificate String 서비스에 대해 이 송신 포트를 인증하는 데 사용할 X.509 인증서의 손 도장(Thumbprint)을 지정합니다. ClientCredentialsType 속성이 인증서로 설정된 경우 이 속성이 필요합니다. 이 속성에 사용할 인증서는 현재 사용자 위치의 저장소에 설치해야 합니다.

기본값은 빈 문자열입니다.
ServiceCertificate 문자열 송신 포트에서 메시지를 보낼 서비스를 인증하는 데 사용할 X.509 인증서의 손 도장(Thumbprint)을 지정합니다. 이 속성에 사용할 인증서는 로컬 컴퓨터 위치의 기타 사람 저장소에 설치해야 합니다.

기본값은 빈 문자열입니다.
AffiliateApplicationName 문자열 Enterprise SSO(Single Sign-On)에 사용할 관련 응용 프로그램을 지정합니다.

기본값은 빈 문자열입니다.
UseSSO 부울 대상 서버 인증을 위한 클라이언트 자격 증명을 검색하는 데 Single Sign-On을 사용할지 여부를 지정합니다.

기본값: False
UserName String UseSSO 속성이 False로 설정된 경우 대상 서버에서 인증에 사용할 사용자 이름을 지정합니다. 이 속성에 대해 도메인\사용자 형식을 사용하지 않아도 됩니다.

기본값은 빈 문자열입니다.
암호 String UseSSO 속성이 False로 설정된 경우 대상 서버에서 인증에 사용할 암호를 지정합니다.

기본값은 빈 문자열입니다.
OutboundBodyLocation 열거형

- UseBodyElement - BizTalk 메시지 본문 부분을 사용하여 보내는 메시지에 대한 SOAP 본문 요소의 콘텐츠를 만듭니다.
- UseTemplate - OutboundXMLTemplate 속성에 제공된 템플릿을 사용하여 보내는 메시지에 대한 SOAP Body 요소의 콘텐츠를 만듭니다.

OutboundBodyLocation 속성을 사용하는 방법에 대한 자세한 내용은 WCF 어댑터에 대한 메시지 본문 지정을 참조하세요.
나가는 WCF 메시지의 SOAP Body 요소에 대한 데이터 선택을 지정합니다.

기본값: UseBodyElement
OutboundXMLTemplate String

OutboundXMLTemplate 속성을 사용하는 방법에 대한 자세한 내용은 WCF 어댑터에 대한 메시지 본문 지정을 참조하세요.
보내는 메시지의 SOAP 본문 요소 내용에 대한 XML 형식 템플릿을 지정합니다. OutboundBodyLocation 속성이 UseTemplate으로 설정된 경우 이 속성이 필요합니다.

기본값은 빈 문자열입니다.

BizTalk 관리 콘솔을 사용하여 WCF-NetMsmq 송신 포트 구성

BizTalk 관리 콘솔에서 WCF-NetMsmq 송신 포트 어댑터 변수를 설정할 수 있습니다. 송신 포트에 대한 속성을 설정하지 않으면 이전 표에 표시된 WCF-NetMsmq 송신 포트 구성의 기본값이 사용됩니다.

WCF-NetMsmq 송신 포트에 대한 변수 구성

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

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

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

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

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

  6. WCF-NetMsmq 전송 속성 대화 상자의 메시지 탭에서 SOAP 본문 요소에 대한 데이터 선택을 지정합니다. WCF-NetMsmq 전송 속성 대화 상자의 메시지 탭에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조WCF-NetMsmq 전송 속성 대화 상자, 보내기, 메시지 탭을 참조하세요.

프로그래밍 방식으로 WCF-NetMsmq 송신 포트 구성

다음 형식을 사용하여 속성을 설정할 수 있습니다.

<CustomProps>  
  <ServiceCertificate vt="8" />  
  <UseSSO vt="11">0</UseSSO>  
  <CloseTimeout vt="8">00:01:00</CloseTimeout>  
  <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>  
  <MsmqProtectionLevel vt="8">Sign</MsmqProtectionLevel>  
  <OpenTimeout vt="8">00:01:00</OpenTimeout>  
  <UseSourceJournal vt="11">0</UseSourceJournal>  
  <AlgorithmSuite vt="8">Basic256</AlgorithmSuite>  
  <SecurityMode vt="8">Transport</SecurityMode>  
  <CustomDeadLetterQueue vt="8" />  
  <ClientCertificate vt="8" />  
  <MsmqEncryptionAlgorithm vt="8">RC4Stream</MsmqEncryptionAlgorithm>  
  <StaticAction vt="8">http://www.northwindtraders.com/Service/Operation</StaticAction>  
  <MsmqSecureHashAlgorithm vt="8">Sha1</MsmqSecureHashAlgorithm>  
  <EnableTransaction vt="11">-1</EnableTransaction>  
  <TimeToLive vt="8">1.00:00:00</TimeToLive>  
  <MsmqAuthenticationMode vt="8">WindowsDomain</MsmqAuthenticationMode>  
  <DeadLetterQueue vt="8">System</DeadLetterQueue>  
  <OutboundBodyLocation vt="8">UseBodyElement</OutboundBodyLocation>  
</CustomProps>  

다음 코드 조각은 WCF-NetMsmq 송신 포트를 만드는 방법을 보여 줍니다.

// Use BizTalk Explorer object model to create new WCF-NetMsmq 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>  
                                 <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-NetMsmq"];  
sendPort.PrimaryTransport.Address = "net.msmq://mycomputer/private/samplequeue";  
sendPort.PrimaryTransport.TransportTypeData = transportConfigData; // propertyData; // need to change  
sendPort.SendPipeline = explorer.Pipelines["Microsoft.BizTalk.DefaultPipelines.PassThruTransmit"];  
// Save  
explorer.SaveChanges();  

참고 항목

WCF 어댑터 속성 스키마 및 속성
WCF 어댑터에 대한 인증서 설치
WCF 어댑터에 대한 메시지 본문 지정
WCF-NetMsmq 어댑터 구성
WCF 어댑터 컨텍스트 속성을 사용하여 동적 송신 포트 구성