Remote Services concept
Class cds.RemoteService
is a service proxy class to consume remote services via different protocols, like OData or plain REST.
cds.RemoteService class
class cds.RemoteService extends cds.Service
cds.RemoteService — Configuration
The cds.RemoteService
configuration allows you to define various options for connecting to remote services.
CSRF-Token Handling
If the remote system you want to consume requires it, you can enable the new CSRF-token handling of @sap-cloud-sdk/core
via configuration options csrf
and csrfInBatch
. These options allow to configure CSRF-token handling for each remote service separately.
Basic Configuration
"cds": {
"requires": {
"API_BUSINESS_PARTNER": {
"kind": "odata",
"model": "srv/external/API_BUSINESS_PARTNER",
"csrf": true,
"csrfInBatch": true
}
}
}
In this example, CSRF handling is enabled for the API_BUSINESS_PARTNER
service, for regular requests (csrf: true
) and requests made within batch operations (csrfInBatch: true
).
Advanced Configuration
Actually csrf: true
is a convenient preset. If needed, you can further customize the CSRF-token handling with additional parameters:
"cds": {
"requires": {
"API_BUSINESS_PARTNER": {
...
"csrf": {
"method": "get",
"url": "..."
}
}
}
}
Here, the CSRF-token handling is customized at a more granular level:
method
: The HTTP method for fetching the CSRF token. The default ishead
.url
: The URL for fetching the CSRF token. The default is the resource path without parameters.
Timeout Handling
The requestTimeout
setting in the cds.RemoteService
configuration specifies the maximum duration, in milliseconds (default: 60000), to wait for a response from the remote service before timing out.
Configuration Option
{
"API_BUSINESS_PARTNER": {
"kind": "odata",
"credentials": {
...
"requestTimeout": 1000000
}
}
}
TIP
See Using Destinations for more details on destination configuration.
More to Come
This documentation is not complete yet, or the APIs are not released for general availability. There's more to come in this place in upcoming releases.