[SAP Cloud Integration] BTP ABAP 환경에서의 ODAta 서비스
이 글은 CPI에서 BTP ABAP 환경(Trial)에서 만든 ODAta 서비스를 호출하는 방법을 설명할 것이다.언뜻 보기에는 간단한 것 같지만 인증 방법이 좀 특이한 것이 이 글의 주제다.
BTP ABAP 환경에서의 인증 방법
BTP ABAP 환경의 ODAta 서비스를 호출하려면 OAuth 2.0 Password Grant Type를 로그인 사용자로 사용해야 합니다.CPI의 Security Material에는 Password Grant가 없기 때문에 스스로 영패 획득 처리를 실시해야 한다.
사전 준비
토큰을 받으려면 XSUAA 서비스 인스턴스가 작성됩니다.계획은 "apaccess"입니다.
cf create-service xsuaa apiaccess <access_name> //サービスインスタンスの作成
cf create-service-key <access_name> <key_name> //サービスキーの作成
Postman한테 불러봐.호출된 ODATA 서비스는 무엇이든 가능하지만, 이번에는 자신이 하는 서비스를 불러보자.URL은 abp-trial 서비스 스키의 URL과
서비스 URL에 표시되는 다음 섹션을 결합합니다.
예:
https://e70506aa-ddc0-435c-aab6-7abc40008538.abap.eu10.hana.ondemand.com/sap/opu/odata/sap/ZUI_A_SALESORDER_O2
1. 영패 획득
다음 파라미터를 설정하고 영패를 받습니다.
항목
값 설정
URL
XSUAA의 서버 스키에 기재된 url+/oauth/token
머리글
Content-Type
application/x-www-form-urlencoded
매개 변수
grant_type
password
username
BTP 로그인용 메일 주소
password
BTP 로그인 비밀번호
client_id
XSUAA의 서비스 스키에 기재된 clientid
client_secret
XSUAA의 서비스 스키에 기재된 clientsecret
2. 호출 서비스
다음은 ODAta 서비스의 메타데이터를 얻으려고 합니다.
항목
값 설정
URL
위에서 확인한 URL+/$metadata
머리글
Authorization
Bearer + 1.에 나열된 accesstoken
프로세스 작성
Postman이 확인한 바와 같이 BTP ABAP 환경의 ODAta 서비스를 제공하는 절차는 대체로 다음과 같습니다.
1. 영패 획득
2. Odata 서비스라고 합니다
절차를 더욱 쉽게 하기 위해.다른 절차로 만들다의 프로세스에서 호출됩니다.
토큰을 획득하는 절차
다음은 영패를 얻는 절차도입니다.
1. ProcessDirect
ProcessDirect Adapter는 외부 프로세스에서 이 프로세스를 호출하는 데 사용되는 어댑터입니다.설정 내용은 주소로만 제한됩니다.
2. Set Header & Body [Content Modifier]
편집은 영패를 얻는 데 사용되는 단점의 머리와 주체에 전달됩니다.
페이지 끝에content-type
application/x-www-form-urlencoded
을 설정합니다.신체를 아래의 고정치로 설정합니다.
username=<BTPログイン用のメールアドレス>&password=<BTPログイン用のパスワード>&client_id=<XSUAAのサービスキーに記載のclient_id>&client_secret=<XSUAAのサービスキーに記載のclient_secret>
※ 원래 이런 것들은 절차에 직접 쓰지 않고 Security Material에서 얻는 것이 좋으며, 간단하게 보기 위해 잘 쓴다.
3. Get Token [HTTP Adapter]
다음 HTTP를 통해 토큰을 요청하십시오.
4. JSON to XML Converter
다음 단계에서 받은 토큰을 쉽게 가져올 수 있도록 응답을 XML 형식으로 변환합니다.다음 설정은 기본값으로 유지됩니다.
5. Extract Token [Content Modifier]
이 절차는 최종적으로 주체에 영패를 설정하고 돌아옵니다.따라서 이 단계에서 다음과 같은 작업을 수행합니다.
XPath 액세스 토큰을 사용하여 XML로 변환되었습니다.
속성에서 영패를 획득하고 주체로 설정
출력
초기 ProcessDirect를 HTTP 어댑터로 임시로 변환하여 다음 응답을 받습니다.
주요 프로세스
다음은 주요 절차입니다.
1. HTTP Sender Adapter
HTTP 요청에서 프로세스를 호출하려면 HTTP Sender Adapter를 사용합니다.
2. Get Token [ProcessDirect]
영패를 얻는 데 사용되는 절차를 호출합니다.
3. Set Headers
Authorization 헤더에 획득한 영패를
Bearer <token>
형식으로 설정합니다. (주체에 포함)4. Call CAP OData [OData V2 Adapter]
RAP의 ODAta 서비스에 대해 GET 요구 사항을 제출합니다.
Request Headers에서 마지막으로 작성한
Authorization
을 설정합니다.출력
Postman에서 요구되는 설계 프로세스
아래의 결과를 얻을 수 있다면 성공할 것이다.
Reference
이 문제에 관하여([SAP Cloud Integration] BTP ABAP 환경에서의 ODAta 서비스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tami/items/c40104ecad4c58d2953b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)