編集:AlfrescoはSpring Surf webscripts.container
Beanをオーバーライドして、(の)remote
定義を削除しています:web-scripts-application-context.xml
remote-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>
カスタムJavascriptAPIルートレベルオブジェクトとして再度含めることをお勧めします。
remote
ルートオブジェクトはSpringSurfフレームワークから取得されます。つまり、Alfrescoリポジトリまたは共有に対してWebスクリプトを開発しているかどうかに関係なく、ルートオブジェクトを使用できます。証拠として、パブリックAlfresco CMISサーバーで利用可能なWebスクリプトのソースは次のとおりです(-> 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);
次のスニペットは、ルートオブジェクトがその定義を取得する場所であるAlfresco3.4.0spring-surf-application-context.xml
内にあるものから取得されます。spring-webscripts-1.0.0.CI-SNAPSHOT.jar
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>