Describe the Bug
cloud sdk java v5.31.0 is used.
It is not possible to customize HTTP request config. ResponseTimeout is important config parameter for us.
Here is sample code :
final RequestConfig REQUEST_CONFIG = RequestConfig.custom()
.setCookieSpec(StandardCookieSpec.IGNORE)
.setConnectionRequestTimeout(DURATION_TIMEOUT_5_SECONDS)
.setResponseTimeout(DURATION_TIMEOUT_5_SECONDS)
.build();
final String destinationName = "MY_BACKEND_ALIAS";
final Try tryDestination = DestinationAccessor.tryGetDestination(destinationName);
final Function<Destination, HttpDestination> AS_HTTP = Destination::asHttp;
final Try tryHttpClient = tryDestination.map(AS_HTTP).flatMap(ApacheHttpClient5Accessor::tryGetHttpClient);
final HttpPost request = new HttpPost("");
request.setConfig(REQUEST_CONFIG);
request.setHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE);
request.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
final HttpResult result = tryHttpClient.get().execute(request, HttpResult::new);
...
The class ApacheHttpClient5Wrapper discard the RequestConfig and exclusively use its own : https://github.com/SAP/cloud-sdk-java/blob/main/cloudplatform/connectivity-apache-httpclient5/src/main/java/com/sap/cloud/sdk/cloudplatform/connectivity/ApacheHttpClient5Wrapper.java#L94
The class DefaultApacheHttpClient5Factory use a near hardcoded RequestConfig : https://github.com/SAP/cloud-sdk-java/blob/main/cloudplatform/connectivity-apache-httpclient5/src/main/java/com/sap/cloud/sdk/cloudplatform/connectivity/DefaultApacheHttpClient5Factory.java#L167
setCookieSpec and setResponseTimeout cannot be configured nor injected.
Steps to Reproduce
see code example above.
Expected Behavior
see code example above.
Screenshots
No response
Used Versions
- Java and Maven version via
mvn --version: Java 25
- SAP Cloud SDK version: v5.31.0
- Spring Boot or CAP version: Spring Boot v3.5.15
Dependency tree via mvn dependency:tree
Code Examples
Stack Trace
No response
Log File
Log file
...
Affected Development Phase
Already deployed to production eu20 and ap20.
Impact
High impact on service in live landscape since ResposneTimeout is very important parameter.
Timeline
ASAP
Describe the Bug
cloud sdk java v5.31.0 is used.
It is not possible to customize HTTP request config. ResponseTimeout is important config parameter for us.
Here is sample code :
final RequestConfig REQUEST_CONFIG = RequestConfig.custom()
.setCookieSpec(StandardCookieSpec.IGNORE)
.setConnectionRequestTimeout(DURATION_TIMEOUT_5_SECONDS)
.setResponseTimeout(DURATION_TIMEOUT_5_SECONDS)
.build();
final String destinationName = "MY_BACKEND_ALIAS";
final Try tryDestination = DestinationAccessor.tryGetDestination(destinationName);
final Function<Destination, HttpDestination> AS_HTTP = Destination::asHttp;
final Try tryHttpClient = tryDestination.map(AS_HTTP).flatMap(ApacheHttpClient5Accessor::tryGetHttpClient);
final HttpPost request = new HttpPost("");
request.setConfig(REQUEST_CONFIG);
request.setHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE);
request.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
final HttpResult result = tryHttpClient.get().execute(request, HttpResult::new);
...
The class ApacheHttpClient5Wrapper discard the RequestConfig and exclusively use its own : https://github.com/SAP/cloud-sdk-java/blob/main/cloudplatform/connectivity-apache-httpclient5/src/main/java/com/sap/cloud/sdk/cloudplatform/connectivity/ApacheHttpClient5Wrapper.java#L94
The class DefaultApacheHttpClient5Factory use a near hardcoded RequestConfig : https://github.com/SAP/cloud-sdk-java/blob/main/cloudplatform/connectivity-apache-httpclient5/src/main/java/com/sap/cloud/sdk/cloudplatform/connectivity/DefaultApacheHttpClient5Factory.java#L167
setCookieSpec and setResponseTimeout cannot be configured nor injected.
Steps to Reproduce
see code example above.
Expected Behavior
see code example above.
Screenshots
No response
Used Versions
mvn --version: Java 25Dependency tree via
mvn dependency:treeCode Examples
// Your code hereStack Trace
No response
Log File
Log file
...Affected Development Phase
Already deployed to production eu20 and ap20.
Impact
High impact on service in live landscape since ResposneTimeout is very important parameter.
Timeline
ASAP