Consumir WebServices com GeneXus

Quando certos WebServices passam a ser uma dor de cabeça

webservice genexus delfasoft fabricio de los santos

Algumas vezes temos que consumir um WebService gerado também por GeneXus em algum projeto no inicio do desenvolvimento, onde existem mudanças de todo tipo, de lógica de negócio, de arquitetura, etc e o WebService que numa hora funciona deixa de funcionar.

Ai o fornecedor do WebService, indica a situação, nós executamos o WSDL import wizard como fizemos a primeira vez, mas quando vamos a executar o programa que usa o WebService, nada feito ou não muda nada ou da um erro de difícil interpretação. Não conseguimos de jeito nenhum que o WebService funcione.

Poderia ser alguma mensagem de erro tipo assim:

javax.servlet.ServletException:

java.lang.AbstractMethodError: com.genexus.xml.GXXMLSerializable.writexml

(Lcom/genexus/xml/XMLWriter;Ljava/lang/String;Ljava/lang/String;Z)V at

com.genexus.GXObjectCollectionBase.writexmlcollection(Unknown Source)

Bem, não tudo é perfeito, isso algumas vezes acontece.

Você pode tentar todas as coisas que já tentei em outras oportunidades, e acredito seguirei tentando no futuro, mas no final vou te dizer o que SIM sempre funciona, ou talvez alguém escreva um comentário dizendo “isso acontece por… ou isso se resolve também de outra forma…” e não temos que ser tão extremistas, mas da forma que consegui até agora é a seguinte:

Primeira coisa, tente importar o WSDL de novo, talvez nada muda e tudo segue funcionando.

Se não funcionou, no objeto que está usando o WebService, comente toda a referência e apague as variáveis, de SDT, Objeto externo relacionado, etc e importe de novo o WSDL

Se ainda não funciona, pode procurar no Servidor para apagar as classes ou dlls relacionadas, reiniciar o servidor e tentar de novo…

Mas neste ponto eu já estou indo a solução extrema, que tem sido útil em outras oportunidades para outros problemas similares.

Apague todo o relacionado a esse WebService, e crie outro Environment, e importe o WSDL novamente, e com certeza vai caminhar.

Tomara alguém tenha outra dica, mas tenha certeza que como falei acima, se está no inicio de algum projeto criar outro environment vai levar menos tempo que quebrar a cabeça.

Boa sorte.

Até a próxima,

Fabricio De los Santos

__________________________________________________________
ScrumMaster, Project Manager, Coaching and Mentoring GeneXus
K2B Tools Agent – The best Patterns Tool to integrate with GeneXus
www.fabriciodelossantos.com
www.delfasoft.com.br

Deja un comentario