Frequently Asked Questions
General Questions
How Often Do You Release a New SAP Cloud SDK Version?
We release a minor version every two weeks. All the features that are Generally Available or Beta get into the next release. You can find the latest SAP Cloud SDK version and the list of previous releases here or on Maven Central. Find more details in our release policy.
Should I Update With Every Release?
The general recommendation is YES. This way you'll reduce the effort to keep up with the fast pace of cloud development. We try to keep stable functionality consistent and explicitly notify about breaking changes. Be cautious about using features annotated as Beta because their API can change with every release.
Which Java Versions Are Supported by the SAP Cloud SDK?
The SAP Cloud SDK is compatible with Java 17 Long-Term-Support (LTS). Newer Java versions may work as well depending on your setup but are not yet tested by us. Note that the SAP Business Technology Platform Cloud Foundry environment can be configured to run with Java 17.
Can I Use Features Annotated as Beta in Production?
We do not recommend using the API that is marked unstable in the production code. We do not guarantee any API compatibility for future updates and the features might be experimental. You can use these features to test new functionality, provide us feedback, and plan migration steps when Beta features are released as General Availability.
I Think I Found a Bug in the SAP Cloud SDK, What Should I Do?
The SAP Cloud SDK for Java is an open source project. In case you found a bug or opportunity for improvement you can directly open an issue or pull request in the SAP Cloud SDK GitHub repository.
How Do I Remotely Debug My App on SAP BTP Cloud Foundry?
Use these CF CLI instructions to activate debugging for your App.
Tomcat (when using SAP Java Buildpack Jakarta)
cf ssh application -c 'export JAVA_PID=`ps -C java -o pid=` && /home/vcap/app/META-INF/.sap_java_buildpack/sap_machine_jre/bin/jcmd $JAVA_PID VM.start_java_debugging'
cf ssh application -N -T -L 8000:localhost:8000
Spring
cf set-env application JBP_CONFIG_DEBUG "{enabled: true}"
cf restage application
cf ssh -N -T -L 8000:localhost:8000 application
Check out this blog post for step-by-step remote debugging instructions. You'll also learn how to get debug information into IntelliJ IDEA.
Do not forget to revert any changes you made to your mta.yml
(and/or environment) after your debugging session.
We strongly discourage users from running productive applications in debug mode!
OData Related Questions
What Versions of OData Protocol Do You Support?
We support OData v2 and OData v4 services. You can use the pregenerated client libraries supplied with the SAP Cloud SDK or generate your client from the SAP Cloud SDK specification. Find more details here.
Do You Support All OData Features?
We support most of the OData features that are exposed by SAP services. However, the OData specification is huge and contains many features that would see rare to no use. If you need a feature that is not yet supported by SAP Cloud SDK, please make a feature request via email cloudsdk@sap.com or create an issue towards one of our repositories.
I Receive an OData Error/Exception When Using SAP Cloud SDK for Java
You may see some errors while developing. These errors are not always caused by flaws in the SAP Cloud SDK as we often see inconsistent OData protocol handling by different services. Some of them even have known flaws for which we have workarounds. If you can't solve your issue via debugging and experimenting, please report your incident as a GitHub Issue.
Open API Related Questions
Do You Support RESTful Services?
Yes, we do support OpenAPI 2.0 also known as Swagger, and OpenAPI 3.0 specifications. The latter is preferred. Find documentation how to generate a type-safe Open API client here. For feedback or questions about our Open API offering, please, create an issue here.
Questions About SAP Business Technology Platform
Do You Support SAP BTP, Cloud Foundry Environment?
The SAP Cloud SDK for Java has first-class support for SAP BTP, Cloud Foundry environment. We provide plenty of helpful abstractions for connectivity and authentication that make developing apps a pleasant and rewarding experience. Let us know if you miss functionality of the SAP BTP for the Cloud Foundry environment in the SAP Cloud SDK for Java.
Do You Support SAP Business Technology Platform - Neo?
No, support for SAP Business Technology Platform - Neo ended with the release of version 5.0.0 of the SAP Cloud SDK.
Do You Support Reactive Spring Technology, e.g. Webflux?
The SAP Cloud SDK for Java currently is not fully compatible with the Reactive Spring Technology Stack. Most importantly, the Multi Tenancy Features are not functional on that stack, because they were designed with servlet based applications in mind.
You can find more details on this Stack Overflow Question.
Is the SAP Cloud SDK for Java affected by the Log4Shell/CVE-2021-44228 Vulnerability?
The SAP Cloud SDK for Java uses SLF4J as its logging framework and actively excludes all other logging frameworks. This exclusion strategy also applies to transitive dependencies. That means you will not find any logging implementations provided or expected by the SAP Cloud SDK for Java. That is why the SAP Cloud SDK for Java itself does not render your application built on it vulnerable to the Log4Shell vulnerability.
However, you should still check that your application or one of its dependencies doesn't include log4j-core
on the classpath.
Our SAP BTP CF Archetype uses logback as the logging implementation.
For further reading on this vulnerability have a look at the following (external) links: