Informação
A partir da release 12.1.2311, a biblioteca totvs-valve-<VERSAO>.jar é expedida com o produto, portanto basta configurar sua utilização conforme recomendações a seguir.
01. OBJETIVO
Configurar o TOTVS CORS Valve para que o produto atue nas headers das requisições e os credentials sejam trafegados em requisições do tipo CORS.
02. SITUAÇÃO
O produto não permite requisições para servidores diferentes, o que refletia em bloqueio das requisições pelo CORS.
03. SOLUÇÃO
Para adequar o produto à essa necessidade foi implementado um ''valve" para o gerenciamento das conexões.
1 - Localizar o arquivo server.xml, que pode ser encontrado no diretório "conf" do Apache Tomcat: ".\conf\server.xml"
2 - Adicionar as linhas abaixo como elemento "filho" da tag <Host ...>:
<Valve className="com.totvs.valve.TotvsCorsValve"
allowHeaders="Content-Type,Accept,Accept-Language,Content-Language,Authorization,tenantId,userId,companyId,authorization,returnformatversion,x-totvs-appcode"
contextsToValidate="/totvs-login,/totvs-rest,/dts,/api,/webexecbo"
allowOrigin="*"
allowMethods="GET, POST, DELETE, PUT, PATCH, HEAD, OPTIONS"
allowCredential="true" />
Caso seja necessário liberar o acesso de acordo com o servidor de origem, o mesmo deve ser informado no atributo allowOrigin no formato "<protocolo>://<servidor>:<porta>".
Ex: allowOrigin="http://localhost:8080"
3 - Adicionar o arquivo totvs-valve-1.0.jar no diretório "lib", relacionada à instância do Apache Tomcat. Este arquivo pode ser encontrado ao final desta página.
04. DEMAIS INFORMAÇÕES
A tag "Valve" deve estar configurada como o último elemento da tag "Host". Caso exista algum "Header" da request diferente dos informados anteriormente (allowHeaders), estes devem ser incluídos nessa tag.IMPORTANTE!
05. ANEXOS