ABAP SDK for Google Cloud SAP BTP 버전의 문제 해결

ABAP SDK for Google Cloud SAP BTP 버전 문제를 해결하기 위한 첫 번째 단계는 문제가 발생할 수 있는 위치를 확인하는 것입니다. 문제는 인프라, 사용 중인 SAP BTP 환경 및 도구 또는 ABAP SDK for Google Cloud 자체와 관련이 있을 수 있습니다.

분석 결과 ABAP SDK for Google Cloud 관련 문제로 밝혀지면 SAP 애플리케이션 로그 및 오류 메시지를 사용하여 문제를 해결합니다.

SAP 환경이나 도구에 문제가 있다고 생각되면 SAP에 문의하여 도움을 요청하세요.

기본 요건 확인

ABAP SDK for Google Cloud SAP BTP 버전을 설치하기 위한 모든 기본 요건을 충족하는지 확인합니다. SDK 설치 기본 요건에 대한 자세한 내용은 시작하기 전에를 참조하세요.

SAP 지원 문서 읽기

SAP 사용자 계정이 있는 경우 SAP ONE Support Launchpad에서 제공되는 SAP 노트 및 SAP 기술 자료 문서를 살펴보면 여러 SAP 소프트웨어 문제에 대한 해결 방법을 찾을 수 있습니다.

로그 보기

로깅이 구성되면 ABAP SDK for Google Cloud SAP BTP 버전이 SAP 애플리케이션 로그에 오류 메시지를 로깅합니다. 로깅에 대한 자세한 내용은 로깅 구성을 참조하세요.

로그 메시지를 보려면 다음 단계를 수행합니다.

  1. ABAP SDK for Google Cloud가 설치된 BTP ABAP 시스템의 SAP Fiori 런치패드에 액세스합니다.
  2. Google SDK: 애플리케이션 로그 표시 앱을 엽니다.
  3. 다음과 같이 로그 필터를 적절하게 제공합니다.

    • 시작: 로그 필터링 시작 날짜를 선택합니다.
    • 종료: 로그 필터링 종료일을 선택합니다.
    • 로그 객체: 로그를 가져와야 하는 로그 객체를 선택합니다.
    • 로그 하위 객체: 로그를 가져와야 하는 로그 하위 객체를 선택합니다.
    • 서비스 이름: 로그를 가져와야 하는 API 서비스 이름을 선택합니다.
  4. 이동을 클릭합니다. 애플리케이션 로그 헤더 목록이 표시됩니다.

    애플리케이션 로그 헤더

  5. 로그 헤더를 클릭하여 자세한 항목 수준 로그로 이동합니다. 로그 메시지가 심각도 및 타임스탬프와 함께 표시됩니다.

    자세한 항목 수준 로그

    로그 메시지는 일반적으로 다음 두 항목으로 구성됩니다.

    • 입력: 오류가 발생한 정확한 코드 위치에 대한 정보를 제공합니다. 문제 해결을 위해 디버깅 중에 이 코드 위치를 중단점으로 사용할 수 있습니다.
    • 오류 메시지: 작업을 수행하는 동안 발생한 오류에 대한 정보를 제공합니다.

디버깅

필요한 승인을 받았으면 API 클라이언트 클래스를 디버깅할 수 있습니다.

API 클라이언트 클래스를 디버깅하려면 다음 옵션 중 하나를 사용합니다.

  • /GOOG/CL_HTTP_CLIENT 클래스의 생성자에 중단점을 추가한 후 프로그램을 실행합니다.

  • 사용 중인 메서드에 중단점을 추가한 후 프로그램을 실행합니다.

HTTP trace

오류를 해결하는 동안 SAP Monitor System Outbound Connections에서 HTTP 호출 trace를 확인할 수 있습니다. 자세한 내용은 SAP의 일반적인 시스템 아웃바운드 통신 모니터링페이지를 참조하세요.

일반적인 운영 문제

클라이언트 스텁 공개 메서드를 통해 Google Cloud API를 사용할 때 개발자에게 오류 및 예외가 발생할 수 있습니다. 이러한 오류와 예외는 크게 두 가지 카테고리로 분류됩니다.

이 섹션에서는 SDK에 의해 트리거된 오류 및 예외에 대해 설명합니다.

/GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the request sending

문제: API 메서드에 대한 HTTP 요청이 실패했습니다.

원인: 이 문제는 연결 문제로 인해 발생할 수 있습니다.

