Tecnologías de la Sociedad de la Información

Servicios y Tecnologías que aportan valor añadido a la Sociedad de la Información

Artículos por jaxws

Para ahorrar tiempo a todos los que van a crear un servicio web teniendo que conectar desde un cliente en PHP que no utiliza el WSDL. Como no se utiliza el WSDL del servidor, la estructura de la comunicación SOAP la establece el cliente, en este caso el cliente en PHP.

El problema radica en varios puntos:

  1. Saber cual es el location del servicio y el uri para pasarlo como parametros a la clase de PHP
  2. Saber como es la estructura del mensaje SOAP del cliente PHP y aplicarla al wsdl para definir los tipos

continua leyendo…

Ha pasado mucho tiempo desde el último post que escribí, pero realmente han sido unos meses duros. Ha habido cambio de ciudad y cambios profesionales, y no he tenido el tiempo suficiente como para sentarme a volver a escribir en el blog. Ya os adelanto que los cambios profesionales desembocarán en nuevos y (espero) interesantes tutoriales. En el proyecto en el que me encuentro, estamos utilizando seam, lucene, EJB3, JSF… en fin, mucho sobre lo que escribir. Pero de momento me centraré en cerrar el círculo que había quedado pendiente.

En este tutorial veremos como crear un web service a partir de un wsdl, y en el próximo (y último antes de cambiar de tema) veremos como crear un cliente a partir de un web service dado.

Como reza la entrada del post, utilizaremos JAXWS para crear nuestro WS de ejemplo. Vamos a ello, viendo los pasos que tendremos que realizar:

continua leyendo…

Hola de nuevo a todos. Proseguimos con la serie de tutoriales sobre Web Services, y en esta ocasión veremos como crear un web service con JAXWS a partir de un POJO. En nuestro ejemplo haremos un WS que simulará una aplicación de servicio meteorológico. Permitirá consultar la previsión del tiempo de una ciudad para los próximos cinco días, así como el tiempo para una fecha en concreto. Omitiremos la parte de consulta a base de datos, para centrarnos en la parte que nos interesa, que es el propio web service. Para el desarrollo de nuestro WS utilizaremos Eclipse y la versión 2.1.2 de JAXWS.

Los pasos que realizaremos para crear el WS serán:

  • Creación de la clase java
  • Ejecución del wsgen
  • Modificación del fichero web.xml
  • Creación del fichero sun-jaxws.xml
  • Creación del fichero de despliegue de la aplicación (war)

continua leyendo…

Volvemos de nuevo con los tutoriales sobre Web Services, y empezamos a centrarnos en JAXWS.

JAXWS es el API java para el desarrollo de WS XML, forma parte de la distribución J2EE de Sun y al igual que otras APIs utiliza las anotaciones para el despliegue de las aplicaciones.

continua leyendo…

Annotation @WebService (javax.jws.WebService)

La @WebService annotation se utiliza para especificar que la clase es un servicio web o que la interfaz define un servicio web. El Cuadro 2 enumera los parámetros que esta anotación puede aceptar.

Cuadro 2. @WebService Parámetros de anotación

Class
Name
Descripción
String
endpointInterface
El nombre completo de la interfaz de endpoint de servicio (SEI) que definen el servicio de contrato abstracto servicio web.
String
name
El servicio web de nombre.
String
portName
El servicio web de nombre del puerto.
String
serviceName
El servicio web de nombre de servicio.
String
targetNamespace
Si la @ WebService.targetNamespace anotación está en una SEI, el targetNamespacese se utiliza para el espacio de nombres del wsdl: portTypeXML y elementos asociados.
String
wsdlLocation
La ubicación de un archivo WSDL predefinidos que describe el servicio.

Annotation @WebMethod (javax.jws.WebMethod)

La @ WebMethod anotación personaliza un método que se expone como una operación de servicio Web. El método asociado debe ser pública. De lo contrario, recibirá un error. Además, los parámetros, el retorno de valor, y las excepciones del método asociado debe seguir las normas definidas en JAX-RPC 1.1 , la sección 5. Tenga en cuenta que el método no está obligada a lanzar una java.rmi.RemoteException. El Cuadro 3 muestra los parámetros para esta anotación.

Cuadro 3. @WebMethod Parámetros de anotación

Class or Type
Name
Descripción
String
action
La acción de esta operación.
boolean
exclude
Puede establecer este parámetro para verdaderomarcar rápidamente un método como no se expone como un método web. El valor predeterminado es falso.
String
operationName
Nombre de la wsdl:operation que coincidan con este método.

Otros útiles anotaciones con JAX-WS 2.0 le permiten personalizar aún más los parámetros y tipos devueltos se define en el archivo WSDL.