방법: UDDI 3.0 레지스트리에 서비스 게시
목표
이 섹션에서는 UDDI 서비스 사이트를 사용하여 ESB 메시지를 라우팅하기 위해 일정 내에서 확인할 수 있는 웹 서비스 엔드포인트를 게시하는 방법을 보여 줍니다. 현재 레지스트리에 게시된 기존 PurchaseOrderSubmitOrderService 서비스를 복제합니다.
이 방법 항목에서는 다음 단계를 완료합니다.
UDDI 게시자 도구를 사용하여 UDDI(유니버설 설명, 검색 및 통합) 3 레지스트리에 서비스를 게시합니다.
UDDI3 확인자를 사용하여 서비스 엔드포인트를 확인하는 여정 라우팅 쪽지를 사용하여 서비스 게시를 테스트합니다.
필수 구성 요소
이 방법 항목의 절차에서는 개발 활동에 대한 필수 구성 요소를 완료하고 UDDI 게시자 도구를 실행해야 합니다(%ESB Install Folder%\Bin\Microsoft.Practices.ESB.UDDIPublisher.exe 설치할 수 있습니다).
단계
UDDI 레지스트리에서 NewPOService를 만들려면
인터넷 Explorer UDDI 서비스 사이트(기본적으로 URL)로 이동합니다.http://localhost/uddi).
uddi Services 페이지에서 게시를 클릭합니다.
게시 창에서 Microsoft.Practices.ESB를 마우스 오른쪽 단추로 클릭한 다음 서비스 추가를 클릭합니다.
다음 페이지에서 사용할 키 지정을 선택한 다음 계속을 클릭합니다.
다음 페이지에서 esb 키 파티션을 클릭합니다. 키 접미사 상자에 newposervice를 입력한 다음 계속을 클릭합니다.
다음 페이지에서 (새 서비스 이름) 옆에 있는 편집을 클릭합니다. 서비스 이름을 NewPOService로 지정하고 업데이트를 클릭합니다.
설명 추가를 클릭하고 서비스에 대한 설명을 입력한 다음(예: 샘플 서비스) 업데이트를 클릭합니다.
NewPOService에 대한 바인딩을 추가하려면
바인딩 탭 을 클릭한 다음 바인딩 추가를 클릭합니다.
사용할 키 지정을 선택한 다음 계속을 클릭합니다.
다음 페이지에서 esb 키 파티션을 클릭합니다. 키 접미사 상자에 newposervicebinding을 입력하고 계속을 클릭합니다.
액세스 지점 아래에서 편집을 클릭한 다음 다음을 완료합니다.
액세스 지점 상자에 를 입력합니다http://localhost/ESB.CanadianServices/SubmitPOService.asmx.
형식 사용 드롭다운 목록에서 엔드포인트를 클릭한 다음 업데이트를 클릭합니다.
바인딩 instance 정보를 구성하려면
인스턴스 정보 탭을 클릭한 다음 인스턴스 정보 추가를 클릭합니다.
포함된 tModel 이름 검색 상자에 %esb%를 입력한 다음 검색을 클릭합니다.
transporttype에 대한 tModel을 찾아 클릭합니다.
참고
이 절차의 나머지 단계를 완료하려면 1페이지와 2페이지 사이를 변경해야 할 수 있습니다.
설명 섹션에서 설명 추가를 클릭합니다.
설명 상자에 ESB 여정 사용에 대한 전송 유형을 입력한 다음 업데이트를 클릭합니다.
인스턴스 세부 정보 탭을 클릭한 다음 편집을 클릭합니다.
인스턴스 매개 변수 상자에 WCF-BasicHttp를 입력한 다음 업데이트를 클릭합니다.
설명 섹션에서 설명 추가를 클릭합니다.
설명 상자에 WCF 기본 HTTP 전송을 입력한 다음 업데이트를 클릭합니다.
게시 창의 NewPOService에서 를 클릭합니다 http://localhost/esb.canadianservices/submitposervice.asmx.
인스턴스 정보 탭에서 인스턴스 정보 추가를 클릭합니다.
앞에서 설명한 단계를 사용하여 다음 표에 표시된 값에 따라 다음 instance 정보를 추가합니다.
tModel Description 매개 변수 매개 변수 설명 microsoft-com:esb:runtimeresolution:messageexchangepattern 메시지 교환 패턴 양방향 양방향 작업 microsoft-com:esb:runtimeresolution:cachetimeout 캐시 시간 제한 -1 현재 사용 안 함 microsoft-com:esb:runtimeresolution:jaxrpcresponse JaxRpcResponse false microsoft-com:esb:runtimeresolution:action 서비스 작업 submitOrder 호출할 서비스 메서드를 지정합니다. microsoft-com:esb:runtimeresolution:targetnamespace 서비스 네임스페이스 http://globalbank.esb.dynamicresolution.com/canadianservices 대상 네임스페이스
바인딩 분류를 구성하려면
게시 창의 NewPOService에서 를 클릭합니다 http://localhost/esb.canadianservices/submitposervice.asmx.
범주 탭에서 사용자 지정 범주 추가를 클릭합니다.
검색 상자에 %esb%를 입력한 다음 검색을 클릭합니다.
microsoft-com:esb:runtimeresolution:biztalkapplication tModel을 찾아 클릭합니다.
키 이름 상자에 BizTalk Application을 입력합니다.
키 값 상자에 Microsoft.Practices.ESB를 입력한 다음 범주 추가를 클릭합니다.
앞에서 설명한 단계를 사용하여 다음 표에 표시된 값에 따라 다음 사용자 지정 범주를 추가합니다.
tModel 키 이름 키 값 microsoft-com:esb:runtimeresolution:portname 포트 이름 NewPOService microsoft-com:esb:runtimeresolution:transporttype 전송 형식 WCF-BasicHttp
UDDI 레지스트리에서 서비스를 찾으려면
인터넷 Explorer uddi Services 페이지에서 검색을 클릭합니다.
서비스 탭을 클릭합니다.
서비스 이름 상자에 %PO%를 입력한 다음 검색을 클릭합니다.
검색 창의 결과 탭에서 새로 만들기POService를 클릭합니다.
참고
이렇게 하면 서비스가 레지스트리에 성공적으로 게시되었는지 확인합니다.
UDDI 서비스 게시를 테스트하는 여정 모델을 만들려면
Visual Studio에서 C:\HowTos\Patterns\Patterns.sln을 엽니다.
솔루션 탐색기 여정라이브러리 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 여정을 클릭합니다.
새 항목 추가 대화 상자의 이름 상자에 NewBindingKeySearch를 입력하고 추가를 클릭합니다.
여정의 속성을 구성하려면
Visual Studio에서 NewBindingKeySearch.itinerary의 디자인 화면을 클릭합니다. NewBindingKeySearch 속성 창 다음 속성을 구성합니다.
Is Request Response 드롭다운 목록에서 True를 클릭합니다.
모델 내보내기 드롭다운 목록에서 XML 여정 내보내기를 클릭합니다.
Extender 설정 섹션의 여정 XML 파일 속성 옆에 있는 줄임표 단추(...)를 클릭합니다.
XML 파일 선택 대화 상자의 파일 이름 상자에 C:\HowTos\Itineraries\NewBindingKeySearch를 입력하고 저장을 클릭합니다.
참고
이 단계를 통해 여정을 XML로 로컬 파일 위치로 내보낼 수 있습니다. 여정 데이터베이스 대신 로컬 파일 위치로 여정을 내보내면 ESB 테스트 클라이언트 애플리케이션을 사용하여 여정을 테스트할 수 있습니다. 이 프로세스는 이 방법 항목의 뒷부분에서 완료합니다.
여정의 구조를 정의하려면
도구 상자에서 On-Ramp 모델 요소를 디자인 화면으로 끌어옵니다. OnRamp1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 ReceiveNAOrder를 입력합니다.
Extender 드롭다운 목록에서 On-Ramp ESB Extender를 클릭합니다.
BizTalk 애플리케이션 드롭다운 목록에서 Microsoft.Practices.ESB를 클릭합니다.
수신 포트 드롭다운 목록에서 OnRamp.Itinerary.Response를 클릭합니다.
도구 상자에서 여정 서비스 모델 요소를 디자인 화면으로 끌어옵니다. ItineraryService1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 TransformNAOrder를 입력합니다.
여정 서비스 확장기 드롭다운 목록에서 메시징 확장자를 클릭합니다.
컨테이너 드롭다운 목록에서 ReceiveNAOrder를 확장한 다음 수신 처리기를 클릭합니다.
서비스 이름 드롭다운 목록에서 Microsoft.Practices.ESB.Services.Transform을 클릭합니다.
TransformNAOrder 모델 요소의 Resolver 컬렉션을 마우스 오른쪽 단추로 클릭한 다음 새 해결 프로그램 추가를 클릭합니다. Resolver1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 NAOrder_to_CNOrder 입력합니다.
해결 프로그램 구현 드롭다운 목록에서 정적 해결 프로그램 확장을 클릭합니다.
변환 형식 드롭다운 목록에서 GlobalBank.ESB.DynamicResolution.Transforms.SubmitOrderRequestNA_To_SubmitOrderRequestCN 클릭합니다.
도구 상자에서 커넥터를 클릭합니다. ReceiveNAOrder 모델 요소에서 TransformNAOrder 모델 요소로 연결을 끌어옵니다.
도구 상자에서 여정 서비스 모델 요소를 디자인 화면으로 끌어옵니다. ItineraryService1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 BindingKeyRoute를 입력합니다.
여정 서비스 확장기 드롭다운 목록에서 메시징 확장자를 클릭합니다.
컨테이너 드롭다운 목록에서 ReceiveNAOrder를 확장한 다음 수신 처리기를 클릭합니다.
서비스 이름 드롭다운 목록에서 Microsoft.Practices.ESB.Services.Routing을 클릭합니다.
BindingKeyRoute 모델 요소의 Resolver 컬렉션을 마우스 오른쪽 단추로 클릭한 다음 새 해결 프로그램 추가를 클릭합니다. Resolver1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 BindingKeySearch를 입력합니다.
해결 프로그램 구현 드롭다운 목록에서 Uddi3 해결 프로그램 확장을 클릭합니다.
해결 프로그램 모니커 드롭다운 목록에서 UDDI3을 클릭합니다.
Binding 키 속성을 클릭한 다음 uddi:esb:newposervicebinding을 입력합니다. 키 값을 찾으려면 UDDI에서 서비스를 클릭한 http://localhost/ESB.CanadianServices/SubmitPOService.asmx 다음 자세히를 클릭합니다.
BindingKeySearch 확인자를 마우스 오른쪽 단추로 클릭한 다음 확인자 구성 테스트를 클릭합니다.
참고
출력 창에 표시되는 출력을 확인합니다.
도구 상자에서 커넥터를 클릭합니다. TransformNAOrder 모델 요소에서 BindingKeyRoute 모델 요소로 연결을 끌어옵니다.
도구 상자에서 오프-램프 모델 요소를 디자인 화면으로 끌어온 다음 BindingKeyRoute 모델 요소의 오른쪽에 놓습니다. OffRamp1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 SendCNOrder를 입력합니다.
Extender 드롭다운 목록에서 오프 램프 ESB Extender를 클릭합니다.
BizTalk 애플리케이션 드롭다운 목록에서 GlobalBank.ESB를 클릭합니다.
송신 포트 드롭다운 목록에서 DynamicResolutionSolicitResp를 클릭합니다.
도구 상자에서 여정 서비스 모델 요소를 디자인 화면으로 끌어온 다음 BindingKeyRoute 모델 요소와 SendCNOrder 모델 요소 사이에 배치합니다. ItineraryService1 속성 창 다음 속성을 구성합니다.
Name 속성을 클릭한 다음 SendPortFilter를 입력합니다.
여정 서비스 확장기 드롭다운 목록에서 램프 끄기 확장기를 클릭합니다.
램프 끄기 드롭다운 목록에서 SendCNOrder를 확장한 다음 송신 처리기를 클릭합니다.
도구 상자에서 커넥터를 클릭합니다. BindingKeyRoute 모델 요소에서 SendPortFilter 모델 요소로 연결을 끌어옵니다.
도구 상자에서 커넥터를 클릭합니다. SendPortFilter 모델 요소에서 SendNAOrder 모델 요소로 연결을 끌어옵니다.
여정 테스트 클라이언트에서 사용할 모델을 내보내려면
Visual Studio에서 NewBindingKeySearch 여정의 디자인 화면을 마우스 오른쪽 단추로 클릭한 다음 모델 내보내기를 클릭합니다.
참고
여정의 XML 버전이 Visual Studio에서 열립니다.
모든 프로젝트 아티팩트 저장
Windows Explorer C:\HowTos\Itineraries로 이동하여 여정 XML(NewBindingKeySearch.xml)이 생성되었는지 확인합니다.
여정을 테스트하려면
개발 활동(C:\HowTos\ESB.Itinerary.Test.exe - 바로 가기)에 대한 필수 구성 요소 중에 만든 바로 가기를 사용하여 여정 테스트 클라이언트 샘플 애플리케이션을 엽니다.
여정 테스트 클라이언트의 웹 서비스 옵션 그룹에서 WCF 서비스 사용 상자의 선택을 취소한 다음 양방향 서비스 검사 상자를 선택합니다.
여정 로드 단추를 클릭합니다.
일정 파일 열기 대화 상자에서 C:\HowTos\Itineraries로 이동합니다. NewBindingKeySearch.xml를 선택한 다음 열기를 클릭하여 여정을 로드합니다.
확인을 클릭하여 적재된 여정 메시지의 지우기를 클릭합니다.
여정 테스트 클라이언트에서 메시지 로드 상자 옆에 있는 줄임표 단추(...)를 클릭합니다.
로드할 XML 문서 선택 대화 상자에서 C:\HowTos로 이동합니다. NAOrderDoc.xml를 선택한 다음 열기를 클릭하여 테스트 메시지를 로드합니다.
요청 제출 단추를 클릭합니다. 테스트가 완료되면 확인을 클릭하여 표시되는 확인을 해제합니다.
Itineray 테스트 클라이언트의 결과 텍스트 상자에 올바른 응답 메시지가 표시되는지 확인합니다.
추가 리소스
자세한 내용은 다음 관련 항목을 참조하십시오.