해결 방법: Google Cloud API에 액세스하려는 Google Cloud 프로젝트에서 대상 API를 사용 설정합니다. Google Cloud API를 사용 설정하는 방법은 API 사용 설정을 참조하세요.

/GOOG/MSG:400 - Error generating STS token:Bad Request-invalid_request-Invalid value for " audience". This value should be the full resource name of the Identity Provider. See https://cloud.google.com/iam/docs/reference/sts/rest/v1/TopLevel/token for the list of possible formats.

문제: 보안 토큰 서비스(STS) 토큰을 생성할 수 없습니다.

원인: 워크로드 아이덴티티 제휴 또는 Secret Manager에 저장된 API 키를 통해 토큰을 사용하여 Google Cloud에 인증할 때 인증 설정에 필요한 구성이 누락되었습니다.

해결 방법: 다음 세부정보를 확인하고 업데이트합니다.

  • 통신 조정 앱에서 워크로드 아이덴티티 제휴 풀 ID 및 워크로드 아이덴티티 제휴 공급업체 ID를 업데이트합니다.

  • Google SDK: 기본 구성 앱에서 통신 지도에 대해 클라이언트 키의 Google Cloud 프로젝트 ID와 Google Cloud 프로젝트 번호를 업데이트합니다.

자세한 내용은 워크로드 아이덴티티 제휴를 사용하도록 ABAP SDK for Google Cloud 구성을 참조하세요.

/GOOG/MSG:400 - Error generating STS token:Bad Request-invalid_scope-Invalid scope provided in the request

문제: Google Cloud에 인증할 수 없습니다.

원인: 워크로드 아이덴티티 제휴 또는 Secret Manager에 저장된 API 키를 통해 토큰을 사용하여 Google Cloud에 인증하는 경우 Google Cloud 범위가 잘못되었습니다.

해결 방법: 통신 지도의 Google SDK: 기본 구성 앱에서 Google Cloud 범위https://www.googleapis.com/auth/cloud-platform인지 확인합니다.

/GOOG/MSG:461 - API Key not valid. Please pass a valid API Key

문제: API 키 기반 인증을 사용하여 Google Cloud에 인증할 수 없습니다.

원인: 통신 계약에 잘못된 API 키가 제공되었습니다.

해결 방법: 이 문제를 해결하려면 관련 통신 계약에서 유효한 보안 비밀 이름과 버전을 유지합니다. 또한 유효한 API 키가 보안 비밀에 구성되어 있는지 확인합니다.

자세한 내용은 Secret Manager에 저장된 API 키를 사용하도록 ABAP SDK for Google Cloud 구성을 참조하세요.

/GOOG/MSG: 461 - Communication Map entry for authentication service not maintained

문제: SDK에서 인증을 위한 통신 아티팩트를 결정할 수 없습니다.

원인: 인증 서비스를 위해 유지관리되는 통신 지도가 없습니다.

해결 방법: Google SDK: 기본 구성 앱에서 통신 지도를 만들고 사용 중인 인증 방법에 올바른 인증 유형을 유지합니다.

통신 지도를 만들려면 ABAP SDK for Google Cloud SAP BTP 버전 인증 구성에서 인증 방법에 대한 안내를 참조하세요.

/GOOG/MSG: 461 - Communication Scenario not valid for default Google Authentication

문제: SDK에서 인증을 위한 통신 계약을 결정할 수 없습니다.

원인: 인증 서비스를 위해 유지보수되는 항목이 잘못되었습니다.

해결 방법: Google SDK: 기본 구성 앱에서 통신 지도 항목의 통신 계약 올바른 통신 시나리오 및 통신 시스템으로 구성되어 있는지 확인합니다.

통신 계약을 업데이트하려면 ABAP SDK for Google Cloud SAP BTP 버전에 대한 인증 설정에서 인증 방법에 대한 안내를 참조하세요.

/GOOG/MSG:400 - Error generating IDP token: Not found

문제: XSUAA 서비스에서 ID 공급업체 토큰을 생성할 수 없습니다.

원인: 워크로드 아이덴티티 제휴 또는 Secret Manager에 저장된 API 키를 통해 토큰을 사용하여 Google Cloud에 인증하는 경우 통신 시스템에서 XSUAA 서비스의 호스트 이름 URL 또는 경로 값이 잘못되었습니다.

