WSDL2Java

Last modified by admin on 2026/07/18 17:43

2 opciones para generar las clases de Java a partir del wsdl

Usando la version WSDL2Java original de axis 1.4 (NO SE RECOMIENDA ESTA OPCION):

java -classpath axis-ant.jar:axis.jar:cglib-2.1.jar:commons-discovery-0.2.jar:commons-logging-1.0.4.jar:jaxrpc.jar:log4j-1.2.8.jar:saaj.jar:wsdl4j-1.5.1.jar org.apache.axis.wsdl.WSDL2Java https://wswhomo.afihaykioup.gov.ar/wsfev1/service.asmx?wsdl

Utilizar el AxisJar.jar tuneado para Libertya con algunos fixes (OPCION RECOMENDADA):

java -classpath /libertya_at_sourceforge/trunk/lib/AxisJar.jar:/libertya_at_sourceforge/trunk/lib/mail.jar org.apache.axis.wsdl.WSDL2Java https://wswhomo.afip.gov.ar/wsfev1/service.asmx?wsdl

Esta última opción es mejor dado que soluciona por ejemplo el siguiente bug (comentario de la revisión r2634 de LY CORE):

Fix a clase del proyecto Apache Axis 1.4, para solucionar error: SOAPFaultBuilder throws DOMException WRONG_DOCUMENT_ERR.
Se descargó y compiló el proyecto Axis 1.4 de manera independiente, y se modificó la clase SOAPFaultBuilder
Solucion segun https://issues.apache.org/jira/browse/AXIS-2705

IMPORTANTE

La utilización de esta herramienta para servicios SOAP más recientes requiere al menos el uso de Java 8.
En caso contrario (por ejemplo utilizando Java 6) se presentará el siguiente error:

usuario@pc-usuario:~/Descargas/autogen$ java -classpath /libertya_at_sourceforge/trunk/lib/AxisJar.jar org.apache.axis.wsdl.WSDL2Java uploadPresentacionService.wsdl
- Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
WSDLException (at /wsdl:definitions/wsdl:import): faultCode=OTHER_ERROR: Unable to resolve imported document at ‘https://aws.afip.gov.ar/setiws/webservices/uploadPresentacionService?wsdl=uploadPresentacionServiceParent.wsdl’, relative to ‘file:/home/usuario/Descargas/autogen/uploadPresentacionService.wsdl’: Received fatal alert: handshake_failure: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure