SAP / cloud-sdk-java

Use the SAP Cloud SDK for Java to reduce development effort when building applications on SAP Business Technology Platform that communicate with SAP solutions and services such as SAP S/4HANA Cloud, SAP SuccessFactors, and many others.
Apache License 2.0
22 stars 11 forks source link

DestinationAccessException: Failed to get destination #536

Closed carlos-morenosanchez closed 1 month ago

carlos-morenosanchez commented 1 month ago

Issue Description

Hi colleagues,

We are an internal SAP team using the DestiantionService and we are having a issue retrieving a destination from a customer using the DestinationAccessor.

We are first of all using DestinationService().getAllDestinationProperties(); which is working successfully.

When we find the destination we are interested in, we are triggering DestinationAccessor.getDestination(destinationName).

When trying to retrieve the Destination, we are getting the exception: DestinationAccessException: Failed to get destination.

For many other customers this is working successfully, but we are having this issue for one of them.

Could you help us understand what was the bad request? Would it be possible to get more information of what went wrong (how the request looked like)?

image

Also we would like to know how to handle internal tickets. (As this is open we can't publish many more details in this issue)

Impact / Priority

Affected development phase: Production

Impact: Impaired, Blocked

Timeline: e.g. Go-Live is in 12 weeks.

Error Message

"stacktrace": [
      "com.sap.cloud.sdk.cloudplatform.connectivity.exception.DestinationAccessException: Failed to get destination.",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationService.resilientCall(DestinationService.java:354)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationService.lambda$loadAndParseDestination$1(DestinationService.java:137)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationRetrievalStrategyResolver.lambda$prepareSupplier$5(DestinationRetrievalStrategyResolver.java:193)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationRetrieval.get(DestinationRetrieval.java:26)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationService.loadAndParseDestination(DestinationService.java:145)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.GetOrComputeSingleDestinationCommand.lambda$prepareCommand$0(GetOrComputeSingleDestinationCommand.java:70)",
      "\tat io.vavr.control.Try.of(Try.java:75)",
      "\tat io.vavr.control.Try.ofSupplier(Try.java:92)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.GetOrComputeSingleDestinationCommand.execute(GetOrComputeSingleDestinationCommand.java:157)",
      "\tat io.vavr.control.Try.flatMapTry(Try.java:490)",
      "\tat io.vavr.control.Try.flatMap(Try.java:472)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationService$Cache.getOrComputeDestination(DestinationService.java:850)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationService.tryGetDestination(DestinationService.java:128)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationLoaderChain.tryGetDestination(DestinationLoaderChain.java:89)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationLoader.tryGetDestination(DestinationLoader.java:37)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationAccessor.tryGetDestination(DestinationAccessor.java:124)",
      "\tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationAccessor.getDestination(DestinationAccessor.java:101)",

Project Details


Checklist

MatKuhr commented 1 month ago

Hi Carlos, as discussed it would be best to get logs from megaclite. Please check the DwC documentation and raise an issue here if you need help interpreting the logs.

DanielRentschler commented 1 month ago

@MatKuhr Thanks for your reply. We got in contact with DwC and got the following response: - TLDR: No call was presumingly sent out

"It does not look like the call was really processed by Megaclite, and also there is no outgoing request from Megaclite to the destination service. If the request was in fact sent to Megaclite, there would at least be a gorouter log. I tried calling the same URL with the same tenant manually and Megaclite returned a valid response from the destination service."

Please get in contact with DwC if necessary.