해결 방법: 다음 세부정보를 확인하고 업데이트합니다.

  • XSUAA 서비스의 통신 시스템 또는 통신 시스템에 사용된 BTP 대상에서 올바른 호스트 이름 URL을 유지합니다.
  • 통신 계약에서 유효한 경로를 유지합니다.

/GOOG/MSG:400 - Error generating STS token: Not found

문제: 인증에 필요한 보안 토큰 서비스 토큰을 생성할 수 없습니다.

원인: 워크로드 아이덴티티 제휴 또는 Secret Manager에 저장된 API 키를 통해 토큰을 사용하여 Google Cloud에 인증하고 STS 서비스에 대한 통신 계약을 사용하는 경우 STS 서비스와 연결된 통신 시스템이 잘못되었습니다.

해결 방법: 다음 세부정보를 확인하고 업데이트합니다.

  • STS 서비스의 통신 시스템 또는 통신 시스템에 사용된 BTP 대상에서 올바른 호스트 이름 URL을 유지합니다.
  • 통신 계약에서 유효한 경로를 유지합니다.

/GOOG/MSG:400 - Error generating IAM token: Not found

문제: 인증에 필요한 IAM 토큰을 생성할 수 없습니다.

원인: 워크로드 아이덴티티 제휴 또는 Secret Manager에 저장된 API 키를 통해 토큰을 사용하여 Google Cloud에 인증하고 IAM 서비스에 대한 통신 계약을 사용하는 경우 IAM 서비스와 관련된 통신 지도와 통신 시스템이 잘못되었습니다.

해결 방법: 다음 세부정보를 확인하고 업데이트합니다.

  • IAM 서비스의 통신 시스템 또는 통신 시스템에 사용된 BTP 대상에서 올바른 호스트 이름 URL을 유지합니다.
  • 통신 계약에서 유효한 경로를 유지합니다.

구성 검증 오류

G001 | Check communication scenario

원인: 통신 지도에 구성된 통신 시나리오는 기본 승인 클래스 /GOOG/CL_AUTH_GOOGLE에서 지원되지 않습니다.

해결 방법: /GOOG/CL_AUTH_GOOGLE을 승인 클래스로 사용하는 경우 인증 방법에 따라 다음 통신 시나리오 중 하나가 통신 지도에 지정되어 있는지 확인합니다.

통신 시나리오 인증
/GOOG/COM_SDK_WIF 워크로드 아이덴티티 제휴
/GOOG/COM_SDK_APIKSM Secret Manager를 사용하는 API 키

통신 지도를 업데이트하려면 ABAP SDK for Google Cloud SAP BTP 버전에 대한 인증 설정에서 인증 방법에 대한 안내를 참조하세요.

W001 | Check Comm. arrangement for WIF

원인: Google SDK: 기본 구성 앱에 지정된 통신 시나리오와 통신 시스템을 사용하여 통신 계약을 식별할 수 없습니다.

해결 방법: 인증 서비스를 위한 통신 계약에 유효한 통신 시나리오와 통신 시스템이 사용되는지 확인합니다.

자세한 내용은 워크로드 아이덴티티 제휴를 사용하도록 ABAP SDK for Google Cloud 구성을 참조하세요.

W002 | Fetch XSUAA token

원인: XSUAA 토큰 가져오기에 실패했습니다.

해결 방법: XSUAA 서비스 인스턴스가 올바르게 구성되었는지 확인합니다.

자세한 내용은 승인 및 트러스트(XSUAA) 서비스 인스턴스 만들기를 참조하세요.

W003 | Fetch WIF Pool ID

원인: 워크로드 아이덴티티 제휴 풀 ID가 통신 계약에 없습니다.

해결 방법: 인증 서비스에 사용되는 통신 계약에서 통신 시나리오 /GOOG/COM_SDK_WIF가 사용되고 유효한 워크로드 아이덴티티 제휴 풀 ID가 지정되어 있는지 확인합니다.

자세한 내용은 워크로드 아이덴티티 제휴를 사용하도록 ABAP SDK for Google Cloud 구성을 참조하세요.

W004 | Fetch WIF Provider ID

원인: 워크로드 아이덴티티 제휴 공급업체 ID가 통신 계약에 없습니다.

해결 방법: 인증 서비스에 사용되는 통신 계약에서 통신 시나리오 /GOOG/COM_SDK_WIF가 사용되고 유효한 워크로드 아이덴티티 제휴 공급업체 ID가 지정되어 있는지 확인합니다.

