SOAP 서비스 프록시

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

학습할 내용

이 가이드에서는 다음 방법을 배웁니다.

  • WSDL 파일에서 Edge API 프록시를 생성합니다.
  • RESTful SOAP 프록시 유형과 패스스루 SOAP 프록시의 차이점을 이해합니다.

이 가이드에서는 SOAP 기반 웹 서비스 앞에 Edge API 프록시를 배치하는 방법을 알아봅니다.

이 가이드에서는 SOAP 기반 서비스 앞에 새 RESTful API를 생성하는 방법을 설명합니다. 여기에 자세히 설명되어 있지는 않지만 SOAP 페이로드를 받아 백엔드 서비스에 전달하는 패스 스루 프록시를 생성할 수도 있습니다.

필요한 항목

프록시 만들기

여기에서는 Edge가 SOAP 서비스 앞에 프록시를 생성하도록 합니다. SOAP API 프록시에는 두 가지 유형이 있습니다.

  • REST-SOAP-REST 프록시 유형은 SOAP로의 변환 레이어와 함께 새로운 RESTful API를 생성합니다. 클라이언트는 다른 RESTful 서비스와 마찬가지로 이를 호출하여 백엔드 서비스에 필요한 쿼리 매개변수를 전달합니다. Edge는 이를 서비스에서 예상하는 SOAP 페이로드로 변환합니다.
  • 패스 스루 프록시 프록시 유형을 사용하면 클라이언트가 SOAP 페이로드를 간단히 전달할 수 있습니다. 이렇게 하면 SOAP 서비스 호출이 에지 관리 기능을 활용할 수 있습니다.

에지

Edge UI를 사용하여 SOAP 서비스를 프록시하려면 다음 단계를 따르세요.

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

    필드 설명
    WSDL 소스

    선택: URL

    다음 WSLD URL을 복사하여 URL 입력 입력란에 붙여넣습니다.

    https://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl

    확인을 클릭합니다.

    Apigee Edge는 WSDL 파일을 가져와서 SOAP 서비스가 지원하는 작업 목록을 검색합니다.

    이름

    그대로 유지: delayedstockquote

    이 이름은 생성 중인 API 프록시의 이름입니다.

    기본 경로 그대로 유지: /delayedstockquote
    설명 필요한 경우 주식 시세 WSDL API 프록시와 같은 설명을 추가합니다.
  6. 다음을 클릭합니다.
  7. 일반 정책 페이지의 보안: 승인에서 통과 (승인 없음)를 선택합니다.
  8. 다음을 클릭합니다.
  9. WSDL 작업 페이지에서 REST에서 SOAP에서 REST로를 선택합니다.

    프록시 유형을 선택하면 Edge에 REST API 경로를 생성할 작업 목록이 표시됩니다. 이 목록을 사용하면 찾고 있는 특정 세트가 있는 경우 WSDL에서 찾을 수 있는 작업 중에서 선택할 수 있습니다. 표에는 REST 클라이언트가 백엔드 SOAP 서비스를 호출하는 데 사용할 수 있는 리소스도 표시됩니다.

    페이지의 다른 모든 선택지는 그대로 둡니다.

  10. 다음을 클릭합니다.
  11. Next를 클릭하여 가상 호스트 기본값을 수락합니다.
  12. 요약 페이지의 선택적 배포에서 테스트를 클릭하고 만들기 및 배포를 클릭합니다.

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

    새 API 프록시를 맞춤설정하지 않고 이 튜토리얼에 등장하지 않는 한 여기까지입니다. 이제 새 API 프록시 테스트를 진행할 수 있습니다.

Classic Edge (Private Cloud)

