如何防止mule编码查询参数?

时间:2017-10-03 14:52:42

标签: encoding mule mule-studio anypoint-studio

在HTTP请求中,我将一个令牌添加为query-param。 似乎mule正在编码这个值。 - 如果我添加参数,mule将以错误的方式对其进行编码。 - 如果我添加已经编码的参数,mule将对其进行双重编码,因此将不再可用。

所以问题是:是否存在阻止mule编码URL query-param的方法或解决方法?

参数示例:{AES} ZEoksxIg484magPtWwNUUQ ==; iT0kI2HsqGkh%2Bdc2baW2B4dNR2vouKkWQsDTdbMP8us =

1 个答案:

答案 0 :(得分:0)

我的同事找到了解决方法,所以我在这里分享。

显然,您可以在HTTP请求之前设置变量并添加手动编码的值。我们称之为ourTokenVariable在我上面的例子中%7BAES%7DZEoksxIg484magPtWwNUUQ%3D%3D%3BiT0kI2HsqGkh%252Bdc2baW2B4dNR2vouKkWQsDTdbMP8us%3D

之后,您可以直接在url路径中使用这个新创建的变量。例如:/example/someapi?someToken=[#flowvars.ourTokenVariable]

这样您就不再需要使用uri-paramquery-param(其中mule对值进行双重编码)。该值将按照'采取。