Hi all,
We have created a JSF 1.2 application for a client which uses openCMIS
0.5.0. Unfortunately we have an exception sporadicly that we cannot
reproduce.
We see the following stack trace in the logs:
Caused by:
org.apache.chemistry.opencmis.commons.exceptions.CmisUnauthorizedException:
Unauthorized
at
org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:423)
at
org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.post(AbstractAtomPubService.java:568)
at
org.apache.chemistry.opencmis.client.bindings.spi.atompub.DiscoveryServiceImpl.query(DiscoveryServiceImpl.java:141)
at
org.apache.chemistry.opencmis.client.runtime.SessionImpl$3.fetchPage(SessionImpl.java:557)
at
org.apache.chemistry.opencmis.client.runtime.util.AbstractIterator.getCurrentPage(AbstractIterator.java:132)
at
org.apache.chemistry.opencmis.client.runtime.util.CollectionIterator.hasNext(CollectionIterator.java:48)
*at
be.idewe.park.repository.impl.EmployeeDocumentRepositoryImpl.findDocuments(EmployeeDocumentRepositoryImpl.java:53)
*
at
be.idewe.park.service.impl.EmployeeDocumentServiceImpl.getDocumentsForUserAssignments(EmployeeDocumentServiceImpl.java:96)
at
be.idewe.park.service.impl.UserAssignmentServiceImpl.fillUserAssignmentsWithDocuments(UserAssignmentServiceImpl.java:201)
at
be.idewe.park.service.impl.UserAssignmentServiceImpl.getUserAssignmentsByDocumentTypes(UserAssignmentServiceImpl.java:191)
at
be.idewe.park.service.impl.UserAssignmentServiceImpl.getUserAssignmentsByDocumentTypes(UserAssignmentServiceImpl.java:175)
at
be.idewe.park.ui.UnreadDocumentsBean.getInboxes(UnreadDocumentsBean.java:166)
at
be.idewe.park.ui.UnreadDocumentsBean.getInbox(UnreadDocumentsBean.java:235)
at
be.idewe.park.ui.UnreadDocumentsBean.getEmployeeInbox(UnreadDocumentsBean.java:227)
at sun.reflect.GeneratedMethodAccessor860.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:83)
at
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
at
com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
at org.apache.el.parser.AstValue.getValue(AstValue.java:123)
at
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at
com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
... 69 more
The bold line in the stack trace is the last piece of code written by us in
the trace and is quite simple:
public List<EmployeeDocument> findDocuments(Session cmisSession, Query
query, String language) {
ItemIterable<QueryResult> employeeDocuments =
cmisSession.query(query.getQueryString(), false);
for (QueryResult queryResult : employeeDocuments) {
...
}
}
Our CMIS Session is cached on the security context of Spring Security and
passed to the method.
--
Met vriendelijke groeten,
Kind regards,
Bien à vous,
Mano Swerts
Solution Engineer
_______________________________________________________
ACA IT-Solutions
Ilgatlaan 5C Clovislaan 82
B-3500 Hasselt B-1000 Brussel
Belgium Belgium
T: +32 (0)11 26 50 10 E: [email protected]
F: +32 (0)11 26 50 11 U: www.aca-it.be
M: +32 (0)484 80 81 45
______________________________________________________