[ https://issues.apache.org/jira/browse/CONNECTORS-1616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Karl Wright reassigned CONNECTORS-1616: --------------------------------------- Assignee: Karl Wright > Confluence Authority does not handle Confluence API errors > ---------------------------------------------------------- > > Key: CONNECTORS-1616 > URL: https://issues.apache.org/jira/browse/CONNECTORS-1616 > Project: ManifoldCF > Issue Type: Bug > Components: Confluence connector > Affects Versions: ManifoldCF 2.12 > Reporter: Julien Massiera > Assignee: Karl Wright > Priority: Critical > > The Confluence Authority ask spaces permissions for each space returned by > the getSpaces() method of the ConfluenceClient class. > The concerned method getSpacePermissionsForUser(Space space, String username) > sends a request to Confluence and triggers a ConfluenceException if the > request response is different from 200, otherwise it parses the response as a > JSONArray to get the permissions. > The problem is that even with a 200 request response code, the content of the > response may be a simple JSONObject that explains an internal Confluence > error. It happens frequently when the username is not allowed to get > permissions on certain spaces : > {code:java} > { > "id": null, > "error": { > "code": 500, > "message": "The application was unable to serve your request: > com.atlassian.confluence.rpc.NotPermittedException: Only space administrators > can view permissions for other users in the space.", > "data": "com.atlassian.confluence.rpc.NotPermittedException: Only space > administrators can view permissions for other users in the > space.\ncom.atlassian.confluence.rpc.NotPermittedException: Only space > administrators can view permissions for other users in the space.\n\tat > com.atlassian.confluence.rpc.soap.services.SpacesSoapService.getPermissions(SpacesSoapService.java:188)\n\tat > > com.atlassian.confluence.rpc.soap.XhtmlSoapService.getPermissionsForUser(XhtmlSoapService.java:226)\n\tat > sun.reflect.GeneratedMethodAccessor3812.invoke(Unknown Source)\n\tat > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat > java.lang.reflect.Method.invoke(Method.java:498)\n\tat" > } > } > {code} > As a username will almost never have the rights to get permissions on ALL > spaces, it is problematic because the response parsing process triggers an > Exception and so the Confluence Authority response is > UNREACHABLEAUTHORITY:confluence, instead of delivering permissions for > allowed spaces. -- This message was sent by Atlassian JIRA (v7.6.14#76016)