SOAP 서비스를 API 프록시로 노출

Apigee Edge 문서입니다.
Apigee X 문서로 이동
정보

이 주제에서는 SOAP 기반 웹 서비스의 API 프록시를 만드는 방법을 설명합니다. Edge에서는 두 가지 유형의 SOAP 프록시를 만들 수 있습니다. 하나는 백엔드 SOAP 서비스에 대한 RESTful 인터페이스를 생성하고 다른 하나는 백엔드에 SOAP 메시지를 '통과'합니다. 이 두 가지 기법은 이 주제에서 모두 설명합니다.

이 동영상에서는 API 프록시 마법사를 사용하여 Apigee Edge에서 SOAP 서비스를 REST 서비스로 변환하는 엔드 투 엔드 데모를 제공합니다. 하지만 SOAP-to-REST 변환을 더 세부적으로 제어하려면 정책을 사용하여 프록시를 빌드하면 됩니다. 자세한 내용은 튜토리얼: Apigee Edge에서 SOAP-to-REST API 프록시 수동 구성을 참고하세요.

SOAP 기반 서비스에 대한 RESTful API 프록시 만들기

이 섹션에서는 프록시 빌드 마법사의 REST to SOAP to REST 옵션을 사용하여 RESTful SOAP API 프록시를 만드는 방법을 설명합니다.

개요

REST to SOAP to REST 옵션은 WSDL을 처리하여 RESTful API 프록시를 생성합니다. Edge는 WSDL에서 서비스의 지원되는 작업, 입력 매개변수 등을 확인합니다. Edge는 각 작업에 사용할 HTTP 메서드를 '추측'합니다. 일반적으로 Edge는 작업을 캐시할 수 있는 이점이 있는 GET 요청으로 변환합니다. Edge는 SOAP 작업마다 다를 수 있는 백엔드 대상 엔드포인트도 설정합니다.

이 유형의 프록시의 경우 Edge에서 OpenAPI 사양을 자동으로 생성하며, 이를 사용하여 API 문서를 만들 수 있습니다.

기본 단계

Edge

Edge UI를 사용하여 SOAP 기반 서비스에 대한 RESTful API 프록시를 만들려면 다음 단계를 따르세요.

  1. apigee.com/edge에 로그인합니다.
  2. 왼쪽 탐색 메뉴에서 개발 > API 프록시를 선택합니다.
  3. +프록시를 클릭합니다.
  4. SOAP 서비스를 클릭합니다.
  5. 프록시 세부정보 페이지에서 WSDL 파일을 제공합니다.
    필드 설명
    WSDL 파일 제공

    WSDL의 소스를 선택합니다.

    • 웹 주소 (URL) - WSDL의 URL을 입력하거나 붙여넣습니다.
    • 내 컴퓨터 - 로컬 디렉터리에서 WSDL 파일을 업로드합니다. 종속 항목이 있는 경우 여러 파일을 업로드할 수 있습니다.
  6. 검사를 클릭하여 WSDL을 검사합니다.
  7. 다음 프록시 세부정보를 입력합니다.
    필드 설명
    이름 API에 표시되는 이름입니다. 영숫자 문자, 대시(-) 또는 밑줄 (_)을 사용하여 지정하세요.
    기본 경로

    API 프록시의 http(s)://[host] 주소 다음에 나타나는 URI 프래그먼트입니다. Edge는 기본 경로 URI를 사용하여 수신되는 요청 메시지를 적절한 API 프록시에 일치시키고 라우팅합니다.

    참고: API 프록시 기본 경로는 기본적으로 모든 소문자로 변환된 Name 필드에 대해 지정된 값으로 설정됩니다.

    기본 경로 뒤에는 모든 추가 리소스 URL이 있습니다. 다음은 클라이언트가 API 프록시를 호출하는 데 사용할 전체 URL 구조입니다.

    https://[host]/base_path/conditional_flow_path

    참고: 기본 경로는 고유해야 합니다. 동일한 기본 경로를 가진 2개의 API 프록시를 배포할 수 없습니다. 배포된 API 프록시를 수정하고 기본 API를 다른 API 프록시의 기본 경로와 동일한 값으로 설정하면 Edge는 저장할 때 자동으로 API 프록시 배포를 취소합니다. API 프록시를 재배포하려면 먼저 기본 경로를 고유한 경로로 수정해야 합니다.

    기본 경로에 와일드 카드 사용

    API 프록시 기본 경로에서 하나 이상의 /*/ 와일드 카드를 사용하여 API 프록시를 향후에 대해 보호합니다. 예를 들어 /team/*/members의 기본 경로를 사용하면 클라이언트가 새 팀을 지원하기 위해 새 API 프록시를 만들 필요 없이 https://[host]/team/blue/membershttps://[host]/team/green/members를 호출할 수 있습니다. /**/는 지원되지 않습니다.

    설명 (선택사항) API에 대한 설명입니다.
  8. 다음을 클릭합니다.
  9. 마법사의 일반적인 정책 페이지에서 다음을 구성합니다.
    • 보안: 승인 아래의 보안 승인 요구사항입니다. 보안 추가를 참고하세요.
    • 보안: 브라우저 아래의 교차 출처 리소스 공유(CORS)에 대한 지원입니다. CORS 지원 추가를 참고하세요.
    • 할당량 아래의 높은 트래픽으로부터 백엔드 서비스를 보호하기 위한 할당량입니다. 할당량 부분을 참고하세요. (패스 스루 승인을 선택한 경우에는 사용할 수 없습니다.)
  10. WSDL 작업 페이지에서 API 프록시 유형 REST to SOAP to REST를 선택합니다.

    Edge에서 WSDL 파일에서 '탐색'한 작업이 표시됩니다. API 프록시에 통합할 작업을 선택하고 구성할 수 있습니다. 다음 그림은 이 표를 보여줍니다.

  11. 드롭다운에서 포트 유형을 선택하여 사용할 작업 집합을 지정합니다. WSDL에서 포트 유형 요소는 웹 서비스에서 호출할 수 있는 작업을 정의합니다.
  12. 원하는 경우 작업의 REST API 경로를 변경합니다. 이 경로는 API 프록시 URL의 리소스 이름으로 사용됩니다.
  13. 원하는 경우 작업과 연결된 동사 (HTTP 메서드)를 변경합니다.
  14. 다음을 클릭합니다.
  15. 마법사의 가상 호스트 페이지에서 배포 시 API 프록시가 결합될 가상 호스트를 선택합니다. 자세한 내용은 가상 호스트 정보를 참조하세요.
  16. 다음을 클릭합니다.
  17. 배포 환경을 선택하고 만들기 및 배포를 클릭합니다.
    새 API 프록시가 생성되고 선택한 환경에 배포됩니다.
  18. 프록시 수정을 클릭하여 API 프록시의 세부정보 페이지를 표시합니다.

기존 Edge (프라이빗 클라우드)

