Bom Dia,
Em um ambiente com dicionário em banco, na versão 12.1.027, estou tendo o erro abaixo ao chamar um método REST que desenvolvi.
Versão da Lib:20200615
Data da Lib: 20200612_1531
Stack :
variable does not exist CEMPANT
( PREVIOUS ERROR :
Alias does not exist: SX2
)
on OPENSXS(APLIB100.PRW) 12/06/2020 18:03:23 line : 1538
Fonte utilizado: https://gist.github.com/sipmann/ee5b10a63ce4bc0c33c17f574073a0cd
Bom dia, posta parte do seu código, fica mais fácil te ajudar
Bom dia ,
Tenho o rest com o dicionario no banco sem problemas, mas já passei uma situação dessas porque a LIB do meu rest esta desatualizada.
POis é, foi a primeira coisa que pensei, estava mesmo desatualizada, mas ai peguei a última disponível e nada =\
Mauricio,
Normalmente esse erro ocorre quando você utiliza de funções, APIs etc do Protheus e o ambiente não está aberto.
Repare que o erro cita a variável pública cEmpAnt e também o SX2, ou seja, não foi possível abrir uma tabela ou buscar informações sobre a mesma.
Portanto o que deve estar gerando o erro, é a instrução que busca o nome física da tabela:
%Table:ALIAS%
Verifique nas configurações do seu REST, no appserver.ini se a chave PrepareIn
existe e qual o seu valor, sendo que é muito comum a configuração como ALL
:
[HTTPURI]
PrepareIn=All
Documentações a respeito da configuração do REST e a chave PrepareIn:
https://tdn.totvs.com/pages/viewpage.action?pageId=185747842
https://tdn.totvs.com/pages/viewpage.action?pageId=185747842
Solucionado o caso. Evolui no erro mas agora é mais ao meu nível
Obrigado.
Bom dia!
Está com PrepareIn no .ini do seu Rest?
Boa Tarde,
Tive esse problema de forma meio que intermitente, hora acontecia, hora não, para resolver de vez forcei dentro do wsmethod a abertura dos ambientes, usando o trio:
RpcClearEnv()
RPCSetType()
RpcSetEnv()
exemplo:
Local aTabelas := {"SM0","SX2","SX3","SX5","SZR"}
RpcClearEnv()
RPCSetType(3)
RpcSetEnv("01", "010104", NIL, NIL, "FAT", NIL, aTabelas)
Atenciosamente,
Douglas
Comecei a ter esse problema intermitente também, vou tentar sua solução mas a principio na 33 não resolveu, tenho outro erro : type mismatch on + on FWSM0UTIL:SETSM0POSITIONBYCFILANT(FWSM0UTIL.PRW)