我知道我可能会因为这个微不足道的问题而被投票......
在Javascript中很容易(甚至是神奇的):remote.call("/api/...")
我如何用Java获得这个?
我阅读了许多帖子,例如this one,其中Alfresco(存储库)网址是硬编码的http://localhost:8080/alfresco
,未定义(例如:REPO_WEB_SERVICE_URL
)。
是否有帮助程序可以提供存储库的URL?是否有一个类与remote
Javascript根对象相同?
我很抱歉,如果答案很明显,我就是看不到它,我已经找了好几个小时了,我开始疯狂了,因为它应该是一个不用脑子的......
答案 0 :(得分:5)
为了使您的共享脚本中的远程可用,您需要使用Spring注入远程。
设置上下文文件以设置远程变量:
<bean id="MyEvaluator" class="org.me.MyEvaluator">
<property name="remote" ref="webframework.webscripts.scriptremote" />
</bean>
然后,您需要在Java类中创建变量。鉴于您可以随意使用它:
public class MyEvaluator extends BaseEvaluator {
private ScriptRemote remote;
public void setRemote(ScriptRemote remote) {
this.remote = remote;
}
public void doScriptCall() {
Response response = remote.call("/api/...");
}
}
答案 1 :(得分:1)
部分答案,以获得Alfresco Repository基本路径。
将connectorService
注入bean:
<bean id="MyEvaluator" class="org.me.MyEvaluator">
<property name="connectorService" ref="connector.service" />
</bean>
然后在课堂上,检索Alfresco终点:
String alfrescoEndPoint = connectorService.getConnector("alfresco").getEndpoint();
根据{{1}}中的设置, alfrescoEndPoint
将类似于http://host:port/alfresco/s
。