기존 Edge UI를 사용하여 SOAP 기반 서비스에 대한 RESTful API 프록시를 만들려면 다음 단계를 따르세요.

  1. http://ms-ip:9000에 로그인합니다. 여기서 ms-ip는 관리 서버 노드의 IP 주소 또는 DNS 이름입니다.
  2. 상단 탐색 메뉴에서 API > API 프록시를 선택합니다.
  3. + API 프록시를 클릭합니다.
  4. 프록시 빌드 마법사에서 SOAP 서비스를 선택합니다.
  5. 다음을 클릭합니다.
  6. 세부정보 페이지에서 다음을 선택합니다. WSDL을 선택한 후 검사를 클릭해야 합니다.
    필드 작업
    WSDL

    WSDL의 소스를 선택합니다.

    • URL: 사용하려는 WSDL의 URL을 입력합니다.
    • 파일 - 파일 시스템에서 WSDL 파일을 선택합니다. 종속 파일이 추가로 있는 경우 모두 선택할 수 있습니다.
    • URL 예 - 공개적으로 사용 가능한 웹 서비스의 WSDL 목록에서 선택합니다. 이는 Edge의 SOAP/API 프록시 기능을 사용해 보는 데 유용합니다.
    Proxy Name

    만들려는 프록시의 이름입니다.

    프록시 기본 경로

    API 프록시의 http(s)://[host] 주소 다음에 나타나는 URI 프래그먼트입니다. Edge는 기본 경로 URI를 사용하여 수신되는 요청 메시지를 적절한 API 프록시에 일치시키고 라우팅합니다.

    참고: API 프록시 기본 경로는 기본적으로 모든 소문자로 변환된 Name 필드에 대해 지정된 값으로 설정됩니다.

    기본 경로 뒤에는 모든 추가 리소스 URL이 있습니다. 다음은 클라이언트가 API 프록시를 호출하는 데 사용할 전체 URL 구조입니다.

    https://[host]/base_path/conditional_flow_path

    참고: 기본 경로는 고유해야 합니다. 동일한 기본 경로를 가진 2개의 API 프록시를 배포할 수 없습니다. 배포된 API 프록시를 수정하고 기본 API를 다른 API 프록시의 기본 경로와 동일한 값으로 설정하면 Edge는 저장할 때 자동으로 API 프록시 배포를 취소합니다. API 프록시를 재배포하려면 먼저 기본 경로를 고유한 경로로 수정해야 합니다.

    기본 경로에 와일드 카드 사용

    API 프록시 기본 경로에서 하나 이상의 /*/ 와일드 카드를 사용하여 API 프록시를 향후에 대해 보호합니다. 예를 들어 /team/*/members의 기본 경로를 사용하면 클라이언트가 새 팀을 지원하기 위해 새 API 프록시를 만들 필요 없이 https://[host]/team/blue/membershttps://[host]/team/green/members를 호출할 수 있습니다. /**/는 지원되지 않습니다.

    설명 프록시에 관한 간단한 설명입니다.
  7. 다음을 클릭합니다.
  8. WSDL 페이지에서 API 프록시 유형 REST to SOAP to REST를 선택합니다.

    Edge에서 WSDL 파일에서 '탐색'한 작업이 표시됩니다. API 프록시에 통합할 작업을 선택하고 구성할 수 있습니다. 다음 그림은 이 표를 보여줍니다.

    WSDL 작업 페이지에서 API 프록시 유형이 REST to SOAP to REST로 설정되어 있고 표에 추가 작업이 포함된 결과 행이 하나 표시됩니다.

  9. 포트 유형 열에서 사용할 작업 집합을 선택합니다. WSDL에서 포트 유형 요소는 웹 서비스에서 호출할 수 있는 작업을 정의합니다.
  10. 원하는 경우 작업과 연결된 HTTP 메서드를 변경합니다.

    참고: Edge는 각 작업에 사용할 HTTP 메서드를 결정할 때 '가장 적절한 추측'을 실행합니다. GET 요청은 캐시할 수 있으므로 일반적으로 선호됩니다.
  11. 원하는 경우 작업의 REST API 경로를 변경합니다. 이 경로는 API 프록시 URL의 리소스 이름으로 사용됩니다.
  12. 나머지 마법사를 클릭하여 보안을 추가하고 가상 호스트 및 배포 환경을 선택합니다.
  13. Build 페이지에서 Build and Deploy를 클릭합니다. Edge는 WSDL을 기반으로 새 API 프록시를 생성하고 배포합니다.
  14. 새 API 프록시의 요약 페이지로 이동합니다. WSDL 파일에서 발견된 작업을 기반으로 리소스 집합이 생성되었습니다.

    프록시의 개요 페이지에 있는 리소스 목록에는 새 API, 작업, 매개변수에 관한 자세한 설명이 제공됩니다. 이 표현은 API의 참조 문서라고 생각할 수 있습니다. Edge는 API 모델의 이 뷰를 자동으로 생성합니다. 리소스를 펼치면 설명과 경로 정보가 표시됩니다.

최종 프록시 정보

