SAP 애플리케이션 로그를 사용하여 오류 및 로그 메시지를 검토하면 ABAP SDK for Google Cloud 온프레미스 또는 모든 클라우드 버전 관련 문제를 해결할 수 있습니다.
소프트웨어 요구사항 및 기본 요건 확인
모든 시스템 소프트웨어가 요구되는 최소 버전에서 실행 중이고 ABAP SDK for Google Cloud의 기본 요건을 충족하는지 확인하세요.
SDK 설치 기본 요건에 대한 자세한 내용은 시작하기 전에를 참조하세요.
SAP 지원 문서 읽기
SAP 사용자 계정이 있는 경우 SAP ONE Support Launchpad에서 제공되는 SAP 노트 및 SAP 기술 자료 문서를 살펴보면 여러 SAP 소프트웨어 문제에 대한 해결 방법을 찾을 수 있습니다.
로깅
로깅이 구성되면 ABAP SDK for Google Cloud가 SAP 애플리케이션 로그에 오류 메시지를 로깅합니다. 로깅에 대한 자세한 내용은 애플리케이션 로깅을 참조하세요.
로그 메시지를 보려면 다음 단계를 따르세요.
- SAP GUI에서 트랜잭션 코드
SLG1
를 입력합니다. - 로그 객체 이름과 하위 객체 이름을 입력합니다.
- 유효한 날짜와 시간 범위를 선택합니다.
- 트랜잭션을 실행합니다. SDK에서 생성한 모든 로그 메시지가 표시됩니다.
로그 메시지는 일반적으로 다음 두 항목으로 구성됩니다.
- 입력: 오류가 발생한 정확한 코드 위치에 대한 정보를 제공합니다. 문제 해결을 위해 디버깅 중에 이 코드 위치를 중단점으로 사용할 수 있습니다.
- 오류 메시지: 작업을 수행하는 동안 발생한 오류에 대한 정보를 제공합니다.
디버깅
필요한 승인을 받았으면 API 클라이언트 클래스를 디버깅할 수 있습니다.
API 클라이언트 클래스를 디버깅하려면 다음 옵션 중 하나를 사용합니다.
/GOOG/CL_HTTP_CLIENT
클래스의 생성자에 중단점을 추가한 후 프로그램을 실행합니다.또는 사용 중인 메서드에 중단점을 추가한 후 프로그램을 실행합니다.
HTTP trace
오류를 해결하는 동안 SMICM
또는 ST05
트랜잭션에서 HTTP trace를 사용 설정할 수 있습니다.
성능에 미치는 영향을 제한하려면 작업이 완료되는 즉시 HTTP trace를 중지합니다.
일반적인 구성 문제
/GOOG/MSG 461: Insufficient privileges for execution
문제: 사용자가 SDK 구성을 수행하거나, 유틸리티 프로그램 또는 데모 프로그램을 실행할 수 없습니다.
원인: 사용자에 대한 승인이 누락되었습니다.
해결 방법: 트랜잭션 SU53
을 사용하여 SDK에 필요한 누락된 승인을 확인합니다.
사용자 ID에 필요한 승인을 얻으려면 SAP 보안 관리자에게 문의하세요. 자세한 내용은 승인 관리를 참조하세요.
/GOOG/MSG: 403 - Permission iam.serviceAccountTokenCreator
denied on resource (or it may not exist)
iam.serviceAccountTokenCreator
denied on resource (or it may not exist)문제: Compute Engine VM에서 호스팅되는 SAP 시스템의 경우 토큰 기반 인증 방법을 사용하면 Google Cloud API에 액세스할 수 없습니다.
원인: Compute Engine VM에서 호스팅되는 SAP 시스템의 경우 클라이언트 키 구성에서 지정된 서비스 계정이 SAP 호스트 VM이 포함된 프로젝트가 아닌 다른 Google Cloud 프로젝트에 생성됩니다.
해결 방법: 이 문제를 해결하려면 다음 단계를 수행하시기 바랍니다.
- SAP 호스트 VM이 포함된 Google Cloud 프로젝트에서 SAP 호스트 VM의 서비스 계정에
Service Account Token Creator
역할을 부여합니다. 단계에 대한 자세한 내용은 단일 역할 부여를 참조하세요. - SAP 호스트 VM이 포함된 Google Cloud 프로젝트에서 다음을 수행합니다.
- 서비스 계정 만들기. 서비스 계정의 이름을 기록해 둡니다. Google Cloud API가 포함된 다른 프로젝트에 서비스 계정을 주 구성원으로 추가할 때 이 이름을 지정합니다. 서비스 계정을 만드는 방법에 대한 자세한 내용은 서비스 계정 만들기를 참조하세요.
- SDK의 클라이언트 키 구성에서 이 서비스 계정을 지정합니다.
- Google Cloud API가 포함된 다른 프로젝트에서 다음을 수행합니다.
- 서비스 계정을 주 구성원으로 추가합니다.
- Google Cloud API에 연결하기 위한 적절한 역할을 부여합니다. API별 사전 정의된 역할에 대한 자세한 내용은 IAM 기본 및 사전 정의된 역할 참조를 확인하세요.
자세한 내용은 액세스 토큰을 사용하여 인증을 참조하세요.
일반적인 운영 문제
클라이언트 스텁 공개 메서드를 통해 Google Cloud API를 사용할 때 개발자에게 오류 및 예외가 발생할 수 있습니다. 이러한 오류와 예외는 크게 두 가지 카테고리로 분류됩니다.
- ABAP SDK for Google Cloud에 의해 트리거된 오류 및 예외
- Google Cloud API에서 반환되는 오류
이 섹션에서는 SDK에 의해 트리거된 오류 및 예외에 대해 설명합니다. API에서 반환되는 오류의 경우 해당 API의 공개 문서를 확인하는 것이 좋습니다.
/GOOG/MSG : 461 - Bad Request: Client key is not found in /GOOG/CLIENT_KEY table
문제: API 클라이언트 스텁 객체를 인스턴스화할 수 없습니다.
원인: 클라이언트 키 테이블 /GOOG/CLIENT_KEY
에 유효한 클라이언트 키가 포함되어 있지 않습니다.
해결 방법: 클라이언트 키 테이블 /GOOG/CLIENT_KEY
에서 유효한 클라이언트 키를 유지합니다.
API 클라이언트 스텁을 인스턴스화할 때 가져오기 매개변수 iv_key_name
을 사용하여 유효한 클라이언트 키를 전달합니다.
인증 방법에 대한 세부정보를 사용하여 클라이언트 키를 구성합니다. 인증 방법에 대한 자세한 내용은 인증을 참조하세요.
가져오기 매개변수 iv_key_name
을 사용하여 클라이언트 키를 전달하는 방법에 대한 자세한 내용은 생성자를 참조하세요.
/GOOG/MSG : 461 - Log Object not maintained in TCode SLG0
문제: API 클라이언트 스텁 객체를 인스턴스화할 수 없습니다.
원인: 잘못된 기본 로그 객체가 /GOOG/LOG_CONFIG
테이블에 유지되거나 잘못된 로그 객체가 가져오기 매개변수 iv_log_object
에 전달됩니다.
해결 방법: SAP 시스템에 유효한 로그 객체가 있는지 확인합니다.
로깅에 대한 자세한 내용은 애플리케이션 로깅을 참조하세요.
로그 객체를 전달하는 방법에 대한 자세한 내용은 생성자를 참조하세요.
/GOOG/MSG : 461 - Log SubObject not maintained in TCode SLG0
문제: API 클라이언트 스텁 객체를 인스턴스화할 수 없습니다.
원인: 잘못된 기본 로그 하위 객체가 /GOOG/LOG_CONFIG
테이블에 유지되거나 잘못된 로그 하위 객체가 가져오기 매개변수 iv_log_subobject
에 전달됩니다.
해결 방법: SAP 시스템에 유효한 로그 하위 객체가 있는지 확인합니다.
로깅에 대한 자세한 내용은 애플리케이션 로깅을 참조하세요.
로그 하위 객체를 전달하는 방법에 대한 자세한 내용은 생성자를 참조하세요.
/GOOG/MSG : 461 - Destination does not exist exception occurred in reading RFC destination
문제: API 클라이언트 스텁 객체를 인스턴스화할 수 없습니다.
원인: /GOOG/SERVIC_MAP
테이블에서 지정된 클라이언트 키에 대해 SAP 시스템에 RFC 대상이 없습니다.
해결 방법: 필요한 RFC 대상을 만듭니다. 자세한 내용은 RFC 대상 구성을 참조하세요.
/GOOG/MSG : 461 - Invalid RFC Destination GOOGLE_API exception occurred in reading RFC destination
문제: GOOGLE_API에 연결할 수 없습니다.
원인: 이 문제는 다음과 같은 원인로 인해 발생할 수 있습니다.
- RFC 연결 유형이
G - HTTP connection to external server
가 아닙니다. 443
서비스 번호가 지정되지 않았습니다.- 기본 SSL 클라이언트(표준)가 비활성 상태입니다.
해결 방법: 필요한 RFC 대상에 대해 다음을 수행합니다.
- RFC 연결 유형을
G - HTTP connection to external server
로 업데이트합니다. - 서비스 번호가
443
인지 확인합니다. - SSL 인증서 필드에서 기본 SSL 클라이언트(표준) 옵션이 선택되어 있는지 확인합니다.
- Google Cloud 기반 SAP 환경의 경우 메타데이터 서버에 대한 RFC 대상을 만든 경우 서비스 번호가
80
인지 확인합니다.
RFC 대상을 만드는 방법에 대한 자세한 내용은 다음을 참조하세요.
/GOOG/MSG : 461 - ERROR_MESSAGE exception occurred during the request creation
문제: Google Cloud API에 연결할 수 없습니다.
원인: SAP 시스템이 HTTP 클라이언트 객체를 만들 수 없습니다.
해결 방법: ICM이 HTTP를 통해 외부 서버와 통신하도록 구성되었는지 확인하세요. 자세한 내용은 인터넷 통신 관리자(ICM) 검증을 참조하세요.
/GOOG/MSG: 461 - Secret Manager Client Key not maintained in table /GOOG/CLIENT_KEY ERROR_MESSAGE
문제: Secret Manager 승인 클래스 /GOOG/CL_AUTH_API_KEY_SM
을 사용하여 Google Cloud API에 연결할 수 없습니다.
원인: 클라이언트 키 구성에 Authorization Parameter 1
또는 Authorization Parameter 2
가 누락되어 있습니다.
해결 방법 클라이언트 키 테이블에서 필요한 Authorization Parameter 1
또는 Authorization Parameter 2
를 업데이트합니다. 자세한 내용은 Secret Manager 액세스를 위한 클라이언트 키 구성을 참조하세요.
/GOOG/MSG: 461 - SSF Application APPLICATION_NAME is not set up in the system ERROR_MESSAGE
문제: SSF 승인 클래스 /GOOG/CL_AUTH_API_KEY_SSF
를 사용하여 Google Cloud API에 연결할 수 없습니다.
원인: 클라이언트 키 구성에 Authorization Parameter 1
이 누락되어 있습니다.
해결 방법 클라이언트 키 테이블에서 필요한 Authorization Parameter 1
을 업데이트합니다. 자세한 내용은 SSF용 클라이언트 키 구성을 참조하세요.
/GOOG/MSG: 461 - Method call of /GOOG/IF_AUTH~GET_ACCESS_TOKEN failed; the class CLASS_NAME does not exist
문제: 클라이언트 키 테이블에 유지되는 구성을 사용하여 Google Cloud API에 연결할 수 없습니다.
원인: Authorization Class
가 클라이언트 키 테이블에서 올바르지 않습니다.
해결 방법: 올바른 Authorization Class
를 유지합니다.
자세한 내용은 액세스 토큰을 사용하여 인증을 참조하세요.
/GOOG/MSG: 404 - Not Found
문제: Google Cloud API에 연결할 수 없습니다. API 엔드포인트에 연결할 수 없습니다.
원인: SDK가 Google Cloud API에 연결하는 데 사용하는 RFC 대상이 올바르게 구성되지 않았습니다. 예를 들어 RFC 대상에 잘못된 엔드포인트가 구성되어 있습니다.
해결 방법: RFC 대상이 올바르게 구성되었는지 확인합니다. 자세한 내용은 RFC 대상 구성을 참조하세요.
DESCRIPTION_OF_ISSUE while signing JWT using profile KEY_FILE_NAME.pse. Check JWT config in STRUST
STRUST
문제: Google Cloud API에 연결할 수 없습니다.
원인: JWT 구성 및 서비스 계정 키 설정이 STRUST
에 올바르게 구성되지 않았습니다.
해결 방법: JWT 구성과 서비스 계정 키가 JSON 웹 토큰을 사용하여 인증 설명대로 구성되었는지 확인합니다.
Bad Request invalid_grant. Invalid JWT Signature
문제: Google Cloud API에 연결할 수 없습니다.
원인: STRUST
로 가져온 PSE 또는 P12 키 파일이 JWT 서명에 사용한 서비스 계정에 속하지 않습니다.
해결 방법: 올바른 서비스 계정 키 파일을 STRUST
로 가져와야 합니다. 서비스 계정 키를 STRUST
로 가져오기에 대한 자세한 내용은 STRUST로 서비스 계정 키 가져오기를 참조하세요.
/GOOG/MSG : 417 - Direct connect to googleapis.com/oauth:443 failed: NIEHOST_UNKNOWN (-2)
문제: /GOOG/MSG : 417 - Direct connect to googleapis.com/oauth:443 failed: NIEHOST_UNKNOWN (-2)
오류 메시지가 표시되면서 Google Cloud 인증이 실패했습니다.
원인: ABAP SDK for Google Cloud가 Google Cloud 인증을 위해 사용하는 RFC 대상에서 대상 호스트가 유효하지 않습니다.
해결 방법: 이 문제를 해결하려면 다음 단계를 완료하시기 바랍니다.
샘플 RFC 대상
GOOG_OAUTH2_TOKEN
을 사용하여 RFC 대상을 만듭니다. RFC 대상 만들기에 대한 자세한 내용은 RFC 대상을 참조하세요.RFC 대상에 다음 값이 사용되는지 확인합니다.
- 호스트:
oauth2.googleapis.com
- 경로 프리픽스:
/token
.
- 호스트:
SAP 시스템이 프록시를 사용하여 인터넷에 연결하는 경우 RFC 대상에 필요한 프록시 세부정보를 유지합니다.
OAuth RFC HTTP Destination not maintained in /GOOG/SERVIC_MAP
/GOOG/SERVIC_MAP
문제: Google Cloud API에 연결할 수 없습니다.
원인: OAuth 2.0의 RFC 서비스 매핑 테이블 /GOOG/SERVIC_MAP
에서 사용할 수 없습니다.
해결 방법: 서비스 매핑 테이블 /GOOG/SERVIC_MAP
에서 OAuth 2.0에 대해 RFC 대상을 업데이트합니다. RFC 대상 지정에 대한 자세한 내용은 /GOOG/SERVIC_MAP
에서 RFC 대상 지정을 참조하세요.
/GOOG/MSG: 421 - SSL handshake with iamcredentials.googleapis.com:
443 failed: SSSLERR_PEER_CERT_UNTRUSTED
문제: /GOOG/MSG: 421 - SSL handshake with iamcredentials.googleapis.com:
443 failed: SSSLERR_PEER_CERT_UNTRUSTED
오류 메시지가 표시되면서 Google Cloud 인증이 실패했습니다.
원인: Google 인증서가 STRUST
에 올바르게 설치되지 않았습니다.
해결 방법: Google Trust Services 저장소에서 최신 인증서를 다운로드하여 STRUST
거래에 업로드합니다. 기존 인증서를 사용하지 마세요. 이 작업을 수행하는 방법은 SSL 인증서 설정을 참고하세요.
/GOOG/MSG: 503 - HTTP Communication Failure - SSL client SSL Client (Standard)
문제: API 메서드에 대한 HTTP 요청이 실패했습니다.
원인 Google Cloud에서 실행되는 SAP 워크로드의 경우 SDK가 /GOOG/SERVIC_MAP
테이블에서 구성이 유지되는 Google Cloud API에 연결하기 위해 사용하는 RFC 대상에서 대상 호스트 필드 값이 잘못되었습니다.
해결 방법: RFC 대상이 올바르게 구성되었는지 확인합니다. 자세한 내용은 RFC 대상 구성을 참조하세요.
/GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the request sending
문제: API 메서드에 대한 HTTP 요청이 실패했습니다.
원인: 이 문제는 연결 문제로 인해 발생할 수 있습니다.
해결 방법: 연결을 검증하고 네트워크가 올바르게 설정되어 있고 오류 없이 실행되며 정체되어 있지 않는지 확인합니다.
네트워크 연결 문제를 확인하려면 SMICM
트랜잭션을 사용하여 ICM trace 파일을 확인합니다. 자세한 내용은 2351619 - SMICM trace 방법을 참조하세요.
/GOOG/MSG: 503 - HTTP Communication Failure exception occurred during the response receiving
문제: API 메서드에 대한 HTTP 요청이 실패했습니다.
이 문제는 다음과 같은 경우에 발생할 수 있습니다.
RFC 대상에서 SSL이 활성화되지 않음
원인: SDK가 Google Cloud API에 연결하는 데 사용하는 RFC 대상에서 SSL 인증서 사용을 위한 보안 옵션이 활성화되지 않았습니다.
해결 방법: RFC 대상이 올바르게 구성되었는지 확인합니다. 자세한 내용은 RFC 대상 구성을 참조하세요.
SSL 핸드셰이크 실패
원인: SAP 호스트와 Google Cloud API 엔드포인트 간에 SSL 핸드셰이크가 실패한 경우. 이는 TLS 서버에서 제공하는 인증서가 SAP 서버에서 제공한 대상 호스트 이름에 유효하지 않은 경우에 발생하며 선택적 TLS 확장 프로그램 SNI의 클라이언트 측 전송이 NetWeaver 커널에 구현되지 않았기 때문일 수 있습니다.
해결 방법: SMICM
트랜잭션에서 반환 코드 SSLERR_SERVER_CERT_MISMATCH
를 찾습니다. 반환 코드 SSLERR_SERVER_CERT_MISMATCH
를 찾으면 TLS 확장 프로그램 SNI 전송을 사용 설정해야 합니다. 또한 NetWeaver 커널에서 선택적 TLS 확장 프로그램 SNI의 클라이언트 측 전송을 구현하는지 확인합니다.
TLS 확장 프로그램 SNI 전송을 사용 설정하려면 NetWeaver 커널 버전에 따라 프로필 매개변수 icm/HTTPS/client_sni_enabled
또는 ssl/client_sni_enabled
를 TRUE
로 설정합니다. SAP에 대한 자세한 내용은 다음을 참조하세요.
- SAP Note 510007 - 애플리케이션 서버 ABAP에 SSL 설정을 위한 추가 고려사항
- SAP Note 2582368 - 클라이언트 측 TLS 확장 프로그램 SNI의 saphttp, spkprotp에 대한 SapSSL 업데이트
- SAP Note 2124480 - ICM/Web Dispatcher: 클라이언트로 TLS 확장 프로그램 서버 이름 표시(SNI)
The caller does not have permission
문제: 인증에 성공하더라도 Google Cloud API 리소스에 액세스할 수 없습니다.
원인: API 리소스를 볼 수 있는 권한이 없습니다.
해결 방법: 이 문제를 해결하려면 다음 단계를 완료하시기 바랍니다.
- API 리소스가 자신의 Google 계정 사용자 인증 정보에 공유되었는지 확인합니다.
- API를 요청하고 응답을 확인합니다.
Google API_NAME API has not been used in project PROJECT_ID before or it is disabled
문제: OAuth 2.0 클라이언트 사용자 인증 정보를 사용하여 Google Cloud API에 액세스할 수 없습니다.
원인: 특정 Google Cloud 프로젝트에 사용 설정된 API를 호출하기 위해 다른 Google Cloud 프로젝트에 생성된 클라이언트 ID를 사용 중입니다.
동일한 조직 내에 있더라도 특정 Google Cloud 프로젝트에 있는 클라이언트 ID를 사용해서는 다른 프로젝트에서 API를 호출할 수 없습니다.
해결 방법: API가 사용 설정된 Google Cloud 프로젝트에서 클라이언트 ID를 만듭니다. 자세한 내용은 OAuth 2.0 클라이언트 ID 사용자 인증 정보 만들기를 참조하세요.
/GOOG/MSG : 461 - OAuth 2.0 Client Profile CLIENT_PROFILE_NAME is assigned to multiple OAuth 2.0 clients
문제: OAuth 2.0 클라이언트 사용자 인증 정보를 사용하여 Google Cloud API에 액세스할 수 없습니다.
원인: 하나 이상의 OAuth 2.0 클라이언트에 할당된 OAuth 2.0 프로필을 사용하여 Google Cloud API를 호출하는 중입니다.
그러나 OAuth 2.0 클라이언트 구성 이름이 클라이언트 키 테이블 /GOOG/CLIENT_KEY
의 Authorization Parameter 2
필드에 지정되지 않았습니다.
해결 방법: 둘 이상의 OAuth 2.0 클라이언트에 OAuth 2.0 프로필을 할당하려면 각 OAuth 2.0 클라이언트에 대해 고유한 구성 이름을 정의하고 클라이언트 키 테이블 /GOOG/CLIENT_KEY
의 Authorization Parameter 2
필드에 구성 이름을 지정해야 합니다. 자세한 내용은 여러 Google Cloud 프로젝트 시나리오를 참조하세요.
/GOOG/MSG : 461 - No refresh token available for current user
문제: OAuth 2.0 클라이언트 사용자 인증 정보를 사용하여 Google Cloud API에 액세스할 수 없습니다.
원인: 클라이언트 ID에 대해 OAuth 2.0 갱신 토큰을 부여하지 않고 OAuth 2.0 클라이언트 사용자 인증 정보를 사용해서 Google Cloud API를 호출하는 중입니다.
해결 방법: Google 계정 사용자 인증 정보를 사용해서 클라이언트 ID에 대해 OAuth 2.0 토큰을 요청합니다. 자세한 내용은 OAuth 2.0 액세스 토큰 요청을 참조하세요.
Access blocked: This app's request is invalid (Error 400: redirect_uri_mismatch)
문제: OAuth 2.0 액세스 토큰을 요청할 때 Google 계정으로 로그인 화면이 Access blocked: This app's request is invalid (Error 400: redirect_uri_mismatch)
오류 메시지와 함께 표시됩니다.
원인: OAuth 2.0 클라이언트 ID 사용자 인증 정보의 승인된 리디렉션 URI가 잘못되었거나 유지보수되지 않습니다.
해결 방법: 이 문제를 해결하려면 다음 단계를 완료하시기 바랍니다.
- SAP 시스템에서
OA2C_CONFIG
트랜잭션 코드를 입력합니다. SAP 로그인 페이지가 기본 브라우저에서 열립니다. - SAP 사용자 인증 정보를 사용해서 로그인합니다.
- 필요한 클라이언트 ID를 선택합니다.
- 리디렉션 URI 필드에서 SAP 리디렉션 URI를 기록해 둡니다.
Google Cloud 콘솔에서 메뉴 > API 및 서비스 > 사용자 인증 정보로 이동합니다.
웹 애플리케이션의 클라이언트 ID를 선택합니다.
승인된 리디렉션 URI 필드에 SAP 리디렉션 URI를 입력합니다.
변경사항을 저장합니다.
/GOOG/MSG : 406 - IcmIConnCheckClientEnabled: Connect for protocol HTTP denied by configuration HTTP Response
문제: Google Cloud API에 액세스할 수 없습니다.
원인: HTTP 포트 구성이 SAP 시스템에 누락되었습니다.
해결 방법: HTTP 포트와 HTTPS 포트를 모두 만들고 SAP 시스템에서 활성화해야 합니다.
VM 메타데이터는 HTTP 포트를 통해서만 액세스할 수 있는 메타데이터 서버에 저장됩니다. 따라서 VM 메타데이터에 액세스하려면 HTTP 포트가 활성 상태인지 확인해야 합니다. 또한 HTTPS 포트가 후속 API 호출에 대해 활성 상태인지 확인해야 합니다.
이 문제를 해결하려면 다음 단계를 완료하시기 바랍니다.
SAP GUI에서 트랜잭션 코드
SMICM
를 입력합니다.메뉴 바에서 이동 > 서비스를 클릭합니다.
HTTP 및 HTTPS 포트가 생성되었고 활성 상태인지 확인합니다. Actv 열의 녹색 체크표시는 HTTP 및 HTTPS 포트가 활성 상태임을 나타냅니다.
HTTP 및 HTTPS 포트 구성에 대한 자세한 내용은 ICM에서 HTTP(S) 설정을 참조하세요.
/GOOG/MSG: 403 - Request had insufficient authentication scopes
문제: /GOOG/MSG: 403 - Request
had insufficient authentication scopes
오류 메시지와 함께 API 호출이 실패했습니다.
원인: Google Cloud에서 실행되는 SAP 워크로드의 경우, /GOOG/CLIENT_KEY
테이블의 지정된 서비스 계정에 Google Cloud API에 액세스하는 데 필요한 범위가 없습니다.
해결 방법: 이 문제를 해결하려면 다음 단계를 완료하시기 바랍니다.
Google Cloud 콘솔에서 Compute Engine VM 인스턴스 페이지로 이동합니다.
SAP 워크로드가 실행 중인 VM 인스턴스를 클릭합니다.
중지를 클릭한 후 안내에 따라 VM 인스턴스를 중지합니다.
수정을 클릭합니다.
연결된 서비스 계정의 경우 모든 Cloud API에 대한 전체 액세스를 허용하도록 액세스 범위를 수정합니다.
저장을 클릭합니다.
시작/재개를 클릭하여 VM 인스턴스를 다시 시작합니다.
Error in HTTP Request: Invalid version (44)
문제: /GOOG/CL_STORAGE_V1
클래스의 DELETE_OBJECTS
메서드를 사용하여 Cloud Storage 버킷에서 객체를 삭제할 수 없습니다.
Error in HTTP Request: Invalid version (44)
오류 메시지가 표시되면서 요청이 실패했습니다.
원인: 삭제하려는 객체의 이름에 공백이 포함되어 있습니다.
해결 방법: /GOOG/CL_STORAGE_V1
클래스의 DELETE_OBJECTS
메서드를 호출하기 전에 객체 이름에 공백이 없는지 확인해야 합니다.
이 문제를 해결하려면 다음 단계를 수행하시기 바랍니다.
cl_http_utility=>escape_url( OBJECT_NAME )
메서드를 호출합니다.OBJECT_NAME
을 삭제해야 하는 객체 이름으로 바꿉니다.이 메서드는 이름의 공백을
%20
로 바꾼 후 객체 이름을 반환하여 안전한 URL을 만듭니다.이전 단계에서 반환된 객체 이름을 사용하여
/GOOG/CL_STORAGE_V1
클래스의DELETE_OBJECTS
메서드를 호출합니다.
/GOOG/MSG: 405 - Error in HTTP Request: Invalid request line(9):
문제: /GOOG/CL_PUBSUB_V1
클래스의 CREATE_TOPICS
메서드를 사용하여 새 Pub/Sub 주제를 만드는 동안 /GOOG/MSG: 405 - Error in HTTP Request: Invalid request line(9):
오류 메시지가 표시되면서 요청이 실패했습니다.
원인: 만들려는 Pub/Sub 주제의 이름에 공백이 포함되어 있습니다.
해결 방법: Pub/Sub 주제 이름에서 모든 공백을 삭제해야 합니다.
Pub/Sub 주제 이름이 다음 규칙을 준수하는지 확인합니다.
- 문자로 시작합니다.
GOOG
로 시작하지 않음- 어떠한 공백도 포함하지 않음
- 3~255자여야 합니다.
- 다음 문자(글자
[A-Za-z]
, 숫자[0-9]
, 대시(-)
, 마침표.
, 밑줄_
, 물결표~
, 퍼센트 기호%
, 더하기 기호+
)만 사용합니다.
Pub/Sub 주제 이름 지정 가이드라인에 대한 자세한 내용은 주제, 구독, 스키마 또는 스냅샷 이름 지정 가이드라인을 참조하세요.
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
)
커뮤니티에서 지원받기
Cloud 포럼의 커뮤니티에서 ABAP SDK for Google Cloud에 대해 질문하고 논의합니다.
지원 받기
ABAP SDK for Google Cloud의 문제를 해결하는 데 도움이 필요하면 사용 가능한 모든 진단 정보를 수집하고 Cloud Customer Care에 문의하세요.
Cloud Customer Care에 문의하는 방법에 대한 자세한 내용은 Google Cloud 기반 SAP에 대한 지원 받기를 참조하세요.