4/9 curso jee5, soa, web services, esb y xml

Post on 14-Jun-2015

2.235 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Curso JEE5, Soa, Web Services, ESB y XML

TRANSCRIPT

INTRODUCCIÓN A LOS WEBSERVICES

» Prácticas

Prácticas

• Contenido− ¿Qué es Axis?. Axis Services Vs JEE5 Services

• Creación de un web service calculadora con Axis (modo JWS)

• Creación de un web service calculadora mediante herramientas JEE5

− Más sobre axis: Implementación de un servicio mediante un WSDD

Prácticas

• AXIS− Apache Axis es una implementación de SOAP− Con axis, es muy sencillo crear y usar un Web Service. Hasta que apareció

JEE5, era una opción bastante buena para muchas organizaciones para construir sus Web Services.

− La versión que usaremos es la más reciente, la 1.4• NO ES CIERTO: la más reciente, es AXIS2; pero el desarrollo no es aún lo

suficientemente maduro, y además se trata de una implementación de WS distinta.

• AXIS Web Services VS JEE5 Web Services− Axis es un “añadido” innecesario para construir Web Services si nuestra

plataforma es JEE5− Sin embargo es muy útil conocerlo, ya que podemos implantarlo fácilmente

en nuestros entornos J2EE (por ejemplo, con Tomcat).− Los Web Services en JEE5 se construyen con JAX-WS. En AXIS se

construyen con JAX-RPC.

**

Prácticas

• Preparando el entorno (I)− Instalación del JRE

− Instalación SDK+App. Server

− Instalación de netbeans

− Crear directorio c:\temp y c:\cursosoa

− Cambiar variable entorno TMP a %SystemRoot%\TEMP o al valor c:\temp

− Cambiar el valor de la variable de usuario TMP a c:\temp

• Sirve para evitar un bug de Application Server y glassfish

− Copiar el script setenv.bat a c:\windows

− Añadir al path estos directorios:

• App-server-install-dir\bin

• App-server-install-dir\lib\ant\bin

Prácticas

• Preparando el entorno (II)− Comprobar si tenemos instalado notepad2. Notepad2 es un

editor sencillo con reconocimiento de sintaxis.

− Comprobar si tenemos instalado console. Console es una ventana de comandos con un buffer mayor que el cmd de windows y con unas fuentes más atractivas.

• Una de las mejores características que tiene es la de poder marcar texto mediante el botón de shift+click_izquierdo. El menú copy/paste es ahora contextual.

• Tambien ocurre que si tenemos texto en el portapapeles, podemos pegarlo con click_derecho sobre la ventana.

• Eliminaremos la transparencia comentando la línea transparency del archivo c:\windows\console.xml (<!– transparency…. -->).

Prácticas

• Preparando el entorno (III)− Descargarmos de la máquina jcrubio.cica.es el archivo:

• OPCIONAL-axis-bin-1_4.zip

− Lo copiamos a c:\temp y descomprimimos.

− Entramos a la carpeta axis-1_4\webapps\axis\WEB-INF.

− Editamos con notepad el archivo web.xml

• Comprobamos que los saltos de carro no son correctamente interpretados.

− Editamos con notepad2 web.xml

− Eliminamos el comentario a la línea que nos permite habilitar el AdminServlet. Salvamos

− Vamos a axis-1_4\webapps\axis

− Ejecutamos jar –cvf axis.war *

Prácticas

• Preparando el entorno (IV)− Ejecutamos asadmin deploy axis.war− Si no tenenos arrancado el servidor, fallará.− Comprobaremos los domains instalados y en ejecución con el

comando:• Asadmin list-domains

− Arrancar/Detener el servicio• Asadmin start-domain domain1 (como sólo un dominio, es opcional)• Asadmin stop-domain domain1

− Arrancamos el servicio con el comando start-domain.− Volvemos a intentar asadmin deploy axis.war .

• Usuario admin: admin• Password: curso.curso

Prácticas

• Preparando el entorno (V)− Comprobamos que se ha desplegado la aplicación con un navegador

http://localhost:8080/axis

− Ahora iniciamos la consola de administración (Programas, Sun Microsystems, Admin Console)

− Nos logamos con admin/curso.curso

− EN el panel de la izquierda, en Applications, pinchamos en webapplications, y en el panel de la derecha, seleccionamos axis y pulsamos undeploy.

− Logout

− Comprobamos con el navegador que la aplicación ya no es accesible.