Edge에서 WSDL을 기반으로 API 프록시를 생성하면 생성된 프록시는 실제로 데이터 변환, 변수 추출 및 설정, 메시지 조작 등의 정책이 포함된 복잡한 흐름입니다. WSDL을 기반으로 프록시를 생성한 후 API 관리 UI의 개발 뷰에서 결과 흐름을 살펴봅니다. 여기에서 어떤 정책이 추가되었는지 정확하게 확인할 수 있습니다.

예를 들어 요청 측에서는 AssignMessage 정책이 타겟 URL을 설정하는 데 사용됩니다. 응답 측에서는 정책이 실행되어 응답을 XML에서 JSON으로 변환하고, 응답의 SOAP 본문 부분을 변수로 추출하고, 응답 메시지를 설정합니다. 이러한 정책과 기타 정책은 프록시를 만들 때 자동으로 추가됩니다.

OpenAPI 사양: 이 프록시에 대해 자동 생성된 OpenAPI 사양을 보려면 http(s)://[proxy_domain]/[proxy_base_path]/openapi.json를 방문하세요. 그러나 XML 스키마의 일부 규칙은 OpenAPI 사양으로 표현할 수 없으므로 변환이 항상 정확하지는 않습니다.

SOAP 기반 서비스에 대한 패스 스루 프록시 만들기

이 섹션에서는 새 프록시 만들기 대화상자의 패스스루 프록시 옵션을 사용하여 패스스루 프록시를 만드는 방법을 설명합니다.

개요

패스 스루 프록시 옵션을 사용하면 요청의 SOAP 메시지를 백엔드 서비스에 '변경되지 않은 상태로' 전달하는 프록시를 만들 수 있으므로 SOAP 기반 웹 서비스의 프록시를 매우 쉽게 만들 수 있습니다. 백그라운드에서 Edge는 모든 변환 및 기타 흐름 활동을 자동으로 처리합니다. 예를 들어 요청이 JSON 형식인 경우 Edge는 요청을 서비스에 POST하기 전에 올바른 네임스페이스가 있는 유효한 XML SOAP 메시지로 변환하는 단계를 수행합니다. 마찬가지로 서비스가 XML 기반 SOAP 응답을 반환하면 Edge는 클라이언트에게 반환하기 전에 이를 JSON으로 다시 변환합니다. 또한 Edge는 SOAP 작업마다 다를 수 있는 백엔드 대상 엔드포인트를 설정합니다.

이 유형의 프록시의 경우 Edge에서 WSDL을 호스팅하고 프록시에 흐름을 만들어 액세스할 수 있도록 합니다. 이 Edge 호스팅 WSDL의 주소인 http(s)://[proxy_domain]/[proxy_base_path]?wsdl는 프록시를 통해 SOAP 서비스를 호출하는 클라이언트의 새 서비스 엔드포인트 URL이 됩니다.

기본 단계

Edge

