Tema: WebService
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/09/2013, 10:14
jhonne25_64
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 11 años
Puntos: 3
Respuesta: WebService

Hola,
Yo también soy nuevo en este cuento de WS que por cierto es muy amplio y esto no se aprende de la noche a la mañana. Tienes que entender que cuando haces un WS necesitas tener claro que este va a depender del contenedor de aplicaciones, lenguaje, tecnologia, estilo, etc. Muchos Contenedores piden descriptores xml que declaren el WS pero por ejemplo te voy a dar un ejemplo muy sencillo de un WS. Para este yo utilizo JAX-WS 2.0, viene incluido en el JDK por lo que no necesitas librerías externas. La clase principal es esta:
Código Java:
Ver original
  1. package com.test;
  2.  
  3. import javax.jws.*;
  4. import javax.jws.soap.SOAPBinding;
  5. import javax.ejb.Stateless;
  6.  
  7. @Stateless(name = "ServiceTest")
  8. @WebService(name = "WSServiceTest", targetNamespace = "http://test.com")
  9. @SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.ENCODED)
  10. public class ServiceBean {
  11.  
  12.     @WebMethod
  13.     public void onMessage(@WebParam(name = "string", partName = "string") String msg) {
  14.         System.out.println("Msg = " + msg);
  15.     }
  16.  
  17.     @WebMethod
  18.     public void onEvent(@WebParam(name = "string", partName = "string") String event) {
  19.         System.out.println("Event = " + event);
  20.     }
  21. }
Aunque no me lo creas es todo lo que necesitas para crear un webservices . Las anotaciones EJB evitan de incluir archivos xml y esta es la estructura del EAR:

ws-test.ear
--lib
--META-INF
----application.xml
----MANIFEST.MF
--ejb.jar
----com.test.ServiceBean
----META-INF

Como ves no tengo nada en lib. Pues en el caso de Weblogic este contenedor ya cuenta con las librerias por lo que no necesito empaquetar ninguna. Otra cosa es que al crear el ear obviamente hay que compilar, pues hay si tienes que descargar o referenciar las librerias que tiene tu contenedor en alguna carpeta lib pero es solo para compilar y no necesitan ser empaquetadas. Yo esto lo cree en eclipse pero no importa en que IDE lo utilices, es solo crear un proyecto EAR que contenga un EJB.
Te doy esta opcion pero la de chuidiang tambien es muy facil y la diferencia que yo veo es que este va a quedar en un WAR. Creo que la tecnologia es JAX-RPC anterior a la JAX-WS, esto no lo tengo claro, porque como te digo tambien soy nuevo, pero este ejemplo te puede ayudar, Saludos

Última edición por jhonne25_64; 20/09/2013 a las 13:40