SOAP 서비스 프록시

Apigee Edge 문서입니다.
Go to the Apigee X documentation.
info

학습할 내용

이 튜토리얼에서는 다음 방법을 학습합니다.

  • WSDL 파일에서 Edge API 프록시를 생성합니다.
  • RESTful SOAP 프록시 유형과 통과 SOAP 프록시의 차이점을 알아봅니다.

이 튜토리얼에서는 SOAP 기반 웹 서비스 앞에 Edge API 프록시를 사용하는 방법을 알아봅니다.

이 튜토리얼에서는 SOAP 기반 서비스 앞에 새로운 RESTful API를 생성하는 방법을 보여줍니다. 여기에서는 자세히 설명하지 않지만 SOAP 페이로드를 수락하고 백엔드 서비스에 전달하는 통과 프록시 를 생성할 수도 있습니다.

필요한 항목

프록시 만들기

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

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

Edge

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. 다음 을 클릭하여 가상 호스트 기본값을 수락합니다.
  12. 요약 페이지의 선택적 배포에서 테스트 를 클릭하고 만들기 및 배포 를 클릭합니다.

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

    새 API 프록시를 맞춤설정하지 않는 한 (이 튜토리얼에서는 맞춤설정하지 않음) 이 정도면 충분합니다. 새 API 프록시 테스트로 이동할 수 있습니다.

기존 Edge (Private Cloud)

기존 Edge UI를 사용하여 SOAP 서비스를 프록시하려면 다음 안내를 따르세요.

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

    필드 설명
    WSDL

    URL 예 를 선택합니다.

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

    검증 을 클릭합니다.

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

    프록시 이름

    delayedstockquote를 입력합니다.

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

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

    REST-SOAP-REST 를 선택합니다.

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

    지금은 첫 번째 작업 집합을 선택된 상태로 둡니다.

    포트 유형: DelayedStockQuoteSoap 세 가지 WSDL 작업을 모두 선택합니다. 다른 설정은 그대로 둡니다.

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

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

    새 프록시를 맞춤설정하지 않는 한 (이 튜토리얼에서는 맞춤설정하지 않음) 이 정도면 충분합니다. 새 프록시 테스트로 이동할 수 있습니다.

프록시 테스트

만든 프록시를 사용해 보려면 명령 프롬프트를 열고 cURL을 사용합니다. 아래 명령어를 입력합니다. 여기서

  • ORG는 프록시를 만든 Edge 조직의 이름입니다.
  • ENV는 프록시가 배포되는 환경입니다.
  • DOMAIN은 사용 중인 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 프록시의 개발 탭에 있는 왼쪽 탐색창에 프록시 엔드포인트 아래의 흐름 목록이 표시됩니다. 관심 있는 흐름을 클릭합니다. 예를 들어, GetQuote 흐름이 좋은 후보입니다. 그런 다음 코드 창에서 XML을 봅니다. 여기에는 <Condition> 요소의 흐름에 대한 리소스 경로와 동사가 표시됩니다. /quoteGET.

쿼리 매개변수

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

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