This page intends to capture common problems that you might face while going through the exercises part of the CodeJam.
-
To activate tracing in a deployed integration flow, navigate to
Monitor > Manage Integration Content
, select the deployed integration flow and modify theLog Level
.Activate tracing for deployed integration flow
When tracing is enabled for an integration flow, if we send a message to it, we will then have access to the exchange headers, properties and payload at the different steps that are part of the integration flow. Having access to the different steps and the data flowing through them helps greatly when troubleshooting/debugging an integration flow.
Check payload in trace
Tracing an integration flow in SAP Cloud Integration - https://help.sap.com/docs/CLOUD_INTEGRATION/368c481cd6954bdfa5d0435479fd4eaf/4ec27d358d844c96b3ae11febd440eac.html?locale=en-US
-
This is because our integration flow is not in edit mode. To switch to edit mode, click the
Edit button
(upper right corner). -
Same reason as above 👆.
-
No body was sent in the request. Remember that our integration flow expects a JSON payload. See request payload sample.
-
In case you don't see the HTTP endpoint URL immediately on the deployed content page, it takes a couple of seconds before it is reflected in the UI. Refresh the web page a couple of times and it will then be displayed.
-
You can face this error if you are trying to deploy an integration whose HTTP sender adapter is configured with the same address as another integration flow that's already deployed. There are two possible solutions to this problem:
- Change the address configured in the HTTP sender adapter of the integration flow that you are trying to deploy, e.g. add a suffix
-ex5
Address in HTTP sender adapterDeploy status - HTTP address error
- Change the address configured in the HTTP sender adapter of the integration flow that you are trying to deploy, e.g. add a suffix
-
- Check that the details of the credentials deployed are correct.
- It is possible that the instance of OpenConnectors that you are communicating with differs from the one configured in the integration flow. Check that the hostname, in the URL configured in the
Send BP Dependants Request Log to BigQuery
integration flow, is the same that you see when interacting with the API via the OpenConnector UI, e.g. https://api.openconnectors.eu10.ext.hana.ondemand.com, https://api.openconnectors.us10.ext.hana.ondemand.com or https://api.openconnectors.trial.us10.ext.hana.ondemand.com. This will be different depending on the region (us10, eu10, etc.) or environment you are using (free tier or trial).
-
Check the value set in the integration flow external parameters, e.g.
eu-bp-dependants-api-key-alias
oramericas-bp-dependants-api-key-alias
. This value is case-sensitive and needs to match the name of the deployed component(s) in Security Material. -
- Ensure that you are including authorization details in your request. In our case, that would be a Bearer token in the Authorization HTTP header.
- If the Authorization header is set, the Bearer token may have expired. Refresh the token by sending a request to the token URL (In Postman collection -
cloud-integration > POST Token
) and then retry sending the request to the integration flow.
-
It's an HTTP 403, not an HTTP 401... meaning that you are authenticating well to the service but the user you are using for communication doesn't have the right roles assigned to it. We can check two things here:
- Make sure that the user has the ESBMessagingSend.send role in the BTP Cockpit. See the roles set up for the instance in the prerequisites - Create SAP Cloud Integration runtime client credentials.
- The HTTP sender adapter should have the CSRF Protected checkbox unchecked. If it is checked, you will get an HTTP 403 error.
-
- Ensure that the deployment of the integration flow that you are trying to send a message has completed. It might still be in the deploying status.
- Check the URL that you are trying to send the message.
-
The protocol specified in the URL address is likely HTTPS when it should be HTTP.
HTTP Adapter configuration - Protocol in URL address
-
HTTP 500 Internal Server error - PKIX path building failed. Unable to find valid certification path to requested target.
The certificate presented by the service you are communicating with is unknown to your Cloud Integration tenant. You need to import the certificate presented by the service in your Cloud Integration tenant.
You might face this error when trying to communicate with the services part of this CodeJam. The services are hosted in a Kyma environment and Cloud Integration is missing the certificate root chain presented by the service hosted in Kyma.
👉 Go to
Monitor > Manage Security - Keystore tile
andAdd
a certificate. Import the kyma-ondemand-com-chain.pem certificate included in the assets folder andConfirm
you want to add it.Once the certificate is added, you can test connectivity with the service by using the
Connectivity Tests
utility under MonitorAlternatively, you can download the certificate from your web browser. Access the URL from your web browser, e.g.
https://s4-mock-server-service.c-1e90315.kyma.ondemand.com/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartner
and download the certificate chain. Once downloaded, follow the instructions above.Download certificate from web browsers
-
When creating an application in the Developer Portal, a pop-up is displayed stating that it was not possible to create the application.
There are two potential solutions to the problem:
-
If you are the only user, make sure you register as a Developer. Go to Manage > Manage Users > Registered Users and add your account details. Select the Developer, Administrator and Content Admin roles.
Add user in API Management
-
Check SAP Note 2718466: https://launchpad.support.sap.com/#/notes/0002718466
-
-
If you get this error when sending a request, it is possible that you've not selected the right environment or that the value for a variable that's used in the URL is incorrect. Ensure that you've selected the right environment for the request you are trying to make and check the values of the variables.
-
The UI states that it is not possible to resolve a variable. Ensure that you've selected the right environment for the request you are trying to make.