방법: 웹 서비스 태스크를 사용하여 웹 서비스 호출(SQL Server 비디오)

SQL Server 2008

적용 대상: SQL Server 2008 Integration Services

작성자: Douglas Laudenschlager, Microsoft Corporation

시간: 00:10:57

크기: 11.3MB

형식: WMV 파일

이 비디오 보기

관련 도움말 항목:

웹 서비스 태스크

HTTP 연결 관리자와 웹 서비스 태스크를 구성하여 Integration Services 패키지에서 웹 서비스를 호출하는 방법을 알아봅니다. 그런 다음 검색한 정보를 읽고 해당 정보를 패키지에 사용하도록 XML 태스크를 설정합니다.

안녕하세요. Microsoft SQL Server Integration Services 설명서 팀에서 근무하고 있는 더글러스 라우덴슐라거입니다.

오늘은 웹 서비스 태스크를 사용하여 웹 서비스를 호출하는 방법을 알아보려고 합니다.

구체적으로

  • HTTP 연결 관리자를 구성하는 방법,
  • 웹 서비스 태스크 자체를 구성하는 방법,
  • 웹 서비스를 설명하는 WSDL 파일을 다운로드하는 방법,
  • 웹 메서드를 호출하고 필요한 입력 값을 제공하는 방법,
  • XML 태스크를 사용하여 반환 값을 읽는 방법 및
  • 웹 서비스의 결과를 패키지에 사용하는 방법을 알아보겠습니다.

Business Intelligence Development Studio에서 Integration Services 프로젝트를 만들고 패키지를 열었으며 데모에 필요한 일부 구성 요소를 추가해 두었습니다.

패키지 작업을 시작하기 전에 먼저 사용하려는 웹 서비스를 살펴보겠습니다. 이 웹 서비스는 통화 변환을 수행하는 무료 공용 웹 서비스입니다. 현재 위치에서 패키지에 사용할 URL을 클립보드에 복사하겠습니다. 이 웹 서비스는 대부분의 세계 통화에 대한 변환율을 반환하는 ConversionRate라는 단일 웹 메서드를 표시합니다. 미국 달러를 유럽 유로로 변환하는 비율을 물어 웹 서비스를 테스트하면 패키지에 수신되는 응답과 같은 XML 응답이 반환됩니다.

다시 패키지로 돌아가겠습니다. 먼저 패키지 변수를 몇 개 만들어야 합니다. 웹 서비스의 XML 응답이 포함될 ConversionRateResponse라는 변수와 변환율 자체가 포함될 ConversionRate라는 두 번째 변수가 필요합니다. 두 변수는 모두 문자열 값입니다.

웹 서비스 태스크의 다음 필수 구성 요소는 웹 서비스의 URL이 포함된 HTTP 연결 관리자입니다. 여기서 새로운 HTTP 연결을 추가하고 웹 서비스의 URL을 붙여 넣겠습니다. 웹 서비스에 대한 Web Services Description Language 파일, 즉 WSDL 파일을 다운로드해야 하므로 URL 끝에 ?wsdl을 추가하겠습니다. 이제 연결 관리자를 저장하겠습니다.

웹 서비스 태스크 자체를 추가할 준비가 되었습니다. 웹 서비스 태스크 편집기를 열고 방금 만든 HTTP 연결 관리자를 가장 먼저 할당해야 합니다. 이제 웹 서비스의 기능을 설명하는 WSDL 파일을 다운로드해야 합니다. 웹 서비스 태스크에서는 컴퓨터의 로컬 파일을 선택해야 Download WSDL(WSDL 다운로드) 단추가 활성화됩니다. 이런 요구 사항이 충족되도록 빈 텍스트 문서를 만들고 CurrencyConvertor.wsdl이라는 이름을 지정하겠습니다. 그런 다음 방금 만든 더미 파일을 선택하고 OverwriteWSDLFile의 값을 False에서 True로 변경하면 WSDL 파일을 다운로드할 수 있습니다.

이제 편집기의 Input(입력) 페이지로 이동하겠습니다. WSDL 파일을 통해 태스크는 웹 서비스에 대한 모든 정보를 알고 있습니다. 웹 서비스를 선택하고 해당 ConversionRate 웹 메서드를 선택한 다음 미국 달러에서 유럽 유로로 변환하는 비율을 요청하는 웹 메서드 호출을 구성할 수 있습니다.

이제 편집기의 Output(출력) 페이지로 이동하겠습니다. 파일이 아니라 ConversionRateResponse라는 변수에 출력을 저장하려고 합니다. 이제 웹 서비스 태스크를 저장하겠습니다.

