[ 
https://issues.apache.org/jira/browse/CMIS-964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15069132#comment-15069132
 ] 

Srinivas Gannavarapu commented on CMIS-964:
-------------------------------------------

Setting includeAllowableActions explicitly  to false in the context will work 
for queries with 'join' keywords
Tested the below with opencmis0.13.0 (the same used for icn 2.0.3 fp5

OperationContext context = new OperationContextImpl();
        context.setIncludeAllowableActions(false);
        String queryDoc = "select ld.id , f.AccountNr, ld.documentType, 
ld.applicationId, ld.DateCreated from (ContractDocument ld left outer join 
ReferentialContainmentRelationship rcr on rcr.head = ld.this ) left outer join 
ProductFolder f on rcr.tail = f.this where ld.ClientID = '990061780'";
        ItemIterable<QueryResult> aDoc = session.query(queryDoc, true, context);
        Iterator<QueryResult> i1Doc = aDoc.iterator();
        while (i1Doc.hasNext()) {
        QueryResult fold = (QueryResult) i1Doc.next();
        // ...
        }  

> FileNet 5.2.1 with IBM CMIS 2.0.3 - CollectionIterator.hasNext throws: method 
> that was specified requires the getAllowableActions capability
> --------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CMIS-964
>                 URL: https://issues.apache.org/jira/browse/CMIS-964
>             Project: Chemistry
>          Issue Type: Bug
>          Components: opencmis-client
>    Affects Versions: OpenCMIS 0.13.0
>         Environment: Client - Windows 7, 64bit, java 1.7, eclipse
> Server - FileNet 5.2.1 with IBM CMIS 2.0.3 on AIX7.1
>            Reporter: Robert ValĂ­k
>
> The code is working on FileNet 5.1 with IBM CMIS 1.0
> {code}
> Logger log = LoggerFactory.getLogger("doCmisSearchJoin");
> Session sess = createOpenCMISSession(USER_NAME, PASSWORD, REPOSITORY_VUB);
> String queryDoc = "select ld.id , f.AccountNr,  ld.documentType, 
> ld.applicationId, ld.DateCreated    from (ContractDocument ld left outer join 
> ReferentialContainmentRelationship rcr on rcr.head = ld.this )  left outer  
> join ProductFolder f on rcr.tail = f.this    where ld.ClientID = '990061780'";
> ItemIterable<QueryResult> aDoc = sess.query(queryDoc, true);  
> Iterator<QueryResult> i1Doc = aDoc.iterator();
> while (i1Doc.hasNext()) {
>       QueryResult fold = (QueryResult) i1Doc.next();
>       // ...
> }
> {code}
> When running on newer filenet, This exceprion is thrown:
> {code}
> Exception in thread "main" 
> org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException: 
> CIL2420: Your request cannot be completed. 
> Explanation: The service method that was specified requires the 
> getAllowableActions capability, which is an optional capability that is not 
> supported by the repository. 
> Action: Review the repository information that is returned by the 
> getRepositoryInfo service to determine which services are supported by the 
> repository.
>       at 
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.AbstractWebServicesService.convertException(AbstractWebServicesService.java:113)
>       at 
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.DiscoveryServiceImpl.query(DiscoveryServiceImpl.java:88)
>       at 
> org.apache.chemistry.opencmis.client.runtime.SessionImpl$6.fetchPage(SessionImpl.java:935)
>       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 Main.doCmisSearchJoin(Main.java:993)
>       at Main.main(Main.java:107)
> {code}
> The Line 993 is {{while (i1Doc.hasNext())}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to