Inicio Programacion Java Crear, Instalar y Publicar un Web Services con Axis

Crear, Instalar y Publicar un Web Services con Axis

Usar puntuación: / 0
MaloBueno 
Tweeteame!
Programación - Java
Escrito por AT   
Domingo, 08 de Junio de 2008 23:19

 

Instalación de un Web Services en Axis con Tomcat.

 

 

 

Estimados, a continuación les detallo como instalar un WebServices en un servidor con Tomcat + Axis, que clases se necesitarán y como codificarlas. Por suerte el paquete de Axis (al menos en la version 1.4 que es la que utilicé) vienen varias herramientas que simplifican la tarea de instalación y publicación de dicho WebService.

 

Despliegue:

(existen 2 formas de instalar un WS)

 

-1) JWS (rápida)---> No se utiliza para producción.

- Desventajas: No se pueden utilizar packages y no se ve desde afuera

-2) WSDD (Recomendado para producción)

 

Instalación

 

1) En la forma rápida simplemente se copia la clase (extensión java) al directorio del axis, se renombra con extensión .jws y se abre mediante el explorador de Internet. Se muestra una página pidiendo que se instale y queda pronto. La desventaja como aclaro en el despliegue es que no queda publicado en el UDDI para que se pueda acceder desde afuera, sino que solamente el que conozca su URL podrá acceder a él. Obsérvese que no se crea ni un WSDL ni un WSDD, simplemente se utiliza la clase tal cual está codificada. Recordar que NO se pueden utilizar packages.

 

2) En la forma mediante el wsdd (deploy) se tienen que seguir varios pasos que detallo a continuación:

 

 

- Crear interfaz Java con el servicio, en este paso inicial se debe codificar una interfaz.

En nuestro ejemplo se verá de la siguiente manera:

import java.rmi.*;

 

public interface Practica extends Remote

{

public String getPrecio(String codigo) throws RemoteException;

}

 

 

- Compilar la interfaz

- Generar WSDL, para esto contamos con una de las herramientas que viene el Axis y es la Java2WSDL, teniendo simplemente la Interfaz ya es suficiente.

 

java -cp .;%AXISCLASSPATH% org.apache.axis.wsdl.Java2WSDL -o practico.wsdl -l http://localhost:8080/axis/services/Practico -n http://uy/inter/Practico -p"Practico" "http://uy/inter/Practico" Practica

 

- Codificar servicio, para esto contamos con otra de las herramientas de Axis: WSDL2Java,

 

java -cp .;%AXISCLASSPATH% org.apache.axis.wsdl.WSDL2Java Practica.wsdl

este comando me genera 4 javas en el path especificado (namespace)

- Practica.java

- PracticaService.java

- PracticaServiceLocator.java

- PracticaSoapBindingStub.java

 

- Compilar

- Crear WSDD para el deploy, como es de esperarse Axis nos provee de una herramienta para ello, la misma es la misma que para crear las clases clientes pero se utiliza el parámetro –server-side,

 

java -cp .;%AXISCLASSPATH% org.apache.axis.wsdl.WSDL2Java --server-side Practica.wsdl

me genera el skeleton y el deploy:

- deploy.wsdd

- undeploy.wsdd

- PracticaSoapBindingImpl.java

en PracticaSoapBindingImpl modificamos el return en la función que se implementa para dar el servicio que deseamos.

 

- Instalar el servicio

En la carpeta de Apache creamos la siguiente carpeta %TOMCAT_HOME%\webapps\axis\WEB-INF\classes\uy\inter\Practica (es el mismo path del package) y copiamos los .class de Practica y PracticaSoapBindingImpl. De esta manera instalamos las clases necesarias para

 

- Para publicar el WS nos ubicamos en la carpeta carpeta contenedora y corremos la herramienta AdminClient que nos sirve para dicha empresa:

 

java -cp .;%AXISCLASSPATH% org.apache.axis.client.AdminClient uy\inter\Practica\deploy.wsdd

 

- Crear Programa Cliente

Ya estamos listos para crear el cliente que en nuestro ejemplo se verá algo así:

 

package uy.inter.Practica;

 

public class Cliente {

 

public static void main (String args[]) {

try{

PracticaServiceLocator locator = new PracticaServiceLocator();

Practica practica = locator.getPractica();

// pasamos por parámetro el código del artículo para obtener su precio.

practica.getPrecio(args[0]);

}

catch(Exception e){

e.printStackTrace();

}

}

}

 

 

 

*******************************************************************

Herramientas que se instalan con AXIS.

- TCPMonitor (Monitorea mensajes SOAP, similar a un proxy)

- AdminClient (Publica WS a partir de WSDD)

- Java2WSDL (genera WSDL a partir de la interfaz del servicio)

- WSDL2Java (genera código para consumo del servicio)

*******************************************************************

 

Bueno espero que les haya sido de utilidad y a prepararnos para esta tecnología muy utilizada en estos días que corren.

 

Enjoy it!!

 

AT.


rssfeed Siguenos con tu lector de noticias preferido.
Si te ha gustado este artículo y si crees que lo que está escrito vale la pena compartirlo, entonces compártelo con la comunidad que prefieras mediante los links que están debajo. Gracias por visitarnos.
Email Drucken Favoriten Twitter Facebook Myspace Stumbleupon Digg MR. Wong Technorati aol blogger google reddit YahooWebSzenario
Última actualización el Jueves, 18 de Diciembre de 2008 22:03
 

Escribir un comentario


Código de seguridad
Refescar

follow me twitter

Anuncios

Enlaces
Joomla!
Joomla! El mas popular CMS del mundo!!, es gratis y extensible.

Hosting Positivo Networks


Hosting y Diseño Web Profesional

Items relacionados