TWebChannel + TWebEngine via smartclient html usando WebApp.dll

Criei uma tela em html+js utilizando as classes TWebChannel e TWebEngine que funciona perfeitamente quando executada pelo Smartclient local, mas tento usar o smartclient web (WebApp.dll) não funciona, a classe TWebEngine sempre retorna a mesma porta 3001 e WebSocket no JS não consegue estabelecer a conexão.


// Habilita o WebSocket
var baseUrl = "ws://localhost:" + totvstec.getParam("port");
var socket = new WebSocket(baseUrl);
socket.onclose = function(){ console.error("web channel closed"); };
socket.onerror = function(error){ console.error("web channel error: " + error); };

Já tentei usar o IP do servidor e não funcionou.

estou com problema semelhante, TWebEngine nao se comporta igual quando utilizado webapp x SmartClient

Olá,

Conseguiu resolver esse problema?

Ola pessoal, pelo que vi isso é restrição de segurança dos navegadores.

https://tdn.totvs.com/display/tec/4.+Migrando+do+SmartClient+Desktop+para+o+WebApp

olá, alguém conseguiu contornar esse problema?

Olá,

Existem algumas documentações, ressaltando que o TWebChannel e TWebEngine tem comportamentos diferentes quando executados no antigo e já descontinuado Smartclient Desktop e no Smartclient Webapp, isso devido a limitações do próprio navegador.

Então, possivelmente, você caiu numa dessas situações, sugiro dar uma lida nas documentações para verificar se você tem algum contorno.

Documentações:
TWebEngine:RunJavaScript - TOTVSTEC - TDN
4. Migrando do SmartClient Desktop para o WebApp - TOTVSTEC - TDN
TWebChannel - TOTVSTEC - TDN
TWebEngine - TOTVSTEC - TDN