Tempo aproximado para leitura: 00:03:54 min
Dúvida
Como alterar a URL do WSDL retornado pelo WSExecBO no Datasul for THF com proxy reverso?
Ambiente
Framework - Framework (Linha Datasul) - Tomcat – Todas as versões
Solução
Quando a integração com WSExecBO é realizada por um acesso externo, utilizando um servidor proxy reverso, a URL de conexão retornada no WSDL vem com o endereço interno do servidor Tomcat. No proxy reverso com Apache ou IIS, é possível contornar este cenário com uma regra para trocar o conteúdo do retorno do endereço interno pelo externo.
Utilizando o servidor Apache como proxy reverso, adicione a regra abaixo no arquivo de configuração que responde pelo acesso externo:
AddOutputFilterByType SUBSTITUTE text/xml
Substitute s|http://192.168.1.1:8080|https://integracao.empresa.com.br|i
Onde 192.168.1.1:8080 é o endereço interno que precisa ser trocado e https://integracao.empresa.com.br é o endereço utilizado no acesso externo. Ajuste conforme endereços usados em seu ambiente e na sequência reinicie o serviço do Apache.
No servidor proxy reverso com IIS, acesse as configurações do site utilizado pelo acesso externo e abra o item URL Rewrite.
Ao lado direito, acesse o menu View Preconditions.
Caso não exista, adicione uma regra para validar retornos em formato XML.
Na tela Add Precondition informe isXML em Name e depois clique no botão Add logo abaixo.
Os dados a serem preenchidos são os listados abaixo:
Condition Input = {RESPONSE_CONTENT_TYPE}
Check is input string = Matches the Pattern
Pattern = ^text/xml
Ignore case = marcado
Confirme os dados e adicione uma novo item:
Condition Input = {RESPONSE_CONTENT_ENCODING}
Check is input string = Does Not Match the Pattern
Pattern = gzip
Ignore case = marcado
Confirme a operação e retorne a tela principal do URL Rewrite.
Acesse o menu Add Rule(s) e escolha em Outbound rules a opção Blank rule.
Na tela Edit Outbound Rule, informe no campo Name o valor ReplaceXML.
Na sessão Match, o campo Precondition precisa estar com o valor isXML, o campo Matching scope com Response, o campo Content com Matches the Pattern e o campo Using com Regular Expressions.
No campo Pattern informe o endereço interno a ser trocado, como este exemplo http://(192.168.1.1):8080 .
Na sessão Action, informe no campo Value o endereço externo, como este exemplo https://integracao.empresa.com.br .
Onde 192.168.1.1:8080 é o endereço interno que precisa ser trocado e https://integracao.empresa.com.br é o endereço utilizado no acesso externo. Ajuste conforme endereços usados em seu ambiente e na sequência reinicie o serviço do site no IIS.
Saiba mais
Consulte os artigos adicionais para a configuração do proxy reverso:
Framework - Linha Datasul - TEC - Configuração de Proxy Reverso para os Portais do Datasul for THF utilizando IIS
Framework - Linha Datasul - TEC - Configuração de Proxy Reverso para o Datasul for THF utilizando Apache
Glossário
IIS - Internet Information Services
THF - TOTVS HTML Framework
URL - Uniform Resource Locator
WSDL - Web Services Description Language
XML - Extensible Markup Language
0 Comentários