J'ai enfin trouvé ce qui se passait : j'ai commenté dans le code un accès au SearchService qui était refusé … (je l'ai commenté, et en morale, toujours faire attention aux accès aux services)J'ai eu un peu de mal pour ce bout de code, en lisant des tonnes de doc, en ayant la chance de tomber sur des explications, partielles à chaque fois, mais en trouvant de l'aide sur le forum …Je joins le code pour d'autres qui se retrouveraient dans le même cas.ci après le ~context.xml, et le code java <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="webscript.com.alfeo.alfresco.stock.analyse.stockage.get"
class="com.alfeo.alfresco.stock.analyse.StockageTestV2" parent="webscript">
<property name="serviceRegistry"><ref bean="ServiceRegistry"/></property>
<property name="searchService"><ref bean="SearchService"/></property>
</bean>
</beans>
import java.util.HashMap;
import java.util.Map;
import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.cmr.search.ResultSet;
import org.alfresco.service.cmr.search.SearchParameters;
import org.alfresco.service.cmr.search.SearchService;
import org.springframework.extensions.webscripts.Cache;
import org.springframework.extensions.webscripts.DeclarativeWebScript;
import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.WebScriptRequest;
public class StockageTestV2 extends DeclarativeWebScript
{
private ResultSet results = null;
private StoreRef stRef=null;
private String query=null;
private ServiceRegistry serviceRegistry;
private SearchService searchService;
public void setServiceRegistry(ServiceRegistry serviceRegistry)
{
this.serviceRegistry=serviceRegistry;
}
public ServiceRegistry getServiceRegistry()
{
return this.serviceRegistry;
}
public void setSearchService(SearchService searchService)
{
this.searchService=searchService;
}
public SearchService getSearchService()
{
return this.searchService;
}
protected Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache)
{
stRef = new StoreRef(StoreRef.PROTOCOL_WORKSPACE,"SpacesStore");
query = "PATH:\"/app:company_home\"";
//System.out.println("—->this.searchService ="+getSearchService());
SearchParameters searchParameters = new SearchParameters();
searchParameters.addStore(stRef);
searchParameters.setQuery(query);
searchParameters.setLanguage(SearchService.LANGUAGE_LUCENE);
results = getServiceRegistry().getSearchService().query(searchParameters);
Map<String, Object> model = new HashMap<String, Object>();
model.put("mess", "slt");
return model;
}
}
Frédéric Marin