调用Java WebScript

时间:2017-03-15 05:48:37

标签: rest authentication spring-security alfresco alfresco-webscripts

我想获取cm:person类型的所有属性并将其显示在表格中。为此,我有Java WebScript。

但是当我打电话给它时,我得到一个例外:

  

net.sf.acegisecurity.providers.ProviderNotFoundException:没有   认证提供商   net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken

在Web脚本中,我标记了引发异常的位置:

public class AssignmentsRetriever extends DeclarativeWebScript {
    Logger logger = Logger.getLogger(AssignmentsRetriever.class);

    private WorkflowService workflowService;
    private PersonService personService;
    private NodeService nodeService;

    @Override
    protected Map<String, Object> executeImpl(WebScriptRequest req, Status status) {
        String taskId = req.getParameter("taskId");

        WorkflowTaskQuery tasksQuery = new WorkflowTaskQuery();
        WorkflowTask workflowTask = workflowService.getTaskById("activiti$"+taskId);

        tasksQuery.setProcessId(workflowTask.getPath().getInstance().getId());

        List<WorkflowTask> allWfTasks = 
            workflowService.queryTasks(tasksQuery, true);
        NodeRef personNodeRef;
        Map<QName, Serializable> personProperties;
        Iterator iterator;
        for (WorkflowTask task : allWfTasks) {
            logger.debug("processId == " + 
                task.getPath().getInstance().getId());

            personNodeRef = 
              personService.getPerson("{http://www.alfresco.org/model/content/1.0}owner");

            // Here an exception is thrown
            logger.debug("cm:userName == " + 
                nodeService.getProperties(personNodeRef).get("cm:userName"));

            // Here an exception is thrown
            personProperties = nodeService.getProperties(personNodeRef);
            iterator = personProperties.entrySet().iterator();
            while (iterator.hasNext()) {
                Map.Entry pairs = (Map.Entry)iterator.next();
                logger.debug(pairs.getKey() + " = " + pairs.getValue());
            }
        }

        ...         

        return model;
    }

    public WorkflowService getWorkflowService() {
        return workflowService;
    }

    public void setWorkflowService(WorkflowService workflowService)
    {
        this.workflowService = workflowService;
    }

    public void setNodeService(NodeService nodeService) {
        this.nodeService = nodeService;
    }

    public NodeService getNodeService() {
        return nodeService;
    }

    public void setPersonService(PersonService personService) {
        this.personService = personService;
    }

    public PersonService getPersonService() {
        return personService;
    }
}

可能是什么原因?..

我将非常感谢这些信息。谢谢大家。

奇怪,我将logger.debug(...)替换为System.out.println(...),现在我可以在日志中看到以下内容:

alfrescotomcat-stdout.2017-03-15.log:

...
 null
{http://www.alfresco.org/model/content/1.0}email = 
{http://www.alfresco.org/model/content/1.0}homeFolder = workspace://SpacesStore/ac210417-f260-4b24-85ec-7fea912383a4
{http://www.alfresco.org/model/system/1.0}node-uuid = da262d43-d317-463f-b950-c7da54d88e31
{http://www.alfresco.org/model/content/1.0}name = da262d43-d317-463f-b950-c7da54d88e31
{http://www.alfresco.org/model/system/1.0}store-identifier = SpacesStore
{http://www.alfresco.org/model/content/1.0}userName = {http://www.alfresco.org/model/content/1.0}owner
{http://www.alfresco.org/model/content/1.0}homeFolderProvider = userHomesHomeFolderProvider
{http://www.alfresco.org/model/content/1.0}owner = {http://www.alfresco.org/model/content/1.0}owner
{http://www.alfresco.org/model/system/1.0}cascadeCRC = 3614281327
{http://www.alfresco.org/model/content/1.0}sizeQuota = -1
{http://www.alfresco.org/model/system/1.0}cascadeTx = 295
{http://www.alfresco.org/model/content/1.0}lastName = 
{http://www.alfresco.org/model/content/1.0}organizationId = 
{http://www.alfresco.org/model/content/1.0}sizeCurrent = 0
{http://www.alfresco.org/model/system/1.0}store-protocol = workspace
{http://www.alfresco.org/model/system/1.0}node-dbid = 1145
{http://www.alfresco.org/model/system/1.0}locale = 
{http://www.alfresco.org/model/content/1.0}firstName = {http://www.alfresco.org/model/content/1.0}owner
null
{http://www.alfresco.org/model/content/1.0}email = 
{http://www.alfresco.org/model/content/1.0}homeFolder = workspace://SpacesStore/ac210417-f260-4b24-85ec-7fea912383a4
{http://www.alfresco.org/model/system/1.0}node-uuid = da262d43-d317-463f-b950-c7da54d88e31
{http://www.alfresco.org/model/content/1.0}name = da262d43-d317-463f-b950-c7da54d88e31
{http://www.alfresco.org/model/system/1.0}store-identifier = SpacesStore
{http://www.alfresco.org/model/content/1.0}userName = {http://www.alfresco.org/model/content/1.0}owner
{http://www.alfresco.org/model/content/1.0}homeFolderProvider = userHomesHomeFolderProvider
{http://www.alfresco.org/model/content/1.0}owner = {http://www.alfresco.org/model/content/1.0}owner
{http://www.alfresco.org/model/system/1.0}cascadeCRC = 3614281327
{http://www.alfresco.org/model/content/1.0}sizeQuota = -1
{http://www.alfresco.org/model/system/1.0}cascadeTx = 295
{http://www.alfresco.org/model/content/1.0}lastName = 
{http://www.alfresco.org/model/content/1.0}organizationId = 
{http://www.alfresco.org/model/content/1.0}sizeCurrent = 0
{http://www.alfresco.org/model/system/1.0}store-protocol = workspace
{http://www.alfresco.org/model/system/1.0}node-dbid = 1145
{http://www.alfresco.org/model/system/1.0}locale = 
{http://www.alfresco.org/model/content/1.0}firstName = {http://www.alfresco.org/model/content/1.0}owner
...

0 个答案:

没有答案