Edge UI를 사용하여 SOAP 기반 서비스에 대한 패스 스루 프록시를 만들려면 다음 안내를 따르세요.

  1. apigee.com/edge에 로그인합니다.
  2. 왼쪽 탐색 메뉴에서 개발 > API 프록시를 선택합니다.
  3. +프록시를 클릭합니다.
  4. SOAP 서비스를 클릭합니다.
  5. 프록시 세부정보 페이지에서 WSDL 세부정보를 제공합니다.
    필드 설명
    WSDL

    WSDL의 소스를 선택합니다.

    • 웹 주소 (URL) - WSDL의 URL을 입력하거나 붙여넣습니다.
    • 내 컴퓨터 - 로컬 디렉터리에서 WSDL 파일을 업로드합니다. 종속 항목이 있는 경우 여러 파일을 업로드할 수 있습니다.
    이름

    API 프록시 이름입니다.

    기본 경로

    API 프록시의 http(s)://[host] 주소 뒤에 오는 URI 프래그먼트입니다. Edge는 기본 경로 URI를 사용하여 수신되는 요청 메시지를 적절한 API 프록시에 일치시키고 라우팅합니다.

    참고: API 버전 관리에 대한 Apigee의 권장 사항은 웹 API 설계: 잃어버린 고리 eBook의 버전 관리를 참고하세요.

    기본 경로 뒤에는 추가 리소스 URL이 있습니다. 다음은 클라이언트가 API 프록시를 호출하는 데 사용할 전체 URL 구조입니다.

    https://[host]/base_path/conditional_flow_path

    참고: 기본 경로는 고유해야 합니다. 나중에 이 프록시를 수정하고 기본 경로를 다른 API 프록시와 동일하게 설정하면 저장할 때 이 API 프록시가 자동으로 배포 취소됩니다. 기본 경로를 재배포하려면 먼저 수정해야 합니다.

    기본 경로에 와일드 카드 사용

    API 프록시 기본 경로에서 하나 이상의 /*/ 와일드 카드를 사용하여 프록시를 향후에 대비할 수 있습니다. 예를 들어 /team/*/members의 기본 경로를 사용하면 클라이언트가 새 팀을 지원하기 위해 새 API 프록시를 만들 필요 없이 https://[host]/team/blue/membershttps://[host]/team/green/members를 호출할 수 있습니다. /**/ 는 지원되지 않습니다.

    참고: API 프록시 기본 경로는 기본 경로 필드의 콘텐츠를 명시적으로 수정하지 않는 한 기본적으로 이름 필드에 지정된 값으로 설정되며 이 값은 모두 소문자로 변환됩니다.

    설명 (선택사항) API에 대한 설명입니다.
  6. 다음을 클릭합니다.
  7. 마법사의 일반적인 정책 페이지에서 다음을 구성합니다.
    • 보안 승인 요구사항 보안 추가를 참고하세요.
    • 교차 출처 리소스 공유 (CORS) 지원 CORS 지원 추가를 참고하세요.
    • 트래픽이 많은 경우 백엔드 서비스를 보호하기 위한 할당량입니다. 할당량을 참고하세요. (패스 스루 승인을 선택한 경우에는 사용할 수 없습니다.)
    • 수익 창출 기능이 사용 설정된 조직에 수익 창출 한도가 적용됩니다. API 프록시에서 수익 창출 한도 적용을 참고하세요.
  8. WSDL 페이지에서 API 프록시 유형 패스 스루 SOAP를 선택합니다.

  9. 드롭다운에서 포트 유형을 선택하여 사용할 작업 집합을 지정합니다. WSDL에서 포트 유형 요소는 웹 서비스에서 호출할 수 있는 작업을 정의합니다.
  10. 다음을 클릭합니다.
  11. 마법사의 가상 호스트 페이지에서 배포 시 API 프록시가 결합될 가상 호스트를 선택합니다. 자세한 내용은 가상 호스트 정보를 참고하세요.
  12. 배포 환경을 선택하고 만들기 및 배포를 클릭합니다.
    새 API 프록시가 생성되고 선택한 환경에 배포됩니다.
  13. 프록시 수정을 클릭하여 API 프록시의 세부정보 페이지를 표시합니다.

기존 Edge (프라이빗 클라우드)

