REST API CMIS Query

cancel
Showing results for 
Search instead for 
Did you mean: 
itamar_uit
Active Member II

REST API CMIS Query

Jump to solution

Caros,
Até a versao 201609, usávamos a seguinte url para pegar o nodeRef da pasta sites e de um Script dentro do Dicionario de dados. Usávamos estas informçoes para criação automatica de regras via javascript.


/alfresco/api/-default-/public/cmis/versions/1.1/browser?cmisaction=query&statement=select alfcmis:nodeRef from cmis:folder where cmis:name='Sites' and CONTAINS('PATH:"//app:company_home/*"')
O resultado era:
{
"results": [
{
"properties": {
"alfcmis:nodeRef": {
"id": "alfcmis:nodeRef",
"localName": "nodeRef",
"queryName": "alfcmis:nodeRef",
"type": "id",
"value": [
"workspace://SpacesStore/c08c5d35-f0a3-4330-b783-05c7d773d2d0"
]
}
}
}
],
"hasMoreItems": false,
"numItems": 1
}


Na vesao 201612 e na 201702, ao tentar executar a consulta(Via POST), recebemos o erro:

{
"exception": "invalidArgument",
"message": "Invalid form encoding!"
}


A pergunta seria: Como obter o mesmo resultado nas versões 201612 e diante ?

1 Solution

Accepted Solutions
janv
Alfresco Employee

Re: REST API CMIS Query

Jump to solution

I see it was also posted here ... with a suggestion from Florian Mueller (thanks Florian):

Alfresco 5.2 REST API CMIS Query - Stack Overflow 

Regards,

Jan

View solution in original post

2 Replies
janv
Alfresco Employee

Re: REST API CMIS Query

Jump to solution

I see it was also posted here ... with a suggestion from Florian Mueller (thanks Florian):

Alfresco 5.2 REST API CMIS Query - Stack Overflow 

Regards,

Jan

resplin
Intermediate

Re: REST API CMIS Query

Jump to solution

No versão 201612, nós atualizamos a biblioteca de OpenCMIS (REPO-1238). A resposta da pergunta no StackOverflow me sugere que o funcionamento anterior não seguiu a especificação de CMIS então não é permitido.

Tradução da resposta no StackOverflow:

Se a gente usa um POST, tem que ter a consulta no corpo, não no URL. (Veja https://docs.oasis-open.org/cmis/CMIS/v1.1/os/examples/browser/doQuery-request.log .)

Se usar um GET, pode substituir cmisaction com cmisselector. O resultado deve ser o mesmo.