Hi,
I am trying to get the request path in a java callout from the messageContext, but could not.
Say, the user makes a request to "https://exampleapi.apigee.net/path/to/resource", I would like to retrieve the full path ("/path/to/resource" in this case).
I went through the available examples and the docs, but could not come up with a solution.
Any ideas?
Thanks
Solved! Go to Solution.
Just read the context variable that is appropriate for you. You can do that in Java with
messageContext.getVariable(String variableName)
Some options for the variable to read are: proxy.basepath, request.uri, request.path, proxy.pathsuffix.
Variable reference here, and a specific table for URIs and paths here.
Assign proxy.basepath to a variable(basepath) & pass as a property/variable in java callout.
In java callout you can fetch
messageContext.getVariable("basepath"); getRequiredProperty("basepath", messageContext);
Ref:
https://docs.apigee.com/api-platform/reference/policies/java-callout-policy#Property
There is no need to assign the value or proxy.basepath to a new variable named "basepath" in order to be able to read the variable value from within a Java callout. The Java callout can directly read the context variable named "proxy.basepath".
Just read the context variable that is appropriate for you. You can do that in Java with
messageContext.getVariable(String variableName)
Some options for the variable to read are: proxy.basepath, request.uri, request.path, proxy.pathsuffix.
Variable reference here, and a specific table for URIs and paths here.
This is exactly what I needed. Thanks a lot
User | Count |
---|---|
7 | |
2 | |
2 | |
1 | |
1 |