Usando classe tXMLManager para leitura de XML WS

Estou migrando os meus processos de comunicação de WS do modelo antigo onde o compilador e appserver geravam diretamente o cliente em ADVPL para as novas classes tXMLManager (https://tdn.totvs.com/display/tec/Classe+TxmlManager) e tWsdlManager (https://tdn.totvs.com/display/tec/Classe+TWsdlManager) que são recomendadas para essa finalidade. Porém me deparei com uma situação onde o cliente antigo trava e não estou conseguindo fazer o mesmo com as novas classes. A situação é que esse plugin antigo fazia a leitura do arquivo WSDL gerando um código que já fazia as conversões de dados necessárias a partir do XML (ex.: se o tipo fosse numérico, o retorno já vinha nesse formato), e usando a classe tXMLManager para fazer a leitura todos os dados vem como string independente do padrão adotado no WSDL. Observei que a classa possui um método ParseSchema que serviria para isso, porém os WS não disponibilizam esse schema diretamente, apenas embarcado no próprio WSDL (tanto que a quando o plugin converte ele sabe os tipos e faz os ajustes necessários para os tipos de dados). Como eu poderia tratar essa situação de forma transparente ? Sem precisar ficar convertendo os dados manualmente no código? Fiz uma tentativa passando o próprio WSDL como schema mas o método retornou dizendo que não é um schema válido. Pergunto isso porque esta está sendo uma das dificuldades, visto que antes isso era completamente transparente para a programação, e agora tenho que ficar fazendo as conversões diretamente no fonte.

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags txmlmanager advlp ou faça a sua própria pergunta.