2012-07-13 15 views
6

Sto provando a migrare un servizio Web basato su Jax-WS su JBoss come 7 ma l'applicazione (distribuita come guerra) non riesce ad avviare il listener all'avvio.Errore 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 (...) 

l'errore riferimenti dei messaggi a fallito a causa di errori precedenti tuttavia nessun errore sono stampati nel registro. L'applicazione in questione fasci JAX-WS-RT come questo:

<dependency> 
     <groupId>sun-jaxws</groupId> 
     <artifactId>jaxws-rt</artifactId> 
     <version>2.1.7</version> 
    </dependency> 

Se cambio la portata del JAX-WS-rt da fornire questo provoca un bel ClassNotFound come previsto.

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 (…) 

Il servlet è definita come questo in 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> 

Non riesco a capire che cosa è sbagliato. Come posso risolvere questo problema e far distribuire l'applicazione?

Pensieri:

  1. mi manca una dipendenza?
  2. Posso riconfigurare la guerra per utilizzare Jboss JaxWS interno senza refactoring importante?
  3. Se non riesco a utilizzare una versione JaxWS interna jboss, posso forzare Jboss a utilizzare una versione di Jaxws che impacchetta in guerra? (Se sì, quali le dipendenze ho bisogno per jaxws?)

risposta

7

con JBoss AS7 (Java EE6) in realtà non dovrebbe essere necessario mettere il WSServlet nel web.xml come il servlet-class. Ma invece si avrebbe lì il nome di classe della classe annotato con @WebService

Tutto quello che voglio fare è assicurarsi che in voi la configurazione JBoss (ad es standalone.xml) si dispone di estensione per webservices abilitato:

<extensions> 
    [...] 
    <extension module="org.jboss.as.webservices"/> 
</extensions> 
Problemi correlati