태스크에 수신되는 응답은 온라인으로 웹 서비스를 테스트할 때 표시된 XML 문서입니다. 이 응답에서 변환율 자체를 추출해야 합니다. 이러한 용도로 XML 태스크를 사용하겠습니다.

XML 태스크는 XML 문서를 사용하여 여러 기능을 수행할 수 있으므로 구성할 속성이 많습니다. 먼저 페이지의 첫 번째 항목은 아니지만 수행하려는 작업을 선택해야 합니다. 여기에서는 XML에 대해 XPATH 쿼리를 수행하려고 합니다. XML 원본은 ConversionRateResponse라는 변수에 있습니다. 쿼리 결과를 ConversionRate라는 변수에 저장하여 기존 값을 현재 값으로 덮어쓰려고 합니다. XPATH 쿼리를 직접 입력하고 변환율이 포함된 "/double" 노드를 쿼리하겠습니다. 이것은 Values를 추출하는 XPATH 작업입니다. 이제 XML 태스크를 저장하겠습니다.

패키지를 실행할 때 패키지 변수의 값을 확인하는 유용한 기술을 보여 드리기 위해 XML 태스크의 OnPostExecute 이벤트에 중단점을 설정하고 패키지를 실행하겠습니다.

[일시 중지]

이제 설정한 중단점에서 패키지가 일시 중지되었으며 여기서 Locals(지역) 창으로 이동하여 모든 패키지 변수의 현재 값을 확인할 수 있습니다. 목록 아래로 스크롤하면 긴 XML 문자열이 포함된 ConversionRateResponse와 비율 자체만 포함된 ConversionRate를 찾을 수 있습니다. 두 변수를 덜 혼잡한 목록에 표시하려는 경우 Add Watch 명령을 사용하여 두 변수를 별도의 Watch(조사식) 창에 추가할 수 있습니다.

이제 태스크를 완료될 때까지 실행하고 디버깅을 중지한 다음 설정한 중단점을 제거하겠습니다.

이제 이미 설정을 시작한 데이터 흐름 태스크에 연결하여 다시 사용할 준비가 되었습니다.

먼저 OLE DB 원본을 사용하여 AdventureWorks 예제 데이터베이스의 뷰에서 데이터를 추출하겠습니다. 각 영업 사원의 LastName과 미국 달러 단위의 연간 누계 판매 실적을 가져올 것입니다.

그런 다음 웹 서비스에서 가져온 변환율을 사용하여 연간 누계 판매 실적을 유럽 유로로 변환하는 새 열을 추가하겠습니다. 새 열을 추가하는 데 파생 열 변환을 사용할 것입니다. 새 열의 이름을 SalesYTDEuro로 지정하고, SalesYTD 열의 값에 웹 서비스에서 가져온 변환율을 곱한 값으로 정의합니다. 먼저 문자열인 변환율을 적절한 숫자 데이터 형식으로 캐스팅해야 합니다. 그런 다음 결과를 소수 두 자릿수까지 깔끔하게 반올림하고 파생 열 변환을 저장하겠습니다.

샘플 데이터 저장을 방해하지 않도록 행 개수 변환을 사용하여 데이터 흐름을 종료하겠습니다. 이 방법은 빠르고 유용합니다. 유일한 요구 사항은 패키지 변수에 행 개수 값을 할당하는 것이며 이 요구 사항은 무시해도 됩니다.

이제 패키지를 실행할 때 작업 결과를 볼 수 있도록 데이터 흐름에 데이터 뷰어를 추가하겠습니다. 기본 표 형태를 적용하고 완성된 패키지를 실행할 것입니다.

[일시 중지]

잠시 후에 모든 작업이 예상대로 완료되고, 이제 웹 서비스 태스크와 XML 태스크를 사용하여 웹 서비스에서 가져온 변환율을 통해 달러에서 유로로 변환된 연간 누계 판매 실적이 포함된 새 열이 데이터에 나타납니다.

이 비디오에서는 웹 서비스 태스크를 사용하여 웹 서비스를 호출하는 방법을 살펴 보았습니다.

구체적으로

  • HTTP 연결 관리자를 구성하는 방법,
  • 웹 서비스 태스크 자체를 구성하는 방법,
  • 웹 서비스를 설명하는 WSDL 파일을 다운로드하는 방법,
  • 웹 메서드를 호출하고 필요한 입력 값을 제공하는 방법,
  • XML 태스크를 사용하여 반환 값을 읽는 방법 및
  • 웹 서비스의 결과를 패키지에 사용하는 방법을 살펴 보았습니다.

이 비디오에서 새로운 기능과 유용한 기술을 배우셨기를 바랍니다. 이 비디오를 닫고 웹 페이지로 돌아가면 다른 Integration Services 비디오를 볼 수 있습니다. 감사합니다.

커뮤니티 추가 항목

추가
표시: