Hi everyone,
I’m facing an issue with a shared flow where I’m trying to capture a GET request and forward it to Apigee X using a ServiceCallout from Apigee Edge. Everything works when I test manually, but when triggered the ServiceCallout ends up sending the request only to the domain (/), completely ignoring the original path.
Setup:
-
AssignMessage to construct the outbound request:
forwardRequest GET {request.path}
-
ServiceCallout:
apigeeXResponse https://xyz.com{request.path}
In Trace:
-
request.path: Captured Correctly (/generic/test/v1/customer/…)
-
target.url: Captured Correctly (https://xyz.com/generic/test/v1/customer/…)
-
But: servicecallout.requesturi = /
What I’ve Tried:
-
Verified request.path and request.uri are correct
-
Logging forwardRequest.url before the callout (it looks right)
-
Tried using full in AssignMessage (https://…{request.uri})
-
Also tried skipping forwardRequest and calling the full URL directly in the callout
The Issue:
Despite everything being set correctly, Apigee still sends the callout with:
requesturi: /
The backend gets only the domain, no path, resulting in 404s.
Question:
-
Why is Apigee ignoring the request path or URI when using forwardRequest?
-
How can I ensure ServiceCallout honors the full request path and query string when using a dynamically constructed message?
Any help, advice, or working examples would be greatly appreciated!
Thanks in advance
-
-