09 julio, 2021

Crear Web Service SOAP en eclipse usando JAX-WS/Apache CXF y Apache Tomcat

¡Buen días, coders! Hace unos días, un seguidor me envió una pregunta que quiero compartir con ustedes.

Pregunta de un seguidor:

Buenos días, estoy siguiendo un video tutorial para crear un servicio web soap en eclipse usando JAX-WS, he seguido todos los pasos pero tengo problemas ya que eclipse no reconoce las librerías que se usa en el video. He seguido todos los pasos al pie y nada. Te dejo el tutorial. https://youtu.be/N9yPGy2S3Bo y espero que me puedas ayudar.

Respuesta.

Es porque estás usando Apache Tomcat. Si usas Tomcat, primero se debe descargar las librerías de Apache CXF y luego configurarla al eclipse. Para ello, tienes que ir a Windows/Preferences/Web Service/ CXF 2.x/. Aquí debes añadir el framework de Apache CXF que debes descargarlo de aquí (http://cxf.apache.org/download.html) y descomprimirlo. Entonces, en la ventana de Preferencias de Web Services, se mostrará el Apache CXF agregado como una librería de entorno. Deberás marcarla para que el entorno este preparado para trabajar con JAX-WS. Después, tienes que proceder a agregar la librería a tu Dynamic Web Project, para ello, debes hacer clic derecho sobre la raíz del proyecto / Properties / Java Build Path y dirigirte en la pestaña “Libraries”. Aquí se debe presionar el botón “Add Library…” y seleccionar “CXF 2.x Runtime”, se debe confirmar que la versión de CXF sea la que hemos escogido, y por último, presionamos “Finish”. Con esto ya puedes proceder a crear tu interfaz y tu clase, y eclipse reconocerá los imports que realices. Una vez creado tu interfaz y tu clase que servirá como web service, lo que debes hacer ahora es crear el Web Service utilizando el asistente, para ello, debes ubicarte sobre la clase, le das clic derecho, te pones sobre la opción “Web Services” y finalmente, escoges la opción: “Create Web Service”. Tras escoger esta opción, aparecerá un “Wizard” o “Asistente para creación de Web Services. En esta ventana, es importante cambiar el link que referencia a “Web Service Runtime”, ya que normalmente aparece Apache Axis y nosotros estamos usando Apache CXF, entonces debes cambiar el motor de Web Services. Sigue lo pasos del wizard, él te guiará en la creación del web service; por ultimo, te pedirá iniciar el servidor de Apache Tomcat. En tu directorio de trabajo verás que se ha generado una carpeta con código autogenerado, y lo más importante dentro del WbContent el archivo WSDL que contiende la dirección del servicio. Yo estoy usando Apache Tomcat 9, con Widfly no es necesario realizar todo este proceso, basta con crear la interfaz y la clase que será el servicio y al ejecutar el servidor, este se encargará de crear el servicio (no generará ningún paquete ni clases dentro del proyecto). Lo único que se tendría que hacer en el servidor sería crear el usuario para poder entrar al administrador de consola y ver el proyecto deployado y encontrar el WSDL URL, aunque en la consola de eclipse te lo muestra. 

Saludos y espero que mi respuesta te ayude. Disculpa por NO adjuntar imágenes, talvez realice un post con los pasos a seguir, sin embargo, ahora estoy con poco tiempo. Saludos.

No hay comentarios, ¡cuéntame algo!

Me gustaría saber tu opinión. ¡Saludos!