来自alfresco javascript文件的HTTP请求

来自alfresco javascript文件的HTTP请求,javascript,alfresco,alfresco-share,alfresco-webscripts,Javascript,Alfresco,Alfresco Share,Alfresco Webscripts,我是alfresco的新手,我创建了一个规则,在文件到达目录时执行javascript文件(我的javascript在数据字典脚本文件中)。 但是,这个javascript脚本必须向远程服务器发送http get请求,但我不能使用alfresco remote。你能提出一个解决方案吗? 多谢各位 我的javascript代码: 函数main(){ var name=document.name; var username=“”; var msgContent=“”; var siteName=d

我是alfresco的新手,我创建了一个规则,在文件到达目录时执行javascript文件(我的javascript在数据字典脚本文件中)。 但是,这个javascript脚本必须向远程服务器发送http get请求,但我不能使用alfresco remote。你能提出一个解决方案吗? 多谢各位

我的javascript代码:

函数main(){
var name=document.name;
var username=“”;
var msgContent=“”;
var siteName=document.siteShortName;
var firstName=person.properties.firstName;
var lastName=person.properties.lastName;
if(siteName==null){
if(logger.isLoggingEnabled())
logger.log(“Erreur”);
返回;
}
if(firstName!=null){
用户名=用户名+名字+“”;
}
if(lastName!=null){
用户名=用户名+姓氏;
}
msgContent=username+“新内容”+名称+“非盟网站”+网站名称;
if(logger.isLoggingEnabled()){
log(encodeURIComponent(msgContent));
}
var connector=remote.connect(“gedrepportremote”);
var result=connector.get(“/api/sendSMS?siteName=“+encodeURIComponent(siteName)+”&msgContent=“+encodeURIComponent(msgContent));
如果(result.status==200){
返回JSON.parse(result);
}else if(result.status==403){
}否则{
返回null;
}
}

main()我不认为增强远程对象以连接到外部资源是有用的

最简单的解决方案是在java类中实现逻辑,然后在脚本中将该类的实例作为根对象公开

在javascript上下文中添加新对象并不困难。定义如下所示的新bean就足够了:

<bean id="javascriptRestClient" parent="baseJavaScriptExtension"
    class="com.example.javascript.JavascriptRestClient">
    <property name="extensionName" value="restClient" />
</bean>

本例中的类JavascriptRestClient必须扩展org.alfresco.repo.processor.BaseProcessorExtension

使用此定义,您将能够使用变量restClient在javascript中访问JavascriptRestClient类的实例

父bean baseJavaScriptExtension在alfresco上下文文件alfresco/script-services-context.xml中定义为:

<!-- base config implementation that script extension beans extend from - for auto registration
     as a global script with the ScriptService -->
<bean id="baseJavaScriptExtension" abstract="true" init-method="register">
    <property name="processor">
        <ref bean="javaScriptProcessor"/>
    </property>
</bean>


您能进一步解释吗?您试图发送什么请求,什么还不起作用?@NicoHaase是否需要从alfresco后端javascript代码调用rest API?