miércoles, 21 de abril de 2010

Usar Web Service con Jetty y Maven

El ambiente que estoy usando es JDK1.6, Maven 2.2.1, Eclipse(Galileo), Netbeans(6.1, para probar el cliente) y Ubuntu 9.10
Primeramente abrimos Eclipse,

Damos click en File/New/Other/Maven/Maven Project

Nota: Si no tenemos integrado Maven con Eclipse, tenemos que instalarlo en Eclipse, con el siguiente URL http://m2eclipse.sonatype.org/sites/m2e

Damos click en la pantall que aparece por default y en la siguiente pantalla bajo catalogo seleccionamos Nexus Indexer y como filtro cxf. Luego de esto en el listado, seleccionamos org.apache.cxf. archetype y damos click en next





En la siguiente pantalla ingresamos:
Group Id:com.example
Artifact Id:pruebajetty
Version:0.0.1-SNAPSHOT
Package:com.example.pruebajetty
y damos click en Finish




Luego de esto abrimos el pom.xml del proyecto y dentro del elemento plugins agregamos
...
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.22</version>
<configuration>
<contextPath>/</contextPath>
<!-- Para usar un puerto diferente <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>9090</port> </connector> </connectors>-->
</configuration>
</plugin>


Una vez hecho esto, abrimos un terminal
Vamos al proyecto para mi caso ~/workspace/pruebajetty
y ejecutamos mvn org.mortbay.jetty:maven-jetty-plugin:run
Con esto levantamos el servidor Jetty desde Maven




Si vamos a :
http://localhost:8080/
Encontraremos el link /pruebajetty ---> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@13d422d{/pruebajetty,/home/santiago/workspace/pruebajetty/src/main/webapp}

Si damos click:
Nos saldrá un link al WSDL, con información de la funcion de la clase Example

HelloWorld
  • sayHi
Endpoint address: http://localhost:8080/pruebajetty/HelloWorld
WSDL : {http://pruebajetty.example.com/}HelloWorldImplService
Target namespace: http://pruebajetty.example.com/




Ahora, vamos a crear un cliente, desde Netbeans(también podriamos probarlo por medio de SOAP UI)

Abrimos Netbeans:
Creamos un nuevo Java Project



Agregamos un nuevo Web Service Client
Seleccionamos WSDL ingresamos:http://localhost:8080/pruebajetty/HelloWorld?wsdl y damos click en Finish.

Luego en el main damos click boton derecho seleccionamos web service client resources/call web service operation y seleccionamos sayHi, del proyecto TestClient.




Cambiamos java.lang.String arg0 = ""; por java.lang.String arg0 = "Santiago"; y ejecutamos esta clase

Finalmente obtenemos la salida:
Result = Hello Santiago






No hay comentarios:

Publicar un comentario