私はWSO2 ESBローカルレジストリに格納している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: [[email protected]] Possible solutions: wait()
は、すべてがOK実行されています。私は、私は次のエラーを取得していますことを行うと メディエーションのためのRubyスクリプトの使用例に示すように、<x><![CDATA[...code...]]></x>
のようなスクリプトコードをラップしようとしました。 Sample 353: Using Ruby Scripts for Mediationです。 groovy-all-2.4.7.jar〜ESB_HOME \ repository \ components \ libも追加します。
レジストリに格納されているGroovyスクリプトを実行するにはどうすればよいですか?私は間違って何をしていますか?
ここはGroovyのスクリプトと私はテストしていますプロキシ、wihtです:5.0.0は
のGroovyスクリプト
class Example {
static def DisplayName() {
println("This is how methods work in groovy");
println("This is an example of a simple method");
}
static void main(String[] args) {
DisplayName();
}
}
プロキシサービス
<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.