Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Alfresco中来自WebScript的HTTP请求_Alfresco_Web Scripting - Fatal编程技术网

Alfresco中来自WebScript的HTTP请求

Alfresco中来自WebScript的HTTP请求,alfresco,web-scripting,Alfresco,Web Scripting,我正在Alfresco中使用JS控制器编写一个WebScript,我想向本地HTTP资源发出HTTP请求。这个资源是一个基于Java的应用程序,它为我提供了自己的RESTAPI 我的WebScript不是共享组件:因此我没有调用另一个WebScript的remote对象 如何从WebScript向本地资源(类似'/sdo/documents/getName?type=fl')发出HTTP请求?编辑:Alfresco正在覆盖Spring SurfWebScript.containerbean,删除

我正在Alfresco中使用JS控制器编写一个WebScript,我想向本地HTTP资源发出HTTP请求。这个资源是一个基于Java的应用程序,它为我提供了自己的RESTAPI

我的WebScript不是共享组件:因此我没有调用另一个WebScript的
remote
对象


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

编辑:Alfresco正在覆盖Spring Surf
WebScript.container
bean,删除
远程
定义(在
web脚本应用程序上下文.xml
远程api
):

以下代码段取自Alfresco 3.4.0的
spring-webscripts-1.0.0.CI-SNAPSHOT.jar
中的
spring-surf应用程序context.xml
,这是
远程
根对象获得其定义的地方:

   <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>

弹簧冲浪容器

我尝试在我的WebScript中使用
remote
对象:
var result=remote.connect(“http”).get(“/t3sdo/enum/get?type=“+field.value”)。但是我有一个错误,
“远程”没有定义。怎么了?PS:这不是春季冲浪级别,它只是一个露天的webscript。是Spring Surf的一个模块。您运行的是哪个版本的Alfresco?3.4.0,我说的是带有URL
/Alfresco/service/…
,而不是有
远程
的冲浪组件的脚本。正如我已经说过的,Web脚本是Spring Surf的一部分。我知道您没有编写Surf组件脚本,但这并不意味着您不在Spring Surf的环境中。我找到了
remote
不可用的原因,并更新了答案以描述可能的解决方案。
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);
   <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>