Hi Lukas,
Your problem may be because the parameterized path is not specified/resolved. Your path is /system/bc/{userId}. Although, you are passing in the request parameter, that would only specify the query parameters. The base path would still be /system/bc/{userId}. Meaning your request would look like this:
... GET https://test.com:8400/system/bc/{userId}?userId=123456789.
The {userId} in the base path would still need to be substituted. Assuming that is the root cause, you can try one of the following two options:
Option #1: Override endpoint address. Like so:
var serverURL = "https://test.com:9400";
var basePath = "/system/bc/{userId}" // Can be read from specs or from ENV var, etc.
request.endpointAddress = serverURL + basePath.replace('{userId}', tw.local.userId);
Option #2: The other option I can think of is specifying the request path and replace the parameter in it. Usually, this way is only necessary when operationId is not specified in the open API spec. But in your case you can skip specifying request.operationName and specify httpMethod and path instead. Something along these lines:
var basePath = "/system/bc/{userId}" // Can be read from specs or from ENV var, etc.
request.httpMethod = "GET";
request.path = basePath.replace('{userId}', tw.local.userId);
As a last resort, you can invoke an HTTP request using Java integration call.
PS: The use of the same parameter - userId in the path and in the query parameter seems redundant. So, if you can influence the API being called in this example, you might want to change the API and remove it from the path to make your life simpler.
PPS: In the specs you copy-pasted there is an additional dot "." after com in your servers > url. I'm sure that is not your problem just something to note and double check.
paths:
/system/bc/{userId}:
------------------------------
Ajay Katre
Salient Process
------------------------------