WSO2 ESB可以';t运行存储在注册表中的Groovy脚本
我正在尝试执行存储在WSO2 ESB本地注册表中的Groovy脚本。当我这样做时,我会得到以下错误: ERROR {org.apache.synapse.mediators.bsf.ScriptMediator} - The script engine returned a NoSuchMethodException executing the external groovy script : Value {name ='null', keyValue ='file:Scripts/Groovy/test.groovy'} function mediate {org.apache.synapse.mediators.bsf.ScriptMediator} java.lang.NoSuchMethodException: No signature of method: com.sun.script.groovy.GroovyScriptEngine.mediate() is applicable for argument types: (org.apache.synapse.mediators.bsf.ScriptMessageContext) values: [org.apache.synapse.mediators.bsf.ScriptMessageContext@716f8a10] Possible solutions: wait() 代理服务WSO2 ESB可以';t运行存储在注册表中的Groovy脚本,groovy,wso2,wso2esb,esb,synapse,Groovy,Wso2,Wso2esb,Esb,Synapse,我正在尝试执行存储在WSO2 ESB本地注册表中的Groovy脚本。当我这样做时,我会得到以下错误: ERROR {org.apache.synapse.mediators.bsf.ScriptMediator} - The script engine returned a NoSuchMethodException executing the external groovy script : Value {name ='null', keyValue ='file:Scripts/Groov
<proxy name="TestScriptProxy" startOnLoad="true" trace="disable"
transports="http https" xmlns="http://ws.apache.org/ns/synapse">
<target>
<inSequence>
<script language="groovy"><![CDATA[println "This is an in-line script";]]></script>
<script function="DisplayName"
key="file:Scripts/Groovy/test.groovy" language="groovy"/>
</inSequence>
<outSequence/>
<faultSequence/>
</target>
</proxy>
ESB版本是在Windows 10上运行的5.0.0。如果注册表中有Groovy脚本,那么源代码应该是注册表路径。例如:
gov:scripts/Groovy/test.Groovy
如果您引用的是文件,请给出相对于ESB_HOME的路径。例如,如果脚本文件夹位于ESB_主目录中,文件:scripts/Groovy/test.Groovy
首先加载脚本文件,如下所示:
<localEntry key="DisplayNameScript" src="file:scripts/Groovy/test.groovy"/>
现在调用函数
<script language="groovy" key="DisplayNameScript" function="DisplayName"/>
如果注册表中有Groovy脚本,那么源代码应该是注册表路径。例如:
gov:scripts/Groovy/test.Groovy
如果您引用的是文件,请给出相对于ESB_HOME的路径。例如,如果脚本文件夹位于ESB_主目录中,文件:scripts/Groovy/test.Groovy
首先加载脚本文件,如下所示:
<localEntry key="DisplayNameScript" src="file:scripts/Groovy/test.groovy"/>
现在调用函数
<script language="groovy" key="DisplayNameScript" function="DisplayName"/>