Estoy tratando de migrar un servicio web basado en Jax-WS a JBoss como 7 pero la aplicación (desplegada como una guerra) no inicia el escucha en el arranque.Error listenerStart - JaxWS - JBoss as 7
ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-14) Error listenerStart
ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-14) Context [/abc] startup failed due to previous errors
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-14) MSC000001: Failed to start service jboss.web.deployment.default-host (...)
Las referencias de mensajes de error a fallaron debido a errores anteriores sin embargo no hay errores se imprimen en el registro. La aplicación en cuestión paquetes JAX-WS-rt así:
<dependency>
<groupId>sun-jaxws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.1.7</version>
</dependency>
Si cambio el alcance de la JAX-WS-rt para proporcionar esto provoca una agradable ClassNotFound como se esperaba.
WARN [org.jboss.as.ee] (MSC service thread 1-13) JBAS011006: Not installing optional component com.sun.xml.ws.transport.http.servlet.WSServletContextListener due to exception: java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServletContextListener (…)
El servlet se define así en web.xml.
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<description>JAX-WS endpoint for data service</description>
<display-name>abc</display-name>
<servlet-name>abc</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>abc</servlet-name>
<url-pattern>/services/abc</url-pattern>
</servlet-mapping>
No puedo entender cuál es incorrecto. ¿Cómo soluciono esto y obtengo la aplicación implementada?
Pensamientos:
- me estoy perdiendo una dependencia?
- ¿Puedo reconfigurar la guerra para usar JaxWS interno de Jboss sin una refactorización importante?
- Si no puedo usar una versión interna de JaxWS de jboss, ¿puedo forzar a Jboss a usar una versión de Jaxws que empaquete en la guerra? (Si es así, ¿qué dependencias necesito para jaxws?)