Olá Devs,
Essa é minha primeira pergunta aqui, gostaria de saber quais os parametros necessários para atualizar uma pasta pelo serviço ECMFolderService na requisição UpdateFolder ? testei de diversas formas porém não obtive sucesso.
Olá Devs,
Essa é minha primeira pergunta aqui, gostaria de saber quais os parametros necessários para atualizar uma pasta pelo serviço ECMFolderService na requisição UpdateFolder ? testei de diversas formas porém não obtive sucesso.
Vim deixar a solução para essa questão, no caso os parametros minimos para realizar o Update Folder são :
Atualização: 05/05/2020: Notei após a utilização desse webService que tinha mais 3 campos que se não fossem preenchidos dava erro no momento que eu fosse editar a pasta via documentos fluig. Os campos adicionados para resolver o problema foram:
<downloadEnabled>false</downloadEnabled>
<approved>true</approved>
<topicId>0</topicId> -- Eu deixei por padrão 0 porém vocês podem escolher outro assunto
Segue abaixo o XML utilizado.
<?xml version="1.0" encoding="UTF-8" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.dm.ecm.technology.totvs.com/">
<soapenv:Header />
<soapenv:Body>
<ws:updateFolder>
<username></username>
<password></password>
<companyId></companyId>
<Document>
<item>
<activeVersion></activeVersion>
<additionalComments></additionalComments>
<colleagueId></colleagueId>
<companyId></companyId>
<deleted></deleted>
<documentDescription></documentDescription>
<documentId></documentId>
<documentType></documentType>
<downloadEnabled></downloadEnabled>
<indexed></indexed>
<publisherId></publisherId>
<version></version>
<approved></approved>
<keyWord></keyWord>
<parentDocumentId></parentDocumentId>
<validationStartDate></validationStartDate>
<expirationDate></expirationDate>
<draft></draft>
<expires></expires>
<createDate></createDate>
<topicId></topicId>
</item>
</Document>
<security></security>
<Approvers />
</ws:updateFolder>
</soapenv:Body>
</soapenv:Envelope>
Pela listagem parece que todos os itens são obrigatórios. Entendi errado?
— Bruno Gasparetto 27 de Apr de 2020sim , somente deixei a lista dos atributos obrigatórios para consulta e para ajudar o XML já pronto para teste
— Kelvin Gonçalves Cabral 27 de Apr de 2020Eu estou começando e lá vai um pitaco. Os colegas mais técnicos podem ter caminho diferente.
Eu não sei se mexi no código corretamente.
No javascript, alimente as variáveis 'campo' e 'valor' para você atingir os campos necessários.
Também a variável 'documentId' para localizar o documento a alterar.
Depois, cada item dentro de '' na descrição do xml você vai informando os itens para serem incrementados na variável 'xmlItem'.
Numa função qualquer, mais ou menos seria:
foo:function (){
let documentId = '12345';
let url = parent.WCMAPI.serverURL + "/webdesk/ECMCardService?wsdl";
let xmlItem = "<item>";
xmlItem += " <field>" + campo1 + "</field>";
xmlItem += " <value>" + valor1 + "</value>";
xmlItem += "</item>";
//-----
xmlItem += "<item>";
xmlItem += " <field>" + campo2 + "</field>";
xmlItem += " <value>" + valor2 + "</value>";
xmlItem += "</item>";
//----- etc. etc.
let xml = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://ws.dm.ecm.technology.totvs.com/">'
+'<soapenv:Header/>'
+'<soapenv:Body>'
+'<ws:updateFolder>'
+'<companyId>' + top.WCMAPI.organizationId + '</companyId>'
+'<username></username>'
+'<password></password>'
+'<documentId>' + documentId + '</documentId>'
+'<document>'
+ xmlItem
+'</document>'
+'</ws:updateFolder>'
+'</soapenv:Body>'
+'</soapenv:Envelope>';
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var response = (this.responseText);
console.log(response);
}
};
xhr.open("POST", url, false);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(xml);
}//foo
Então Neste caso citado, você criou uma função que monta um xml para utilizar o serviço ECMCardService que cria registros em formulário, porém oque eu preciso é dos parametros essenciais para que o ECMFolderService no metodo UpdateFolder consiga funcionar, pois o meu objetivo é atualizar as informações da pasta.
— Kelvin Gonçalves Cabral 23 de Apr de 2020