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

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

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

이 동영상에서는 API 프록시 마법사를 사용하여 Apigee Edge로 SOAP 서비스를 REST 서비스로 변환하는 엔드 투 엔드 데모를 제공합니다. 하지만 SOAP에서 REST로의 변환을 보다 세부적으로 제어하려는 경우 정책을 사용하여 프록시를 빌드할 수 있습니다. 자세한 내용은 가이드: Apigee Edge에서 SOAP-to-REST API 프록시 수동 구성을 참조하세요.

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

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

개요

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

이 유형의 프록시의 경우 Edge는 API 문서를 만드는 데 사용할 수 있는 OpenAPI 사양을 자동으로 생성합니다.

기본 단계

에지

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

    참고: 기본 경로는 고유해야 합니다. 동일한 기본 경로로 두 개의 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에서 SOAP, REST로를 선택합니다.

    Edge가 WSDL 파일에서 '검색한' 작업이 나열된 표가 나타납니다. API 프록시에 통합할 작업을 선택하고 구성할 수 있습니다. 이 표는 다음 그림과 같습니다.

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

Classic Edge (Private Cloud)

Classic 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 프록시의 기본 경로와 동일한 값으로 설정하면 저장 시 Edge에서 자동으로 API 프록시를 배포 취소합니다. API 프록시를 재배포하려면 먼저 기본 경로를 고유한 경로로 수정해야 합니다.

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

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

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

    Edge가 WSDL 파일에서 '검색한' 작업이 나열된 표가 나타납니다. API 프록시에 통합할 작업을 선택하고 구성할 수 있습니다. 이 표는 다음 그림과 같습니다.

    WSDL 작업 페이지에서 API 프록시 유형은 REST에서 SOAP-REST로 설정되며, 표에는 추가 작업과 함께 결과 행 하나가 표시됩니다.

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

    참고: Edge는 각 작업에 사용할 HTTP 메서드를 '최선의 추측'으로 결정합니다. GET 요청을 캐시할 수 있으므로 GET이 일반적으로 선호됩니다.
  11. 원하는 경우 작업의 REST API 경로를 변경합니다. 이 경로는 API 프록시 URL에서 리소스 이름으로 사용됩니다.
  12. 마법사의 나머지 부분을 클릭하여 보안을 추가하고 가상 호스트, 배포 환경을 선택합니다.
  13. 빌드 페이지에서 빌드 및 배포를 클릭합니다. 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 메시지를 백엔드 서비스에 전달하는 프록시를 만들 수 있으므로 SOAP 기반 웹 서비스의 프록시를 매우 쉽게 만들 수 있습니다. 내부적으로 Edge는 모든 변환 및 기타 흐름 활동을 자동으로 처리합니다. 예를 들어 요청이 JSON 형식이면 Edge는 서비스에 게시하기 전에 요청을 올바른 네임스페이스가 있는 유효한 XML SOAP 메시지로 변환하는 단계를 수행합니다. 마찬가지로 서비스가 XML 기반 SOAP 응답을 반환하면 Edge는 클라이언트에 반환하기 전에 응답을 JSON으로 다시 변환합니다. 또한 Edge는 SOAP 작업에 따라 다를 수 있는 백엔드 대상 엔드포인트를 설정합니다.

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

기본 단계

에지

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 프록시의 세부정보 페이지를 표시합니다.

Classic Edge (Private Cloud)

기본 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의 도메인에 추가됩니다. 프로젝트 이름에 버전 번호를 포함하는 것이 좋습니다(예: /v1/delayedstockquote). 이 정보에 따라 소비자 앱에서 API가 호출되는 방식이 결정됩니다.

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

    설명 프록시에 대한 간략한 설명입니다.

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

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

    WSDL 페이지에서 API 프록시 유형은 패스 스루 SOAP로 설정되며 Getquote 등의 작업 목록은 포트 유형별로 구성됩니다.
  9. 포트 유형 열에서 사용할 작업을 선택하세요. WSDL에서 포트 유형 요소는 웹 서비스에서 호출할 수 있는 작업을 정의합니다.
  10. 마법사의 나머지 부분을 클릭하여 보안을 추가하고 가상 호스트, 배포 환경을 선택합니다.
  11. 빌드 페이지에서 빌드 및 배포를 클릭합니다. Edge는 WSDL을 기반으로 새 API 프록시를 생성하고 배포합니다.

최종 프록시 정보

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

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

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

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

고급 SOAP-REST 프록시 개발

이전 섹션에서는 Edge에서 API 프록시 마법사를 사용하여 SOAP-to-REST API 프록시를 만드는 방법을 다루었습니다. 하지만 SOAP-REST 변환을 보다 세밀하게 제어하려는 경우 마법사가 제공하는 자동화를 우회하고 정책을 수동으로 추가 및 구성하여 원하는 동작을 얻는 방식으로 프록시를 빌드할 수 있습니다. 자세한 내용은 가이드: Apigee Edge에서 SOAP-to-REST API 프록시 수동 구성을 참조하세요.