Wrapper webservice con axis y ant en eclipse

Axis
Axis

Recientemente empezamos a trabajar en el desarrollo de una interfaz en java que necesitaba consumir un ws (webservice) .. para tal propósito sabíamos que utilizaríamos axis ya que para mí es la mejor librería para consumir ws.

Inicialmente estaba utilizando wsdl2java desde la línea de comandos, pero desconocía que también lo podía lograr utilizando ANT Build y es lo que quiero mostrarles.

Entonces empezamos.. con el siguiente código podrán extraer los métodos del webservice, para el caso de ejemplo tomé el de global weather. El script se puede seguir automatizando, pero creo que con esto es más que suficiente.

<?xml version="1.0" encoding="ISO-8859-1"?> 
 
   <project name="Ant_WSDL_2_Java" default="buildStubs" basedir=".">
 
   <property name="build.dir" value="wsdl-wrapper" />
   <property name="nowrapped" value="no" /> 
   <property name="wraparrays" value="no" />
   <property name="soapVersion" value="1.1" />
   <property name="verbose" value="true" />
   <property name="globalweather" value="http://www.webservicex.com/globalweather.asmx?WSDL" />
 
   <!-- En esta ruta se encuentran todos los compilados de Axis -->
   <path id="axis.classpath">
      <fileset dir="./lib/">
         <include name="*.jar" />
      </fileset>
   </path>
 
   <!-- Con este tag se define la tarea de wsdl2Java -->
   <taskdef resource="axis-tasks.properties" classpathref="axis.classpath" />
 
   <!-- Si build.dir (wsdl-wrapper) no existe se creará automáticamente -->
   <target name="initBuild">
      <delete failonerror="false" dir="${build.dir}" />
      <mkdir dir="${build.dir}" />
   </target>
 
   <!-- Desde aquí se pueden definir todos los wsdl que se necesiten -->
   <target name="buildStubs" depends="initBuild">
      <antcall target="buildStub">
         <param name="wsdl" value="${globalweather}" />
      </antcall>
   </target>
 
   <!-- Genera los stubs para Axis -->
   <target name="buildStub">
      <axis-wsdl2java output="${build.dir}" verbose="${verbose}" all="true" nowrapped="${nowrapped}" wraparrays="${wraparrays}" typemappingversion="${soapVersion}" url="${wsdl}" />
   </target>
 
</project>

Una vez que tengan el archivo listo, deben de importarlo a su ventana de ANT en eclipse, con eso solamente un doble click sobre el archivo y ANT generará automáticamente un wrapper del webservice que podrán utilizar como objeto. Específicamente este ejemplo indica la creación de una carpeta llamada “wsdl-wrapper” la cual contendrá todos los archivos generados por wsdl2java y para utilizarla como fuente en su desarrollo, simplemente hay que hacer click derecho sobre esta carpeta y seleccionar la opción “Build Path > Use as source folder”.

Y para mayor referencia pueden ver el siguiente enlace, que es la documentación oficial.

http://axis.apache.org/axis2/java/core/tools/CodegenToolReference.html

http://axis.apache.org/axis/java/reference.html

Happy Coding!!

Co-fundador de Qbit Mexhico, usuario de linux, Developer en tecnologías web.. Nicaragüense, centro en basketball, primer centro en rugby y pintor los fines de semana. Ortögrafo y ambientalista psicológico (de escritorio).. ese soy yo!

Si te ha servido compártelo y difunde nuestro blog..

Twitter LinkedIn Flickr YouTube 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *