You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSO2 ESB URL编码如何将空格的%20替换为+符号实现咨询

WSO2 ESB GET请求查询参数空格编码替换为+的可行方案

WSO2 ESB默认URI编码规则会将空格转换为%20,要适配第三方服务要求的+编码格式,可通过以下步骤实现:

  • 首先修改http端点配置,新增escape-disabled="true"属性,关闭系统对URI模板参数的自动编码能力,修改后配置如下:
<http uri-template="http://********:8080/invokehttp/httpublish?PUSH_TYPE={uri.var.pushtype}&amp;SERVICE_CODE={uri.var.servicecode}&amp;MSISDN={uri.var.msisdn}&amp;PUSH_TEXT={uri.var.pushtext}&amp;USER_ID={uri.var.username}&amp;PASSWORD={uri.var.password}" format="rest" escape-disabled="true">
  • 然后在调用上述端点之前,添加脚本中介器手动处理含空格的查询参数:先做通用URL编码,再将编码结果中的%20批量替换为+,示例脚本如下:
<script language="js">
<![CDATA[
// 从消息上下文获取原始推送文本参数
var rawPushText = mc.getProperty("uri.var.pushtext");
// 编码后替换空格对应的编码格式
var handledPushText = encodeURIComponent(rawPushText).replace(/%20/g, "+");
// 替换回消息上下文供后续调用使用
mc.setProperty("uri.var.pushtext", handledPushText);
]]>
</script>

如果有其他参数也需要适配相同编码规则,参照上述逻辑批量处理即可。配置完成后发起测试请求,即可看到查询参数中的空格已按要求编码为+。

内容的提问来源于stack exchange,提问作者user3595078

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:15:07