자세한 내용은 워크로드 아이덴티티 제휴를 사용하도록 ABAP SDK for Google Cloud 구성을 참조하세요.

W005 | Fetch STS token

원인: STS 토큰 가져오기에 실패했습니다.

해결 방법: 이 문제를 해결하려면 다음 단계를 수행합니다.

W006 | Fetch IAM credential token

원인: IAM Credentials API에서 IAM 토큰 가져오기에 실패했습니다.

해결 방법: 이 문제를 해결하려면 다음 단계를 수행합니다.

  • 통신 지도에서 Google Cloud 프로젝트 번호가 올바르게 유지되는지 확인합니다. 자세한 내용은 워크로드 아이덴티티 제휴를 사용하도록 ABAP SDK for Google Cloud 구성을 참조하세요.
  • 통신 지도에서 iamcredentials:v1 서비스의 항목이 유지되는 경우, 유지되는 통신 계약이 올바르고, 시스템에서 사용 가능하며, SDK 구성 앱에 지정된 것과 동일한 통신 시나리오 및 통신 시스템을 사용하는지 확인합니다.

V001 | Check Comm. Arr. for API Key(SM)

원인: Google SDK: 기본 구성 앱에 지정된 통신 시나리오와 통신 시스템을 사용하여 통신 계약을 식별할 수 없습니다.

해결 방법: 인증 서비스를 위해 유지되는 통신 계약이 올바르고, 시스템에서 사용 가능하며, SDK 구성 앱에서 유지되는 것과 동일한 통신 시나리오 및 통신 시스템을 사용하는지 확인합니다.

자세한 내용은 Secret Manager의 API 키를 사용하도록 ABAP SDK for Google Cloud 구성을 참조하세요.

V002 | Fetch Secret Name

원인: 통신 계약에 보안 비밀 이름이 없습니다.

해결 방법: 인증 서비스에 사용되는 통신 계약에서 통신 시나리오 /GOOG/COM_SDK_APIKSM가 사용되고 유효한 보안 비밀이 지정되어 있는지 확인합니다.

자세한 내용은 Secret Manager의 API 키를 사용하도록 ABAP SDK for Google Cloud 구성을 참조하세요.

V003 | Fetch Secret Version

원인: 보안 비밀 버전 속성에 통신 계약 내 유효한 값이 포함되어 있지 않습니다.

해결 방법: 인증 서비스에 사용되는 통신 계약에서 통신 시나리오 /GOOG/COM_SDK_APIKSM가 사용되고 유효한 보안 비밀 버전이 지정되어 있는지 확인합니다.

자세한 내용은 Secret Manager의 API 키를 사용하도록 ABAP SDK for Google Cloud 구성을 참조하세요.

V004 | Fetch Token from Secret Manager

원인: Secret Manager API가 API 키가 포함된 보안 비밀 가져오기에 실패했습니다.

해결 방법: 이 문제를 해결하려면 다음 단계를 수행합니다.

Google Cloud API에서 반환되는 오류 메시지

모든 API 클라이언트 스텁에는 API 반환 코드 및 오류 메시지를 제공하는 내보내기 매개변수가 있습니다.

  • ev_ret_code에는 HTTP 상태 코드가 포함됩니다. API에서 오류가 반환되는 경우 이 매개변수에 4XX 값이 포함됩니다.

  • ev_err_resp에는 API에서 반환한 오류 카테고리와 오류 메시지가 포함됩니다.

다음 예시에서는 이미 존재하는 주제 이름으로 새 Pub/Sub 주제를 만들 때 반환되는 API 오류를 보여줍니다.

  • ERROR_TEXT: 충돌
  • ERROR_DESCRIPTION: 리소스가 이미 프로젝트에 있음(리소스=SAMPLE_TOPIC_01)

API에서 반환하는 오류의 경우 해당 API의 공개 문서를 확인하는 것이 좋습니다.

커뮤니티에서 지원받기

Cloud 포럼의 커뮤니티에서 ABAP SDK for Google Cloud에 대해 질문하고 논의합니다.

지원받기

ABAP SDK for Google Cloud SAP BTP 버전 문제를 해결하는 데 도움이 필요하면 사용 가능한 모든 진단 정보를 수집하여 Cloud Customer Care에 문의하세요.

Cloud Customer Care에 문의하는 방법에 대한 자세한 내용은 Google Cloud 기반 SAP에 대한 지원 받기를 참조하세요.