− Con el servidor iniciado, abrimos un console y tomamos axis.war y lo copiamos al directorio:

• App-server-install-dir\domains\domain1\autodeploy

Prácticas

• Preparando el entorno (VI)− Comprobamos que axis también se ha desplegado.− El autodeploy es por tanto también una forma rápida y cómo

de desplegar aplicaciones en nuestro Application Server.

− Por último…− Copiamos el archivo 03-librerias externas en netb-ide7-

modules-ext.zip a un directorio temporal y extraemos su contenido.

− Copiamos todas las librerías que aparezcan a:• Netbeans-install-dir\\Sun\netbeans-5.5beta\ide7\modules\ext

• ¡TODO LISTO!

Prácticas

Preparando el entorno en un sistema LINUX− Copiamos el archivo siguiente en nuestra máquina guadalinex:

• axis-bin-1_4.zip

− Una vez en /home/guadalinex, lo copiamos a /tmp y descomprimimos con unzip.

− Entramos a la carpetacd axis-1_4/webapps/axis/WEB-INF

− Editamos con gvim –y el archivo web.xml

− Eliminamos el comentariopara habilitar el Admin Servlet. Salvamos

− Vamos a axis-1_4/webapps/axis

− Ejecutamos:cp WEB-INF/classes/SOAP*.class .

− Ejecutamos jar –cvf axis.war *

OJO con el PUNTO

Prácticas

• Preparando el entorno en un sistema LINUX (II)− Ejecutamos asadmin deploy axis.war

− Si no tenenos arrancado el servidor, fallará.

− Comprobaremos los domains instalados y en ejecución con el comando:

• asadmin list-domains

− Arrancar/Detener el servicio

• asadmin start-domain domain1 (como sólo un dominio, es opcional)

• asadmin stop-domain domain1

− Arrancamos el servicio con el comando start-domain.

− Volvemos a intentar asadmin deploy axis.war .

• Usuario admin: admin

• Password: curso.curso

Prácticas

• Preparando el entorno en un sistema LINUX(III)− Comprobamos que se ha desplegado la aplicación con un navegador

http://localhost:8080/axis

