如何从云 sdk ping sap s4 服务端点?

How to ping sap s4 service endpoint from cloud sdk?

我们正在为一个 s4 odata 服务构建 ping api。我们希望从 scp 应用程序重复调用服务端点。如何从云端调用 s4 服务端点-sdk.Generated VDM 只给了我们操作端点。

返回以获取更多信息。

谢谢 万字

它是检查服务器可用性 ping 还是 ping API 是什么意思?

您可以使用 getAll()getByKey() 等任何操作来实现“ping”。这在很大程度上取决于您对服务的了解,以确定要使用哪个确切的操作来确保服务的行为符合您的预期。

顺便问一下,您是否有某个 OData 协议功能可以帮助解决您的问题?

您可以找到有关 OData 客户端功能的更多详细信息here. Also, take a look at connectivity options

如果您对所谓的 ping 背后的内容进行更多解释,我们可能会提出更多建议。总的来说,这个任务似乎超出了 SDK 应该做的范围,但更多的是某些服务基础设施的实现细节。

您可以利用 HttpClientAccessor 为您的目标系统获取客户端,然后对服务执行简单的 head 请求:

final HttpClient httpClient = HttpClientAccessor.getHttpClient(
                 DestinationAccessor.getDestination("MyDestination").asHttp());

final HttpResponse response = httpClient.execute(
                 new HttpHead(BusinessPartnerService.DEFAULT_SERVICE_PATH));

assertThat(response.getStatusLine().getStatusCode()).isEqualTo(HttpStatus.SC_OK);

这里我以S/4HANA云的BusinessPartnerService为例