gpt4 book ai didi

alfresco - 来自 Alfresco 中 WebScript 的 HTTP 请求

转载 作者:行者123 更新时间:2023-12-04 19:17:44 24 4
gpt4 key购买 nike

我正在使用 JS Controller 在 Alfresco 中编写 WebScript,并且我想向本地 HTTP 资源发出 HTTP 请求。该资源是一个基于 Java 的应用程序,并为我提供了自己的 REST API。

我的 WebScript 不是共享组件:所以我没有 remote对象调用另一个 webscript。

如何从 WebScript 向本地资源(例如 '/sdo/documents/getName?type=fl')发出 HTTP 请求?

最佳答案

编辑:Alfresco 覆盖 Spring Surf webscripts.container bean 去除remote定义(在 web-scripts-application-context.xmlremote-api 中):

<bean id="webscripts.container" class="org.alfresco.repo.web.scripts.RepositoryContainer" parent="webscripts.abstractcontainer">
<property name="name"><value>Repository</value></property>
<property name="scriptObjects">
<map merge="true">
<entry key="paging">
<ref bean="webscripts.js.paging"/>
</entry>
</map>
<!-- ..... -->
</bean>

我建议您再次将其包含为 custom Javascript API根级对象。
remote根对象来自 Spring Surf框架,这意味着无论是针对 Alfresco 存储库或共享开发 Web 脚本,您都拥有它。作为证明,这里是 a Web Script 的来源在公共(public) Alfresco CMIS 服务器中可用(-> Alfresco 存储库实例,如果您被要求登录,则为 admin/admin):
var serviceUrl = (args.service === null) ? "/api/repository" : args.service;
var conn = remote.connect("alfresco");
var result = conn.get(stringUtils.urlEncodeComponent(serviceUrl));

var service = atom.toService(result.response);
var workspace = service.workspaces.get(0);
model.repo = workspace.getExtension(atom.names.cmisra_repositoryInfo);

以下片段摘自 spring-surf-application-context.xmlspring-webscripts-1.0.0.CI-SNAPSHOT.jar 中找到Alfresco 3.4.0 的版本,其中 remote根对象得到它的定义:
   <bean id="webscripts.container" parent="webscripts.abstractcontainer" class="org.springframework.extensions.webscripts.LocalWebScriptRuntimeContainer">
<property name="name"><value>Spring Surf Container</value></property>
<property name="registry" ref="webscripts.registry" />
<property name="searchPath" ref="webframework.webscripts.searchpath" />
<property name="templateProcessorRegistry" ref="webframework.webscripts.registry.templateprocessor" />
<property name="scriptProcessorRegistry" ref="webframework.webscripts.registry.scriptprocessor" />
<property name="scriptParameterFactoryRegistry" ref="webscripts.web.scriptparameterfactoryregistry" />
<property name="configService" ref="web.config" />
<property name="scriptObjects">
<map merge="true">
<entry key="remote" value-ref="webframework.webscripts.scriptremote" />
</map>
</property>
<property name="processorModelHelper" ref="processor.model.helper"/>
<property name="extensibilityModuleHandler" ref="webscripts.extensibility.handler"/>
</bean>

<bean id="webframework.webscripts.scriptremote" class="org.springframework.extensions.webscripts.ScriptRemote">
<property name="configService" ref="web.config"/>
<property name="connectorProvider" ref="webframework.connector.provider"/>
</bean>

关于alfresco - 来自 Alfresco 中 WebScript 的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7282660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com