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

如何在Integration Studio中从Property获取参数至Script Mediator?

解决WSO2 Integration Studio中Script Mediator获取URL查询参数的问题

问题原因

你当前的代码中,property 配置的 scope 为 default,但 mc.getProperty('energyType') 默认只会从message scope读取属性,两者不匹配导致无法获取到值。

解决方案

以下是几种可行的修复方式:

方式1:修改Property的Scope为Message

将Property的scope改为message,这样Script Mediator可以直接通过mc.getProperty读取:

<property description="Get EnergyType Of Url" expression="$url:energyType" name="energyType" scope="message" type="STRING"/>

<log description="Logging EnergyType Of Url">
    <property expression="$url:energyType" name="EnergyType"/>
</log>

<script language="js"><![CDATA[
    var energyType = mc.getProperty('energyType');
    // 后续使用energyType的逻辑
]]></script>

方式2:在Script中指定Scope获取属性

如果需要保留default scope,在调用mc.getProperty时明确指定default scope即可:

<property description="Get EnergyType Of Url" expression="$url:energyType" name="energyType" scope="default" type="STRING"/>

<log description="Logging EnergyType Of Url">
    <property expression="$url:energyType" name="EnergyType"/>
</log>

<script language="js"><![CDATA[
    // 第二个参数指定scope为default
    var energyType = mc.getProperty('energyType', 'default');
    // 后续使用energyType的逻辑
]]></script>

方式3:直接在Script中读取URL查询参数(无需Property)

可以跳过Property配置,直接在JavaScript中从Axis2上下文获取并解析查询参数:

<log description="Logging EnergyType Of Url">
    <property expression="$url:energyType" name="EnergyType"/>
</log>

<script language="js"><![CDATA[
    // 获取完整的URL后缀(包含查询参数)
    var restUrlPostfix = mc.getEnvironment().getAxis2MessageContext().getProperty("REST_URL_POSTFIX");
    // 解析查询参数
    var params = new URLSearchParams(restUrlPostfix.split('?')[1] || '');
    var energyType = params.get('energyType');
    
    // 后续使用energyType的逻辑
]]></script>

验证提示

修改后可以在Script中添加日志输出验证是否获取成功:

mc.getLog().info("EnergyType from Script: " + energyType);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 17:10:20