Gerando stubs JavaScript a partir de WSDL
-
09-06-2019 - |
Pergunta
Estou procurando uma ferramenta para gerar um stub JavaScript a partir de um WSDL.
Embora eu geralmente prefira usar serviços REST com JSON ou XML, existem algumas ferramentas que estou integrando atualmente e que funcionam apenas usando SOAP.
Já criei uma primeira versão do cliente em JavaScript mas estou analisando o envelope SOAP manualmente e duvido que meu código sobreviva a uma atualização de serviço por exemplo, visto o quão complexa é a especificação do envelope SOAP.
Existe alguma ferramenta para gerar automaticamente stubs totalmente compatíveis com SOAP para JavaScript a partir do WSDL, para que eu possa ter mais confiança no futuro do meu código de cliente.
Mais:O serviço da web que tento usar é codificado em RPC, e não literal de documento.
Solução
Eu tive que fazer isso sozinho no passado e descobri isso Artigo do CodeProject.Mudei um pouco, mas me deu uma boa base para implementar tudo o que precisava.Uma das principais funcionalidades que já possui é a geração do cliente SOAP baseado no WSDL.Ele também possui cache integrado do WSDL para múltiplas chamadas.
Este artigo também possui uma implementação personalizada de XmlHttpRequest para chamadas Ajax.Essa é a parte que eu não usei.Durante esse tempo, acho que estava usando Protótipo biblioteca javascript e modifiquei o código neste artigo para usar suas funções Ajax.Eu simplesmente me senti mais confortável usando o Prototype para as chamadas ajax, porque ele era amplamente utilizado e testado em todos os navegadores.
Outras dicas
O Apache CXF possui ferramentas que geram clientes JavaScript que falam sobre sabão.
Na verdade, qualquer serviço CXF pode ter um cliente javascript gerado automaticamente acessando o URL com ?js anexado.(assim como ?wsld produz o wsdl) Existem ferramentas de linha de comando também, mas o material gerado dinâmico é bem legal.
Provavelmente seria um exagero, mas o NetBeans possui esse recurso.