− Ahora iniciamos la consola de administración (abrimos un navegador y tecleamos la URL: http://localhost:4848)

− Nos logamos con admin/curso.curso− En el panel de la izquierda, en Applications, pinchamos en web

applications, y en el panel de la derecha, comprobamos que se encuentra la aplicación axis.

− Logout− Si con el servidor iniciado, hubiésemos tomado el archivo axis.war y lo

hubiésemos copiamos al directorio:• App-server-install-dir/domains/domain1/autodeploy

• También se habría desplegado y aparecería en la consola de administración.

Prácticas

• Preparando el entorno en un sistema LINUX(IV)− El autodeploy es por tanto también una forma rápida y cómo

de desplegar aplicaciones en nuestro Application Server.

− Copiamos el archivo lib-ext-netb-ide7-modules-ext.zip a nuestra máquina guadalinex, y lo copiamos desde /home/guadalinex a /tmp. Ahí, extraemos su contenido con unzip.

− Copiamos todas las librerías CON sudo que aparezcan a:• /opt/netbean-5.5/ide7/modules/ext

Creación de un web service calculadora con Axis (modo JWS)

Prácticas

• Una vez instalado AXIS, ya podemos también construir Web Services mediante él.

• Otro camino para arrancar el servidor es mediante el PROGRAMAS->Sun->App.->Start Default Server, y luego arrancamos la Admin Console del ApplicationServer. Nos autenticamos con admin/curso.curso

• El path de despliegue de la aplicación axis.war será:• AppServer-install-dir\domains\domain1\applications\j2ee-modules\axis

• Será el directorio donde crearemos los JWS.

Práctica

• Debemos encontrarnos con lo siguiente:

Prácticas

• Ahora abrimos el archivo Calculadora.jws del directorio de prácticas. Debe contener algo como esto:

/*** Servicio Web que realiza las operaciones Suma, * Resta, Multiplicación y División de dos números* @author JC*/public class Calculadora {

public int suma(int x, int y) {return x + y;}

public int resta(int x, int y) {return x-y;}

public int multiplica(int x, int y) {return x * y;}

public int divide(int x, int y) {return x / y;}

}

Prácticas

• Cerramos el archivo, y con el server arrancado, y la aplicación axis desplegada, copiamos ese archivo al directorio:

AppServer-install-dir\domains\domain1\applications\j2ee-modules\axis

• Comprobamos ahora si ha generado un web serviceasí:

http://localhost:8080/axis/Calculadora.jws

• Debemos obtener como respuesta esto:

Prácticas

• Una vez que sabemos que axis funciona correctamente, usaremos el Web Service Calculadora proporcionado por axis, construido sobre un archivo JWS.− Crearemos un proyecto de tipo “Web”.

− Le daremos como nombre de proyecto 01CalculadoraJws

− Una vez creado, en la zona de librerías, añadiremos los siguientes .jar de la carpeta ext:

• axis.jar

• jaxrpc.jar

• commons-discovery-0.2.jar

• commons-logging-1.0.4.jar

• wsdl4j-1.5.1.jar

Prácticas

• De este modo:

Prácticas

• Ahora crearemos un servlet, que llamaremos resultados. El código fuente de este servlet, lo podemos extraer del directorio de prácticas: base-resultados.txt. Arreglamos los errores que marque Netbeans y salvamos.

• El index.jsp lo podemos extraer del directorio de prácticas; básicamente contiene un formulario que permite introducir dos argumentos para el cálculo que queramos hacer con la calculadora.

Prácticas

• Probamos el código con un Run de nuestro proyecto:

Creación de un web service calculadora mediante herramientas JEE5

Prácticas

• Ahora vamos a crear un proyecto del mismo webservice que hemos implementado en AXIS, pero con la tecnología JEE5.

• Para ello, arrancamos netbeans, y creamos un nuevo proyecto. En el asistente, elegimos la opción de un proyecto tipo Web.

• Elegimos el nombre: 01CalculadoraJEE5

Prácticas

• Ahora creamos un web service mediante los menús, pulsando botón derecho en el proyecto, New File, Web Services, Web Service.

• Lo llamaremos “calculadora”, y en el nombre del paquete le daremos calculadoraJEE5.

• El asistente creará un archivo .java en la carpeta “Web Services”. Editamos el código de ejemplo que nos ha dejado Netbeans, y lo rellenamos con el archivo base-Calculadora.txt. Arreglar lo que netbeans marque con flags de error.

Prácticas

• Este proyecto tiene un index.jsp cuyo código dejaremos así:<%String URLRedireccion = "/01CalculadoraJEE5/calculadoraService?WSDL";response.sendRedirect(URLRedireccion);%>

• Hacemos un Clean and Build y un RUN del proyecto.

• El navegador se dirigirá hacia:• http://localhost:8080/01CalculadoraJEE5/calculadoraService?WSDL

• Ahora que ya tenemos nuestro Web Service Calculadora, debemos crear un cliente para probar el funcionamiento.

• Observamos que el web service JEE5 lleva el sufijo “Service”.

Prácticas

• Creamos un nuevo proyecto, de tipo Web, con el nombre 01CalculadoraJEE5Client .

• El index.jsp del proyecto, lo dejamos idéntico al index.jsp del proyecto 01CalculadoraJws.

• Creamos un Servlet llamado resultados, y en el nombre del paquete, establecemos calculadoraJEE5Client .

• Luego, pinchamos en nuestro proyecto, pulsamos botón derecho del ratón, New File, y en el asistente, elegimos Web Services, y en el panel derecho, elegimos Web Service Client.

Prácticas

• En la ventana siguiente, podemos elegir entre buscar el Web Service entre uno de nuestros proyectos o bien a través de la opción WSDL URL.

• Si elegimos Project, basta navegar hacia 01CalculadoraJEE5 y seleccionar nuestro web service. Si elegimos WSDL URL,debemos especificar esta URL:

• http://localhost:8080/01CalculadoraJEE5/calculadoraService?WSDL

• Como nombre de paquete, elegimos calculadorajee5client

• Una vez que ya tenemos el web service referenciado en nuestro proyecto, podemos usar una característica de Netbeans de escritura automática de código.

Práctica

• Seleccionamos nuestro proyecto y creamos un nuevo Servlet, y lo llamaremos “resultados”; también en el paquete calculadorajee5client.

• En la ventana de código, tenemos que irnos al método processRequest . En una línea vacía de la ventana de Editor, dentro de este método, pulsamos botón derecho del ratón y elegimos Web Service Client Resources, y dentro de este menú, Call Web Service Operation.

• Seleccionamos el Web Service que tenemos referenciado y elegimos la operación suma.

• Las sentencias para capturar los parámetros del formulario que usará el Web Service en nuestras operaciones son:Integer arg0 = Integer.parseInt(request.getParameter("arg0"));Integer arg1 = Integer.parseInt(request.getParameter("arg1"));

Práctica

• Si dejamos el código tal como lo presenta el asistente, podemos obtener al final este aspecto en nuestroproyecto, una vez desplegado y ejecutándose:

Más sobre axis: Implementación de un servicio mediante un WSDD

Prácticas

• Lo primero que tenemos que hacer es asegurarnos de que tenemos disponible el archivo setenv.bat en una ubicación dentro del PATH.

• Luego abrimos un “console”, y nos dirigimos hacia:AppServer-Install-dir\domains\domain1\applications\j2ee-modules\axis

• En este path, ejecutamos:copy Calculadora.jws WEB-INF\classes\Calculadora.java

• Acto seguido, ejecutamos cd WEB-INF\classes

• Y por último “javac Calculadora.java”

Prácticas

• El fichero batch “setenv” crea unas variables de entorno para que podamos usar el AdminService de axis, que sirve para dar de alta Web Services compilados y que aparecen en la lista inicial list junto con sus métodos.

• Para poder usar el AdminService, es necesario crear en este mismo directorio un fichero Calculadora.wsdd

• El fichero Calculadora.wsdd puede copiarse del directorio de prácticas.

Prácticas

• Calculadora.wsdd:<deployment

xmlns="http://xml.apache.org/axis/wsdd/"xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"><!--Definimos el servicio Web a activar:

Nombre y tipo de Servicio Web. RPC: Llamadas a procedimientos remotos con ejecucion sincrona

--> <service name="CalculadoraWS" provider="java:RPC">

<!-- Nombre de la clase que implementa los metodos expuestos --><parameter name="className" value="Calculadora"/> <!-- Expone todos los metodos como visibles desde el exterior --><parameter name="allowedMethods" value="*"/>

</service></deployment>

WEB SERVICES

• También creamos un archivo que se llame “undeploy-calculadora-ws.wsdd”. Servirá si tenemos que dar de baja el web service:

<undeployment xmlns="http://xml.apache.org/axis/wsdd/">

<service name="CalculadoraWS"/>

</undeployment>

Prácticas

• Es muy importante que en fichero wsdd no exista ningún carácter acentuado.

• Si existe algún carácter acentuado incluso en la zona de comentarios, el AdminService generará un error.

Ahora, para usar el AdminService:− Iniciamos el servidor donde esté axis− setenv− java

org.apache.axis.client.AdminClient-lhttp://localhost:8080/axis/services/AdminServiceCalculadora.wsdd

Prácticas

• Captura de pantalla de la ejecución:

Prácticas

• Si todo ha ido bien, podremos ver algo como esto:

Prácticas

• Llegados a este punto, el fichero Calculadora.javapodría eliminarse de ese directorio, si quisiéramos.

• Es importante destacar que AdminService ha añadido la terminación WS al web service, porque así lo hemos especificado en el WSDD. Podríamos haber añadido el sufijo “Service”, como en los WS de JEE5. Ahora para acceder al wsdl la URL es:− http://localhost:8080/axis/services/CalculadoraWS?wsdl

• Los web services JEE5 tienen una URL terminada en service− http://localhost:8080/01CalculadoraJEE5/calculadoraService?WSDL

Prácticas

• ¿Podríamos haber creado el WS sin tener el servidor de aplicaciones levantado, o el admin servlet habilitado?

• Sí; de este modo:− setenv

− java org.apache.axis.transport.http.SimpleAxisServer -p 8080

− Java org.apache.axis.client.AdminClient-p 8080 Calculadora.wsdd

.. .. .. .. .. .. .. .. ..

Processing file Calculadora.wsdd

<Admin>Done processing</Admin>

• Y ya tendríamos el Web Service Calculadora Disponible.

Prácticas

• Para detener el SimpleAxisServer, ejecutamos:− java org.apache.axis.client.AdminClient -p 8080 quit

− <Admin> quitting.</Admin>

• Obtendré del sistema lo siguiente:− Administration service requested to quit, quitting.

− SimpleAxisServer quitting.

− SimpleAxisServer quitting.

EJERCICIO: Utilizar WSDL2Java para crear un clientes standalone

PRÁCTICAS

• Abrimos un “console”

• Creamos una carpeta en el temporal:− Mkdir c:\temp\carpeta− Cd c:\temp\carpeta

• Levantamos el servidor

• Por últimos, una vez el servidor arriba, ejecutamos lo siguiente:

− Setenv

− wget http://localhost:8080/axis/services/CalculadoraWS?wsdl -O CalculadoraWS.wsdl

• NOTA: disponemos de wget gracias a unxutils.

Prácticas

• Ahora ejecutamos:wget http://localhost:8080/axis/services/CalculadoraWS?wsdl -O CalculadoraWS.wsdl

• Eso nos descargará el archivo CalculadoraWS.wsdl

• Con él, usaremos una herramienta que creará los stubso plantillas java para usar el web service.

• Usándolas, nos quedará un código mucho más legible.

Prácticas

• Generamos la implementación de los stubs del Web Service, ejecutando:java org.apache.axis.wsdl.WSDL2Java CalculadoraWS.wsdl

• Comprobamos que debe existir ahora esta estructura:ls ./localhost/axis/services/CalculadoraWS/Calculadora*

• Ya tenemos lo necesario para usarlo con un cliente.

./localhost/axis/services/CalculadoraWS/Calculadora.java

./localhost/axis/services/CalculadoraWS/CalculadoraService.java

./localhost/axis/services/CalculadoraWS/CalculadoraServiceLocator.java

./localhost/axis/services/CalculadoraWS/CalculadoraWSSoapBindingStub.java

Prácticas

• Código del cliente más legible (“CalculadoraClient2.java”) quepodemos crear (seguimos en el directorio c:\temp\carpeta):

import localhost.axis.services.CalculadoraWS.*;/*** Prueba el Web Service* @author JC*/public class CalculadoraClient2 {

public static void main(String[] args) {localhost.axis.services.CalculadoraWS.CalculadoraServiceLocator locator;localhost.axis.services.CalculadoraWS.Calculadora calc;try {

locator = new CalculadoraServiceLocator();calc = locator.getCalculadoraWS();System.out.println(calc.suma(6, 2));System.out.println(calc.resta(3, 2));System.out.println(calc.multiplica(9, 2));System.out.println(calc.divide(100, 4));

} catch (Exception ex){System.out.println(ex);

}}

}

Prácticas

• Compilamos el cliente con el comando:javac CalculadoraClient2.java

• Lo ejecutamos con:java CalculadoraClient2

• Obtenemos:811825

• Si movemos el binario a otra ubicación, fallará al no encontrar la vía que empieza por localhost.

• Tendríamos que arrastrarla carpeta localhost juntocon el CalculadoraClient2.class

• Vamos a programarlo sin usar los stubs que crea la utilidad WSDL2Java.

Prácticas

• Código de CalculadoraClient3.java /* import org.apache.axis.client.Call;import org.apache.axis.client.Service;import org.apache.axis.encoding.XMLType;import javax.xml.rpc.ParameterMode;/*** Prueba el Web Service 2* @author JC*/public class CalculadoraClient3 {

public static void main(String [] args) throws Exception {String endpoint = "http://localhost:8080/axis/services/CalculadoraWS";Integer op1 = new Integer(100);Integer op2 = new Integer(200);Service service = new Service();Call call = (Call) service.createCall();// Establecemos la dirección en la que está activado el WebServicecall.setTargetEndpointAddress( new java.net.URL(endpoint) );// Establecemos el nombre del método a invocarcall.setOperationName( "multiplica" );// Establecemos los parámetros que necesita el método// Observe que se deben especificar correctamente tanto el nómbre// como el tipo de datos..// esta información se puede obtener viendo el WSDL del servicio Webcall.addParameter( "in0", XMLType.XSD_INT, ParameterMode.IN );call.addParameter( "in1", XMLType.XSD_INT, ParameterMode.IN );call.setReturnType( XMLType.XSD_INT );Integer result = (Integer) call.invoke( new Object [] { op1, op2 });System.out.println("El resultado de la multiplicacion es: " + result);}

}

=> Esta aplicación es mucho más engorrosa de usar.

EJERCICIO: Crear un proyecto netbeanscon el código fuente de CalculadoraClient2

Prácticas

• Se pide:− Crear un proyecto 01CalculadoraClient2, que realice la misma

función que CalculadoraClient2.

• NOTAS− Tenemos que tener en cuenta que WSDL2Java genera un

paquete con fuentes que necesitamos.

− Este proyecto, necesita las siguientes librerías:

EJERCICIO: Crear aplicaciones web que sean clientes de nuestros Web Services

Prácticas

• Como ejercicio, debemos crear un cliente de web service. CalculadoraWS. Tendremos de nuevo que añadir a mano las librerías externas como en el proyecto cliente JWS.

• Creamos un proyecto llamado: 01CalculadoraWsdd, de tipo Web.

• Creamos un servlet resultados, y en el nombre del paquete, le ponemos: calculadoraWsdd

• Copiamos todo el trozo de código del servlet del proyecto 01CalculadoraJws, sin copiar la línea “package”.

• Cambiamos la línea:miLlamada.setTargetEndpointAddress(new URL("http://localhost:8080/axis/Calculadora.jws"));

• Por la línea:miLlamada.setTargetEndpointAddress(new URL("http://localhost:8080/axis/services/CalculadoraWS "));

Prácticas

• Lo ejecutamos, y debemos ver algo como esto:

PRÁCTICAS REPASO

Práctica repaso 1

Práctica repaso 1

− Construir un web service que tome dos argumentos; sean A y B. − El WS debe devolver el resultado de la siguiente operación:

• A*B+2*(A+B) -1

− Lo construiremos:• Mediante un JWS, con su cliente• Mediante una clase Java, con su WSDD y su cliente• Mediante JEE5, con un WS (@webservice) y su cliente.

− PERO: nuestros clientes atacarán al web service del compañero de al lado. Los nombres de ficheros/proyectos y métodos:

• El método que ofrecerá el cálculo A*B+2*(A+B) -1 se llamará calculo.• El index.jsp con el formulario que captura los dos argumentos será el habitual.• El JWS que implemente el WS se llamará: pfinal1.jws• El PROYECTO que actúa como cliente de pfinal.jws se llamará pfinal1JwsClient

• El PROYECTO que actúa como cliente del servicio implementado con WSDD se llamarápfinal1WSDDClient. El WSDD llevará como service name pfinalWS1

• El PROYECTO JEE5 que implemente el Web Service se llamará pfinal1JEE5WService, el servicio se llamará pfinal1

• El PROYECTO cliente del Web Service se llamará pfinal1JEE5Client.− OJO CON LOS SUFIJOS EN EL DESPLIEGUE DE SERVICIOS.

Práctica repaso 2

Práctica repaso 2

• Construiremos ahora dos web services:− Uno llamado pfinal2a, que realice la operación A*3+B*4

− Uno llamado pfinal2b, que realice la operación A+3+B-2

− Los construiremos de tipo AXIS/WSDD y JEE5

− Los WSDD’s llevarán como service name pfinal2aWS y pfinal2bWS

− El PROYECTO JEE5 que implemente el Web Service se llamarápfinal2ajee5 y pfinal2bjee5 , los servicios se llamarán pfinal2a y pfinal2b

• Y ADEMÁS: − Los clientes, harán lo siguiente:

• Harán la llamada a TODOS los web services de todos los alumnos, y sumarán el resultado que produzcan cada uno de ellos.

• Construiremos los clientes tanto para pfinal2a como para pfinal2b

EJERCICIO: Aprendemos a usar la herramienta “Web Services Explorer” que

viene incorporada en Eclipse WTP

WEB SERVICES

• En nuestra máquina linux, tenemosun proyecto funcionando con Web Services, pero nuestro IDE es capaz de hacer más cosas. Algunas de ellas muy útiles en cuanto a depuración: Web Services Explorer

• Dentro de la carpeta src/WEB-INF, creamos una nueva carpeta que se llame “wsdl”. La vía completa serápues: src/WEB-INF/wsdl

• Seleccionamos esa carpeta, y pulsamos “File->Import->File System”

WEB SERVICES

Seleccionamos el WSDL de nuestra calculadora:

WEB SERVICES

• Si todo ha ido correctamente, debemos tener en el Package Explorer una imagen como la de la figura.

• Si hacemos doble click sobre el nombre del archivo que hemos importado, se abrirá una vista en diseño muy útil y clarificadora.

WEB SERVICES

WEB SERVICES

• Para lo siguiente que vamos a hacer, necesitamos arrancar JBOSS (por ejemplo, desde Eclipse, mediante la configuración de debugging que hemos creado).

• Ahora nos aseguramos de seleccionar CalculadoraWS.wsdl, y pulsamos:click-dcho->Web Services->Test with Web Services

Explorer

• Se abrirá una ventana de navegador con una aplicación web como la de la figura siguiente.

WEB SERVICES

• ¿Cómo puedo buscar en un repositorio UDDI?

WEB SERVICES

WEB SERVICES

• ¿Y los repositorios UDDI para publicar o buscar?

FIN

top related