I want to use one get API endpoint which has dql query in the endpoint. but its failing in Appian integration and getting result from postman.
1. When I execute Get API endpoint in postman am getting result. but if i do the same in appian Integration am getting error.
what might be the reason? Do integration doesnt support dql query?
Discussion posts and replies are publicly visible
DQL is just the query string in the URL you are calling. There is no need for any kind of support. But you might need to URL encode it. Can you post a screenshot of your integration?
Hi Stefan,
for equals i have used %3d but am not sue what i must use for single quotes present in the dql query
The images are too small. I can not see anything.
I think the important part is, that you do not just put the whole URL into the URL field, but just the base URL
https://api.medstest.merck.com/d2rest/repositories/medstst
Then create a query parameter named "dql" and put the query in it. Appian will then do all the escaping for you.
.
Going with query parameters should solve your problem.
Thanks
You need to URL-Encode that string as well.
Put this into a helper expression
mid( urlwithparameters( "/", {"x"}, {ri!text} ), 5, 10000 )
and use it to encode/escape all the characters.
Sorry i didnt get you? where exactly i have to use this? and what should be the input for ri!text
Create a new expression, copy that code in it, create a rule input named "text" of type "Text".
Then use it like this
rule!your_new_expression( text: "select object_name from d2_dictionary_value where dictionary_name = '"&ri!dictionary_name&"' and any locale_value = ' "&ri!locale_value& " ' " )
calling expression rule in the value of query parameter not working, only the hardcoded values are giving me exact result.
Expression:
rule!Test_urlWithParameters( text: "select object_name from d2_dictionary_value where dictionary_name = '"&ri!dictionary_name&"' and any locale_value = ' "&ri!locale_value& " ' ")
used this in the rule as you said:
mid( urlwithparameters( "/", {"x"}, {ri!text} ), 5, 10000)
Looks like a typo
Adding dql in query parameter worked,
there was extra space in my query which i was trying to do dynamic so it was not working. when i compared it worked.
Thankyou so much :)