我試圖描述我的問題。以下配置:Javascript和從其他包的軟件包中的類
- On Servicemix我有兩個捆綁:一個模型,第二個服務。模型包導出模型包,服務包從模型包導入模型包。
- 在服務包中,我有一個服務方法的Web服務(CXF):執行。此方法使用兩個參數:第一個(String)是JavaScript文件的名稱,第二個是參數的映射(HashMap)。該服務使用javax.scipt.CompiledScript.eval(綁定綁定)執行javascript腳本。這個想法是在腳本語言中擁有業務邏輯。
- JavaScript的腳本有通過訪問Java對象:
A /綁定 - 沒有問題。我在腳本中看到所有使用bindings.put(name,object)添加的對象的實例
b/importPackage(Packages.my.java.package.from.model.bundle) - 現在我遇到了問題:當我嘗試從關鍵字「new」的模型包中創建JavaScript Java對象時,出現以下錯誤:
com.google.code.scriptengines.js.util.ExtendedScriptException類:org.mozilla.javascript.EcmaError:ReferenceError :「產品」未定義。 (#4)[4]文件
,其中產品是從模型包和第4行中我的Java類,我試圖創建該對象:
var product = new Product();
而且,我認爲,非常重要的信息:在Servicemix 4.2.0中一切正常。現在我必須升級到4.3.1並且不起作用(這兩個版本來自Fusesource)
任何幫助?
問候, 亞切克
它是一個JavaScript包的問題。已經創建了一張票來解決這個問題:https://issues.apache.org/jira/browse/SM-2200 –