Pre-generated type-safe client libraries for S/4HANA On-premise 2020 is not available - sap-cloud-sdk

I am going to use pre-generated VDMs for S/4HANA On-premise system (2020) with Cloud SDK 3.35.0. I can find all the services and data models in java doc of cloud sdk for On-premise system.
The odata v2 services are located in the package com.sap.cloud.sdk.s4hana.onpremise.v2020.datamodel.odata.services. But I could not find them in Eclipse with Cloud SDK Spring archetype project. Did I miss something?
https://help.sap.com/doc/f8a1835a26b848f69536b34bf46eeb93/1.0/en-US/com/sap/cloud/sdk/s4hana/onpremise/v2020/datamodel/odata/services/package-summary.html

The reason that you do not have these service classes on your classpath is that you do not have the corresponding Maven artifact on your dependency tree.
You require the Maven dependency com.sap.cloud.sdk.s4hana:s4hana-api-odata-onpremise-2020 to access theses classes.
Please note that the Maven archetype scp-cf-spring does reference by default Maven dependencies with the OData VDM for SAP S/4HANA Cloud.
When interested in using the OData VDM for SAP S/4HANA (On-Premise), the mentioned dependency must be added explicitly. This is explained in the SAP Cloud SDK documentation.

Related

Issue while accessing SAP S/4HANA Cloud API using SDK or Rest OData

I am trying to consume the SAP S/4HANA APIs from outside SAP (Postman or Java)
I found a couple of options to access it
Using Cloud SDK
Using Rest OData endpoints
https://api.sap.com/package/SAPS4HANACloud
I observed that we can use the Cloud SDK only for the application which is deployed in SAP BTP Cloud foundry.
For Rest OData endpoints, couldn't figure out the settings for authentication for Production URL for SAP S/4HANA Cloud instance
Does anyone know if we can use the Cloud SDK or REST OData endpoints externally from local machine or from Postman?
Note: I am trying these things using a Trial account.
Disclaimer: I'm one of the developers working in the SAP Cloud SDK.
The SAP Cloud SDK for Java is a Java library for developing cloud native applications mostly within the SAP ecosystem.
As such, it is of course very important to ensure that applications can be tested in different environments (e.g. CI/CD pipelines, and also local developer machines).
Hence, the SAP Cloud SDK can be used to connect to remote cloud services from the local machine.
Please note that the SAP Cloud SDK must be included into a Java application, which then needs to be executed - it cannot be run standalone and also has nothing to do with Postman (although it also provides a REST client).
To get started with the SAP Cloud SDK, you may want to have a look at this tutorial: https://developers.sap.com/group.s4sdk-cloud-foundry.html.
It explains how to easily create a new Java application that includes the SAP Cloud SDK and how to consume an OData SAP cloud service from the SAP API Business Hub. The tutorial even explains how to get all of this working with a trial service and from your local machine!

SDK Support for Document Service

I would like to connect the Document Service from Java (Spring Boot application deployed in SAP BTP Cloud Foundry environment with multitenancy) and I am wondering about the intended way to connect the document service in a multitenant szenario.
Does SAP cloud sdk helps with connectivity?
If we're talking about consuming the service on the SAP Business Technology platform - then yes. Check the multi-tenancy docs.
The SAP Cloud SDK is a framework for consuming services and usually not the best choice for publishing them. You can use it as a proxy or data adapter, of course, if that's what you need.
For service publishing with multi-tenancy, I'd recommend looking into the direction of the Cloud Application Programming model (CAP)
Are you building OData, OpenAPI or generic REST enabled service? The SAP Cloud SDK can help to consume your service with multi-tenancy out of the box using our OData or OpenAPI code generators and type-safe clients. You can also use the SDK for testing. Please, check the details in our docs.
I'd also recommend checking if the service you're building already exists or you can adapt some other service with help of the SDK.

C# Script Source Microsoft.Sharepoint.Client Assembly in Azure SSIS

I know the Azure instance supports .Net Frameworks, I'm trying to figure out if it supports Microsoft Frameoworks. Basically I have an SSIS package with Microsoft.Sharepoint.Client reference.
I found this link:
http://blog.pragmaticworks.com/introducing-ssis-in-the-cloud
You can install SharePoint Client Components SDK on an Azure SQL VM that has already SSIS installed. You can also install the SharePoint Online client components.

Cosmos DB Table API with .NET Core

I can see documentation on how to use Cosmos DB Table API with .NET here https://learn.microsoft.com/en-us/azure/cosmos-db/tutorial-develop-table-dotnet.
But I can't make this work with .NET Core project. Is there a way to make a working call to Cosmos DB Table API for .NET Core?
Thanks
There's currently no .NET Core version of the Cosmos DB Table API, but they are working on it. See the following GitHub issue: https://github.com/Azure/azure-cosmosdb-dotnet/issues/344.
From one of the comments there:
We are fully committed to delivering a .Net Standard SDK for Table API. We are tracking for delivery by October or before.
You need to add the following nuget package to the dotnet core project
dotnet add package Microsoft.Azure.DocumentDB.Core
I have written a blog on Wear out the features of Azure CosmosDB with AspNetCore application
EDIT
Click Install to install the Microsoft.Azure.CosmosDB.Table library. This installs the Azure Cosmos DB Table API package and all dependencies.
If you're looking to develop .NET Standard applications for Azure Cosmos DB Table API, you should install the Microsoft.Azure.Cosmos.Table package
You can check out the NuGet specs here:https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table

Where is ServiceProperties.Cors for Azure SDK 2.1?

I wanted to follow the guidance of “Windows Azure Storage and CORS” but I notice that my version of the Windows Azure SDK (2.1) does not have the members (like ServiceProperties .Cors) used in the article. I also notice that the documented members of ServiceProperties do not include Cors. Was this stuffed removed from the codebase or is this stuff so new that it is not documented yet? Is this CORS stuff in a future version of the SDK? Or do I have to use the REST API?
Storage Client Library (version 2.x) which comes with SDK 2.1 does not have support for CORS. It is supported in Storage Client Library version 3.x. So if you want to manage CORS settings, you would need to use that library. You can download this library through Nuget: http://www.nuget.org/packages/WindowsAzure.Storage. You could always use REST API if you want to.
However, please keep in mind that SDK 2.1 is not compatible with version 3.x of storage client library. What that means is that if you use 3.x version of storage client library in your project you won't be able to use storage emulator. You would always need to connect to cloud storage account for development.
Windows Azure Blobs, Tables and Queues now support CORS to enable users to access/manipulate resources from within the browser serving a web page in a different domain than the resource being accessed.
http://msdn.microsoft.com/en-us/library/windowsazure/dn535601.aspx

Resources