Para utilizar o REST com o ERP Microsiga Protheus é necessário configurar a chave PrepareIn da(s) seção(ões) URI.
PrepareIn para apenas um Grupo de Empresas
Deve-se informar, na linha PrepareIn, o código do Grupo de Empresas
[HTTPURI] URL=/rest PrepareIn=T1 Instances=1,1
PrepareIn para apenas um Grupo de Empresas e Filial
Neste caso deve-se informar, na linha PrepareIn, o código do Grupos de Empresas e da Filial, separados por vírgula.
[HTTPURI] URL=/rest PrepareIn=T1,D MG 01 Instances=1,1
PrepareIn para todos os Grupos de Empresas
Neste caso deve-se informar, na linha PrepareIn, a expressão "All"
[HTTPURI] URL=/rest PrepareIn=All Instances=1,1
Observação: a definição de Filial fica a cargo da requisição.
Além da configuração já existente no web service SOAP que necessita de ambiente especialista por empresa e filial também é possível preparar as working threads para todas as empresas.
Nesse modelo o requisitor deve indicar qual empresa deseja utilizar através do campo tenantId que deve ser enviado no HEADER da requisição HTTP, como no exemplo abaixo:
GET /res/sample Host: localhost:8080 Accept: application/json tenantId: 99
Ou, caso seja necessário informar também a filial, poderá indicar no campo tenantId a empresa e filial que devem ser enviados no HEADER da requisição HTTP, como no exemplo abaixo:
GET /res/sample Host: localhost:8080 Accept: application/json tenantId: T1,D MG 01
Caso o campo tenantId não seja enviado a requisição será processada pela primeira working thread disponível de qualquer empresa.
5 Comentários
Charles Reitz
Estou precisando subir apenas 2 grupos de um total de 5 grupos, como faço?
Jandir Deodato De Souza Silva
Olá Charles, boa noite. Você vai ter que construir duas 'httpuri' diferentes para cada grupo.
Exemplo:
[HTTPREST]
Port=92
URIs=HTTPURI,HTTPURI2
SECURITY=1
[HTTPURI]
URL=/rest
PrepareIn=18,D MG 01
OnStart=REST_START
OnConnect=REST_CONNECT
OnExit=REST_EXIT
Instances=1,5,2,1
CORSEnable=1
AllowOrigin=*
[HTTPURI2]
URL=/uri2
PrepareIn=19,D RJ 01
OnStart=REST_START
OnConnect=REST_CONNECT
OnExit=REST_EXIT
Instances=1,5,2,1
CORSEnable=1
AllowOrigin=*
Vinicius Gati
Bom dia, consigo passar o tenantId somente com a empresa? para pegar a working thread aleatória mas da empresa enviada?
Jandir Deodato De Souza Silva
Olá, boa tarde.
Sim. Você pode passar somente o Grupo de empresas (e neste caso ele vai cair em uma filial configurada no preparein) ou passar o grupo,filial caso queira processar em um par específico de Grupo e filial.
Abs!
Vinicius Gati
Como fazer para enviar mais de uma filial no PrepareIn?