Pega replaces {apiVersion} and {customerId} in the URL with the values read from the clipboard via “Map from key”.
What actually happens
The tokens in the middle of the URL are not replaced. The values end up appended at the end of the URL instead, and the call fails.
What I’ve checked
The parameter names and the Map from key property names are spelled correctly, and the properties have values at runtime.
The Tracer shows the resolved endpoint with the values appended at the end rather than substituted in place.
Questions
Does Pega resolve {token} placeholders only when they are in the Resource path (Provide URL)field, or also when they are inside the Application Setting value used as Base URL?
Is the correct approach to keep only the static part (https://api.test.myorg.org/test/internal/object/api) in the application setting and put /{apiVersion}/customer/{customerId}/information in the Resource path?
Is there a supported way to keep the full URL, with tokens, in a single application setting?
We have a similar format for the request URL in 25.1.3 version and it works as expected. The values are getting replaced correctly at run time with the correct parameters. Please create a Pega Support ticket if you’re able to reproduce the issue in 24.1.4
If I understand correctly, you are using Application Settings for the URL configuration, and in our case, the Application Setting refers to GRS(Data Page). The URL stored in GRS contains dynamic parameters that are expected to be replaced at runtime based on the configuration in the Service tab of the Connect REST rule.
As part of the Pega incident, it was mentioned that after the connector upgrade, Pega treats the value from the Application Setting as the Base URL and does not substitute placeholders located within that value. As a result, the values v5 and 16575 are appended to the end of the path, while {apiVersion} and {customerId} remain unresolved. Java then rejects the resulting URI because the braces are not valid in the final resolved path.
The recommended workaround is to keep only the static, environment-specific portion of the endpoint in the Application Setting:
And configure the dynamic portion in the Connect REST rule’s Resource path:
{apiVersion}/customer/{customerId}/information
However, our concern is that this changes the behaviour compared with the previous URL configuration, where the dynamic parameters within the configured URL were resolved successfully. We would therefore like to confirm whether this change is an expected product behaviour after the connector upgrade, or whether it is a limitation/regression that should be addressed by Product.