BizTalk WCF 서비스 사용 마법사를 통해 WCF 서비스를 사용하는 방법
BizTalk 어댑터 프레임워크를 사용하면 어댑터 스키마 및 BizTalk 유형을 BizTalk 프로젝트에 추가할 수 있습니다. 그리고 BizTalk WCF 서비스 사용 마법사를 통해 WCF 송신 어댑터를 BizTalk 프로젝트에 추가할 수 있습니다. WCF 송신 어댑터의 경우 송신 포트에 대해 기존 MEX(Metadata Exchange) 엔드포인트를 선택해야 합니다. 그런 다음 스키마 및 유형을 생성하는 데 사용되는 정보를 입력해야 합니다. 마법사가 완료되면 WCF 서비스 사용에 필요한 스키마 및 유형이 BizTalk 프로젝트에 추가됩니다.
WCF 송신 어댑터에 대한 스키마 및 유형을 프로젝트에 추가하려면
Microsoft Visual Studio BizTalk 프로젝트의 솔루션 탐색기 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 클릭한 다음 생성된 항목 추가를 클릭합니다.
생성된 항목 추가 - <프로젝트 이름> 대화 상자의 템플릿 섹션에서 WCF 서비스 사용을 선택하고 추가를 클릭합니다.
BizTalk WCF 서비스 사용 마법사 시작 페이지에서 다음을 클릭합니다.
메타데이터 원본 페이지에서 가져올 메타데이터의 원본을 선택하고 다음을 클릭합니다.
실행 중인 서비스의 메타데이터 교환 엔드포인트에서 메타데이터 문서를 다운로드하려면 MEX(메타데이터 교환) 엔드포인트 옵션을 선택합니다. 이 옵션을 선택하면 WCF 서비스에 대한 클라이언트 역할을 하는 송신 포트를 만들 수 있습니다. 이 옵션을 사용하려면 서비스 엔드포인트에서 HTTP/GET 또는 HTTPS/GET 요청을 사용하는 검색을 위한 서비스 메타데이터를 게시해야 합니다. 또한 서비스 엔드포인트는 익명 사용자 자격 증명이나 사용자 이름 및 암호 형식 사용자 자격 증명(기본 인증 체계 사용)을 통해 메타데이터에 액세스할 수 있도록 허용해야 합니다.
참고
기본 인증 체계를 사용하는 경우 자격 증명이 일반 텍스트로 전송되므로 쉽게 가로챌 수 있습니다. 또한 이 체계는 서비스에서 다시 전달되는 정보를 보호하지 않습니다. 데이터를 암호화하려면 SSL(Secure Sockets Layer)을 사용해야 합니다.
가져올 다른 메타데이터 문서에 대해 메타데이터 파일(WSDL 및 XSD) 옵션을 선택하여 파일 시스템에서 메타데이터를 가져옵니다.
참고
모든 서비스에서 메타데이터를 게시해야 하는 것은 아닙니다. 메타데이터 게시를 사용하지 않으면 서비스에서 공격 받을 수 있는 부분이 줄어들고 실수로 정보가 공개될 위험이 감소합니다.
메타데이터 원본 페이지에서 MEX(메타데이터 교환) 엔드포인트 옵션을 선택한 경우 메타데이터 엔드포인트 페이지가 나타납니다. 메타데이터 엔드포인트 페이지에서 WS-Metadata Exchange 또는 Http-Get을 통해 다운로드할 메타데이터를 제공하는 실행 중인 서비스의 URL을 지정합니다. URL에서 메타데이터 문서를 가져오려면 가져오기를 클릭합니다. 실행 중인 서비스에 기본 인증 체계가 있는 사용자 자격 증명이 필요한 경우 편집 을 클릭하여 서비스 실행에 액세스할 때 사용할 사용자 이름과 암호를 제공할 수 있는 BizTalk WCF 서비스 사용 마법사 대화 상자를 엽니다.
참고
HTTP 또는 HTTPS를 통해 게시된 WCF 서비스에 대한 메타데이터를 다운로드하려면 메타데이터 주소 텍스트 상자와 같은
http://localhost:8087/CalculatorService/mex
MEX 엔드포인트를 사용할 수 없습니다. WCF 서비스의 경우 다음과 같이 WSDL 메타데이터를 사용하여 메타데이터를 다운로드해야 합니다.http://localhost:8087/CalculatorService
http://localhost:8087/CalculatorService?wsdl
메타데이터 원본 페이지에서 메타데이터 파일(WSDL 및 XSD) 옵션을 선택한 경우 메타데이터 엔드포인트 페이지가 나타납니다. 메타데이터 엔드포인트 페이지에서 가져올 메타데이터 파일을 지정합니다. 추가를 클릭하여 메타데이터 파일 보기로 가져올 메타데이터 파일을 추가합니다. 그러면 메타데이터 파일 의 디스크 위치를 검색할 수 있는 메타데이터 파일 추가 대화 상자가 열립니다.
메타데이터 파일 추가 대화 상자에서 메타데이터에 사용할 전체 WSDL 및 XSD 파일 집합을 선택합니다. 명령 프롬프트에서 다음 명령을 입력하여 이러한 메타데이터 파일을 생성할 수 있습니다.
svcutil.exe /t:metadata http://localhost/service.svc/mex
제거를 클릭하여 메타데이터 파일 보기에서 선택한 메타데이터 파일을 제거합니다.
참고
SvcUtil.exe는 Windows Vista의 Microsoft Windows SDK(소프트웨어 개발 키트) 및 .NET Framework 런타임 구성 요소에 포함되어 있습니다.
참고
서비스 메타데이터를 보안되지 않은 방식으로 검색하면 해당 서비스 메타데이터가 변조되거나 스푸핑될 수 있습니다. 손상된 메타데이터는 클라이언트를 악의적인 서비스로 리디렉션하거나 손상된 보안 설정 또는 악성 XML 구조를 포함할 수 있습니다. 메타데이터 문서는 매우 클 수 있어 파일 시스템에 저장되는 경우가 많습니다. 따라서 메타데이터 파일이 손상되지 않았는지 확인해야 합니다.
WCF 서비스 메타데이터 가져오기 요약 페이지에서 설정을 검토합니다. 뒤로를 클릭하여 변경할 수 있습니다. 그런 다음 가져오기 를 클릭하여 WCF 서비스를 사용하는 데 사용할 BizTalk 아티팩트 및 형식을 만듭니다.
BizTalk WCF 서비스 사용 마법사 완료 페이지에서 마침을 클릭합니다. 이 마법사를 다시 실행하려면 이 마법사 실행 옵션을 다시 선택한 다음 마침을 클릭합니다.
BizTalk WCF 서비스 사용 마법사에서 WCF 서비스를 사용하는 데 필요한 BizTalk 스키마 및 유형을 BizTalk 프로젝트에 만듭니다. 포트 유형 및 다중 파트 메시지 유형과 같은 BizTalk 유형은 오케스트레이션에 만들어집니다. 마법사에서 만드는 오케스트레이션은 수정하지 않는 것이 좋습니다. 대신 원하는 용도의 오케스트레이션을 BizTalk 프로젝트에 새로 추가할 수 있습니다. BizTalk WCF 서비스 사용 마법사는BizTalkServiceInstance.BindingInfo.xml 및 BizTalkServiceInstance_Custom.BindingInfo.xml 두 개의 바인딩 파일도 만듭니다. BizTalkServiceInstance.BindingInfo.xml 표준 바인딩 WCF 어댑터(예: WCF-NetMsmq 및 WCF-WSHttp 어댑터)를 사용하여 송신 포트를 구성하기 위해 개발 명령줄 도구 또는 마법사에서 가져올 수 있는 BizTalk 바인딩 파일입니다. BizTalkServiceInstance.BindingInfo.xml 개발 명령줄 도구 또는 마법사에서 가져와 WCF-Custom 어댑터를 사용하여 송신 포트를 구성할 수 있는 BizTalk 바인딩 파일입니다.
생성된 바인딩 파일을 가져오면 WCF가 채워집니다 . 작업 매핑 형식의 작업 속성입니다. 이 속성이 구성되는 방법을 확인하려면 BizTalk 관리 콘솔의 WCF 송신 포트 전송 속성 대화 상자의 일반 탭에서 작업 텍스트 상자를 확인합니다.
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를 설정할 수 있습니다 . 파이프라인 구성 요소의 작업 속성입니다. BizTalk WCF 사용 마법사에서 생성된 포트에는 BtsActionMapping> 요소의<Name 특성과 일치하는 이름의 작업이 있습니다. BTS를 명시적으로 설정할 필요는 없습니다 . 마법사에서 생성된 포트를 통해 메시지를 보낼 때 오케스트레이션의 작업 속성입니다.
참고 항목
BizTalk WCF 서비스 게시 마법사를 사용하여 오케스트레이션을 WCF 서비스로 게시하는 방법
BizTalk WCF 서비스 게시 마법사를 사용하여 스키마를 WCF 서비스로 게시하는 방법