我想Map<String, String>通過 MarkLogic Java API將一個簡單的 Java 傳遞給 XQuery 腳本。該腳本已經部署到/ext服務器上的目錄中,并以如下方式啟動:xquery version "1.0-ml";declare variable $dr as xs:string external;declare variable $en as xs:string external;declare variable $fi as map:map external;...我正在使用 MarkLogic 站點上描述的模式:https ://docs.marklogic.com/guide/java/resourceservices#id_70532 (“模塊調用的基本步驟”)。我的 Java 代碼如下所示:Map<String, String> map = new HashMap<>();map.put("key1", "value1");map.put("key2", "value2");ServerEvaluationCall invoker = client.newServerEval();invoker.addVariable("dr", "foo");invoker.addVariable("en", "bar");invoker.addVariableAs("fi", map);String response = invoker.evalAs(String.class);失敗,但出現以下異常:java.lang.IllegalArgumentException: No factory for class java.util.HashMap at com.marklogic.client.impl.HandleFactoryRegistryImpl.makeHandle(HandleFactoryRegistryImpl.java:98) ~[marklogic-client-api-4.0.3.jar:?] at com.marklogic.client.impl.ServerEvaluationCallImpl.addVariableAs(ServerEvaluationCallImpl.java:123) ~[marklogic-client-api-4.0.3.jar:?]我想我需要在將地圖發送到 ML 之前對其進行轉換,或者可能使用其中一個處理程序類,但我無法解決它或找不到任何示例。以前有人這樣做過嗎?
添加回答
舉報
0/150
提交
取消