Classic Edge UI를 사용하여 SOAP 서비스를 프록시하려면 다음 단계를 따르세요.

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

    필드 설명
    WSDL

    선택: Example URL

    그런 다음 다음을 선택합니다.
    ...latencyedstockquote.asmx?WSDL

    확인을 클릭합니다.

    Apigee Edge는 WSDL 파일을 가져와서 SOAP 서비스가 지원하는 작업 목록을 검색합니다.

    Proxy Name

    delayedstockquote 입력

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

    프록시 기본 경로설명 그대로 둡니다.
  6. 다음을 클릭합니다.
  7. WSDL 페이지에서 다음과 같이 선택합니다.
    필드 작업
    API 프록시 유형

    REST에서 SOAP에서 REST로 선택

    프록시 유형을 선택하면 Edge에 다음과 같이 REST API 경로를 생성할 작업 목록이 표시됩니다. 찾고 있는 특정 세트가 있는 경우 이 목록을 사용하여 WSDL에서 찾을 수 있는 작업 중에서 선택할 수 있습니다. 표에는 REST 클라이언트가 백엔드 SOAP 서비스를 호출하는 데 사용할 수 있는 리소스도 표시됩니다.

    지금은 첫 번째 작업 세트를 선택된 상태로 둡니다.

    포트 유형: DelayedStockQuoteSoap 3개의 WSDL 작업을 모두 선택하세요. 다른 설정은 그대로 둡니다.

  8. 다음을 클릭합니다.
  9. 보안 페이지에서 통과 (없음)을 선택합니다.
  10. 다음을 클릭합니다.
  11. 가상 호스트 기본값을 수락하고 Next(다음)를 클릭합니다.
  12. 빌드 페이지에서 기본값을 수락하고 빌드 및 배포를 클릭하여 Edge가 프록시를 생성하도록 합니다.

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

    새 프록시를 맞춤설정하지 않는 한 (이 튜토리얼에서는 사용하지 않음) 이것만으로 충분합니다. 이제 새 프록시 테스트를 진행할 수 있습니다.

프록시 테스트

만든 프록시를 사용해 보려면 명령 프롬프트를 열고 cURL을 사용합니다. 아래에 명령어를 입력합니다. 각 항목의 의미는 다음과 같습니다.

  • ORG는 프록시를 만든 Edge 조직의 이름입니다.
  • ENV는 프록시가 배포되는 환경입니다.
  • Domains는 사용 중인 Edge 인스턴스에 해당합니다.
curl "https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

예를 들어 조직이 docfood이고 환경이 test이며 Edge 엔터프라이즈 클라우드를 사용하는 경우 다음과 같은 명령어를 실행합니다.

curl "https://docfood-test.apigee.net/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

StockSymbol 쿼리 매개변수에 GOOG을 입력한 경우 Alphabet Inc. 클래스 C 주식의 현재 가격을 가져와야 합니다. 예를 들면 다음과 같습니다.

{  
   "GetQuoteResponse":{  
      "GetQuoteResult":{  
         "StockSymbol":"GOOG",
         "LastTradeAmount":819.55,
         "LastTradeDateTime":"2017-02-13T14:33:00",
         "StockChange":5.88,
         "OpenAmount":816.0,
         "DayHigh":820.96,
         "DayLow":815.49,
         "StockVolume":785064,
         "PrevCls":813.67,
         "ChangePercent":"+0.72%",
         "FiftyTwoWeekRange":"663.28 - 841.95",
         "EarnPerShare":27.88,
         "PE":29.4,
         "CompanyName":"Alphabet Inc.",
         "QuoteError":false
      }
   }
}

자동 생성된 OpenAPI 사양 가져오기

'REST에서 SOAP로 REST로'를 사용하여 SOAP 서비스를 프록시하면 Edge가 자동으로 OpenAPI 사양을 생성합니다. OpenAPI 사양을 사용하여 API용 API 문서를 생성할 수 있습니다.

OpenAPI 사양을 확인하려면 다음 URL을 방문하세요.

curl https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/openapi.json

추가 크레딧: 사용할 리소스, 동사, 쿼리 매개변수를 어떻게 찾을 수 있나요?

테스트 API 호출에서는 백엔드 SOAP 서비스에 대한 cURL 호출에서 특정 리소스와 쿼리 매개변수를 사용했습니다. 하지만 스스로 어떻게 알 수 있을까요?

리소스와 동사

프록시를 만들 때 API 프록시 마법사에서 SOAP 작업이 API 동사 및 리소스에 어떻게 매핑되는지 확인했습니다. 하지만 이를 적어 두지 않은 경우 프록시가 생성된 후 다음과 같은 방법을 알아볼 수 있습니다.

API 프록시의 개발 탭에 있는 왼쪽 Navigator 창에서 프록시 엔드포인트 아래에 흐름 목록이 표시됩니다. 원하는 흐름을 클릭합니다. 예를 들어 GetQuote 흐름이 적합합니다. 그런 다음 <Condition> 요소에서 흐름의 리소스 경로와 동사(/quoteGET)가 표시된 Code 창에서 XML을 확인합니다.

쿼리 매개변수

GetQuote 흐름을 선택한 상태에서 그래픽 흐름 뷰에서 첫 번째 정책을 클릭합니다. 전달되어야 하는 쿼리 매개변수(StockSymbolLicenseKey)를 캡처하는 변수 추출 정책이어야 합니다. SOAP 서비스를 웹에서 검색하면 LicenseKey로 전달할 항목이 표시됩니다.

캡처된 쿼리 매개변수는 변수로 저장되며 다음 정책에서 SOAP 메시지를 작성하는 데 사용됩니다.