cancel
Showing results for 
Search instead for 
Did you mean: 

Add an External Service - Reading Business Partners: Invalid ApiKey

Jarmo_Tuominen
Participant
0 Kudos

Hi,

I am reading business partners in course 'Developing with SAP Extension Suite' in excercise 'Add an External Service'. I am getting error 'Invalid ApiKey'. For me it seems the apikey is empty. Why I am getting this error, and what should be done? Thanks in advance for your help!

Below is the application log. Variable 'apikey' is empty.
_______________________

[cds] - model loaded from 7 file(s):

./db/schema.cds
./srv/risk-service.cds
./app/common.cds
./app/services.cds
./srv/external/API_BUSINESS_PARTNER.csn
./node_modules/@sap/cds/common.cds
./app/risks/annotations.cds

[cds] - connect using bindings from: { registry: '~/.cds-services.json' }
[cds] - connect to db > sqlite { database: ':memory:' }
> filling riskmanagement.Mitigations from ./db/data/riskmanagement-Mitigations.csv
> filling riskmanagement.Risks from ./db/data/riskmanagement-Risks.csv
/> successfully deployed to sqlite in-memory db

[cds] - connect to API_BUSINESS_PARTNER > odata-v2 {
url: 'https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_BUSINESS_PARTNER/'
}
[cds] - serving RiskService { at: '/service/risk', impl: './srv/risk-service.js' }

[cds] - server listening on { url: 'http://localhost:4004' }
[cds] - launched at 2/23/2022, 11:20:00 AM, in: 2.207s
[cds] - [ terminate with ^C ]

[cds] - GET /service/risk/BusinessPartners
[remote] - Error: Error during request to remote service: Request failed with status code 401
at createError (/home/user/projects/risk-management4/node_modules/axios/lib/core/createError.js:16:15)
at settle (/home/user/projects/risk-management4/node_modules/axios/lib/core/settle.js:17:12)
at IncomingMessage.handleStreamEnd (/home/user/projects/risk-management4/node_modules/axios/lib/adapters/http.js:269:11)
at IncomingMessage.emit (events.js:412:35)
at endReadableNT (internal/streams/readable.js:1317:12)
at processTicksAndRejections (internal/process/task_queues.js:82:21) {
config: {
url: "/A_BusinessPartner?$top=1000&$orderby=BusinessPartner%20asc&$filter=LastName%20ne%20''%20and%20FirstName%20ne%20''&$select=BusinessPartner,LastName,FirstName",
method: 'get',
proxy: false,
baseURL: 'https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_BUSINESS_PARTNER/',
timeout: 60000,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
data: undefined
},
request: {
method: 'GET',
url: "https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_BUSINESS_PARTNER//A_BusinessPartner?$t...",
headers: {
Accept: 'application/json,text/plain',
'accept-language': 'en-US,en;q=0.9,fi;q=0.8',
apikey: '',
'User-Agent': 'axios/0.21.4'
}
},
response: {
status: 401,
statusText: 'Unauthorized',
headers: {
date: 'Wed, 23 Feb 2022 11:20:45 GMT',
'content-type': 'application/json',
'content-length': '90',
connection: 'close'
},
body: {
fault: {
faultstring: 'Invalid ApiKey',
detail: { errorcode: 'oauth.v2.InvalidApiKey' }
}
}
},
isAxiosError: true,
correlationId: '8e485dcc-25bb-4262-9a52-29eee66ca19c'
}
[cds] - Error: Error during request to remote service: Request failed with status code 401
at run (/home/user/projects/risk-management4/node_modules/@sap/cds/libx/_runtime/remote/utils/client.js:250:25)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async RemoteService.<anonymous> (/home/user/projects/risk-management4/node_modules/@sap/cds/libx/_runtime/remote/Service.js:179:20)
at async next (/home/user/projects/risk-management4/node_modules/@sap/cds/lib/serve/Service-dispatch.js:74:17)
at async RemoteService.handle (/home/user/projects/risk-management4/node_modules/@sap/cds/lib/serve/Service-dispatch.js:72:10)
at async RemoteService.handle (/home/user/projects/risk-management4/node_modules/@sap/cds/libx/_runtime/remote/Service.js:230:22)
at async ApplicationService.<anonymous> (/home/user/projects/risk-management4/srv/risk-service.js:37:12)
at async next (/home/user/projects/risk-management4/node_modules/@sap/cds/lib/serve/Service-dispatch.js:74:17)
at async ApplicationService.handle (/home/user/projects/risk-management4/node_modules/@sap/cds/lib/serve/Service-dispatch.js:72:10)
at async _readCollection (/home/user/projects/risk-management4/node_modules/@sap/cds/libx/_runtime/cds-services/adapter/odata-v4/handlers/read.js:270:19) {
statusCode: 502,
innererror: Error: Error during request to remote service: Request failed with status code 401
at createError (/home/user/projects/risk-management4/node_modules/axios/lib/core/createError.js:16:15)
at settle (/home/user/projects/risk-management4/node_modules/axios/lib/core/settle.js:17:12)
at IncomingMessage.handleStreamEnd (/home/user/projects/risk-management4/node_modules/axios/lib/adapters/http.js:269:11)
at IncomingMessage.emit (events.js:412:35)
at endReadableNT (internal/streams/readable.js:1317:12)
at processTicksAndRejections (internal/process/task_queues.js:82:21) {
config: {
url: "/A_BusinessPartner?$top=1000&$orderby=BusinessPartner%20asc&$filter=LastName%20ne%20''%20and%20FirstName%20ne%20''&$select=BusinessPartner,LastName,FirstName",
method: 'get',
proxy: false,
baseURL: 'https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_BUSINESS_PARTNER/',
timeout: 60000,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
data: undefined
},
request: {
method: 'GET',
url: "https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_BUSINESS_PARTNER//A_BusinessPartner?$t...",
headers: {
Accept: 'application/json,text/plain',
'accept-language': 'en-US,en;q=0.9,fi;q=0.8',
apikey: '',
'User-Agent': 'axios/0.21.4'
}
},
response: {
status: 401,
statusText: 'Unauthorized',
headers: {
date: 'Wed, 23 Feb 2022 11:20:45 GMT',
'content-type': 'application/json',
'content-length': '90',
connection: 'close'
},
body: {
fault: {
faultstring: 'Invalid ApiKey',
detail: { errorcode: 'oauth.v2.InvalidApiKey' }
}
}
},
isAxiosError: true,
correlationId: '8e485dcc-25bb-4262-9a52-29eee66ca19c'
},
id: '1834004',
level: 'ERROR',
timestamp: 1645615245379
}
user: risk-management4 $

View Entire Topic
HayBouten
Product and Topic Expert
Product and Topic Expert
0 Kudos

@Meinrad In SAP HANA Cloud the backups are scheduled automatically by SAP, the only thing you can do is check the schedule.
-- Hay

Margit_Wagner
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi @Meinrad,
if @HayBouten reply solves your questions, I would like to ask you to use the function “Accept as Solution" function so we can complete  this case. This will also help others if the have a similar inquiry to find an answer else  how we can help you.

Thank you for your engagement: the details you always provide helps us to understand your quivery and won't waste time with queries 

Best regards
Margit