Estou com um erro crítico ao salvar arquivos via WEBAPP,
Utilizo a função cGetFile - tudo normal. mas na hora do arquivo ser salvo efetivamente, onde indico, geralmente c:\temp\, recebo a seguinte mensagem no console:
[WEBAPP] [ERROR] respond_message: message stack is not the same received!
[WEBAPP] [ERROR] - StackMessage: MS_QUERYCOORS | BIT_COMMIT - 3000
[WEBAPP] [ERROR] - Received message: MS_FILEEXISTS | BIT_COMMIT - 1
[WEBAPP] JSON_Session::postMessageToBrowser: CONTEXT_TO_RUN failed. reason: CER_NOT_FOUND
Ao usar a mesma rotina via SmartClient Desktop, tudo funciona bem, arquivo é salvo normalmente, sem problemas.
Assim como o Leandro comentou, o acesso ao file system é limitado via webapp, por conta dessa limitação entre outras, foi criada o WebAgent, que permite o acesso ao file system, requisições sem problema de CORS entre outras funcionalidades que foram limitadas pelo navegador.
A partir do release 12.1.2410 não existe mais o Smartclient Desktop, portanto o uso do WebAgent será indispensável para que todas as rotinas do Protheus funcionem corretamente.
Olá, consegui resolver o problema… atualizando a dll do webapp … e voltou a funcionar normalmente!
Logo, não era nenhum erro em função ou rotina, era uma falha de infra mesmo
Bom dia pessoal, no meu caso quando preciso selecionar um arquivo utilizando a função GetFile(), o sistema até lista as unidades, mas quando acesso a pasta não mostra os arquivos. outro detalhe é que ele demora para lista as pastas locais, antes de listar ele tem a opção no canto direito para selecionar o diretório, aí nesse caso consegue ver tudo, só que em algumas maquinas não aparece a opção.
mas precisaria usar a TfileDialog com o lSalvar = .F. para ter o comportamento do SO. Nesse caso quando usamos assim é feito um “upload” do arquivo para dentro de uma pasta temporaria do “WEBAPP” e essa pasta não fica dentro do “Rootpath” e sim dentro de onde está instalado o AppServer. Esse é o problema pq se estivesse dentro do “RootPath” a função CPYS2TW funcionaria. |Utilizamos o WEBAGENT tb e estamos na versão 2410 do Protheus.