기존 Edge UI를 사용하여 SOAP 기반 서비스에 대한 패스 스루 프록시를 만들려면 다음 단계를 따르세요.

  1. http://ms-ip:9000에 로그인합니다. 여기서 ms-ip는 관리 서버 노드의 IP 주소 또는 DNS 이름입니다.
  2. 상단 탐색 메뉴에서 API > API 프록시를 선택합니다.
  3. + API 프록시를 클릭합니다.
  4. 프록시 빌드 마법사에서 SOAP 서비스를 선택합니다.
  5. 다음을 클릭합니다.
  6. 세부정보 페이지에서 다음을 선택합니다. WSDL을 선택한 후 검사를 클릭해야 합니다.
    필드 작업
    WSDL

    WSDL의 소스를 선택합니다.

    • URL: 사용할 WSDL의 URL을 입력합니다.
    • 파일 - 파일 시스템에서 WSDL 파일을 선택합니다. 종속 파일이 추가로 있는 경우 모두 선택할 수 있습니다.
    • URL 예 - 공개적으로 사용 가능한 웹 서비스의 WSDL 목록에서 선택합니다. 이는 Edge의 SOAP/API 프록시 기능을 사용해 보는 데 유용합니다.
    Proxy Name

    만들려는 프록시의 이름입니다.

    프록시 기본 경로 프록시 기본 경로는 이 API 프록시에서 노출되는 API를 고유하게 식별하는 URI 프래그먼트입니다. API 서비스는 기본 경로 URI를 사용하여 수신되는 요청 메시지를 적절한 API 프록시에 일치시키고 라우팅합니다. 기본 경로는 API의 도메인에 추가되며, API의 도메인은 조직 이름과 API 프록시가 배포된 환경을 기반으로 자동으로 생성됩니다. 프로젝트 이름에 버전 번호(예: /v1/delayedstockquote)를 포함하는 것이 좋습니다. 이를 통해 소비자 앱에서 API를 호출하는 방식이 결정됩니다.

    참고: 프록시 기본 경로는 프록시 기본 경로 필드의 콘텐츠를 명시적으로 수정하지 않는 한 기본적으로 프록시 이름에 지정된 값으로 설정되며, 이 값은 모두 소문자로 변환됩니다.

    설명 프록시에 관한 간단한 설명입니다.

  7. 다음을 클릭합니다.
  8. WSDL 페이지에서 API 프록시 유형 패스 스루 SOAP를 선택합니다.

    참고: 각 WSDL 작업과 해당 SOAP 페이로드가 표시된 표가 표시됩니다. 이는 백엔드 SOAP 서비스로 '전달'되는 페이로드입니다.

    WSDL 페이지에서 API 프록시 유형이 Pass-Through SOAP로 설정되고 GetQuote와 같은 작업 목록이 포트 유형별로 구성됩니다.
  9. 포트 유형 열에서 사용할 작업 집합을 선택합니다. WSDL에서 포트 유형 요소는 웹 서비스에서 호출할 수 있는 작업을 정의합니다.
  10. 나머지 마법사를 클릭하여 보안을 추가하고 가상 호스트 및 배포 환경을 선택합니다.
  11. Build 페이지에서 Build and Deploy를 클릭합니다. Edge는 WSDL을 기반으로 새 API 프록시를 생성하고 배포합니다.

최종 프록시 정보

Edge에서 패스스루 프록시를 생성하면 결과 프록시는 실제로 데이터 변환, 변수 추출 및 설정, 메시지 조작 등의 정책이 포함된 복잡한 흐름입니다. 패스스루 프록시를 생성한 후 API 관리 UI의 개발 뷰에서 결과 흐름을 살펴봅니다. 여기에서 어떤 정책이 추가되었는지 정확하게 확인할 수 있습니다.

예를 들어 다음 그림은 패스스루 프록시의 대상 엔드포인트 Preflow 부분을 보여줍니다. 요청 측에서는 AssignMessage 정책이 타겟 URL을 설정하는 데 사용됩니다. 응답 측에서는 정책이 실행되어 응답을 XML에서 JSON으로 변환하고, 응답의 SOAP 본문 부분을 변수로 추출하고, 응답 메시지를 설정합니다. 이러한 정책은 프록시를 만들 때 자동으로 추가됩니다.

개발 뷰의 흐름 패널에서 화살표는 요청에서 응답으로의 흐름을 나타내고 아이콘은 정책을 나타냅니다.

Edge 호스팅 WSDL: 이 유형의 프록시에 대해 생성된 Edge 호스팅 WSDL을 보려면 http(s)://[proxy_domain]/[proxy_base_path]?wsdl로 이동하세요.

고급 SOAP-REST 프록시 개발

이전 섹션에서는 Edge의 API 프록시 마법사를 사용하여 SOAP-to-REST API 프록시를 만드는 방법을 다뤘습니다. 하지만 SOAP-to-REST 변환을 더 세부적으로 제어하려면 마법사에서 제공하는 자동화를 우회하고 원하는 동작을 얻기 위해 정책을 수동으로 추가 및 구성하여 프록시를 빌드할 수 있습니다. 자세한 내용은 튜토리얼: Apigee Edge에서 SOAP-to-REST API 프록시 수동 구성을 참고하세요.