2016-02-03 9 views
6

Sto cercando di creare un semplice servizio web "Ciao" e sto ottenendo il seguente errore:java.lang.NoClassDefFoundError: org/apache/ws/comuni/schema/resolver/URIResolver

type Exception report 

message Servlet.init() for servlet AxisServlet threw exception 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: Servlet.init() for servlet AxisServlet threw exception 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
java.lang.Thread.run(Thread.java:745) 

root cause 

java.lang.NoClassDefFoundError: org/apache/ws/commons/schema/resolver/URIResolver 
org.apache.axis2.deployment.ModuleDeployer.deploy(ModuleDeployer.java:128) 
org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:144) 
org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:585) 
org.apache.axis2.deployment.RepositoryListener.init(RepositoryListener.java:264) 
org.apache.axis2.deployment.RepositoryListener.init2(RepositoryListener.java:66) 
org.apache.axis2.deployment.RepositoryListener.<init>(RepositoryListener.java:61) 
org.apache.axis2.deployment.DeploymentEngine.loadRepository(DeploymentEngine.java:152) 
org.apache.axis2.deployment.WarBasedAxisConfigurator.getAxisConfiguration(WarBasedAxisConfigurator.java:233) 
org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64) 
org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:620) 
org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:471) 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
java.lang.Thread.run(Thread.java:745) 

root cause 

java.lang.ClassNotFoundException: org.apache.ws.commons.schema.resolver.URIResolver 
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1856) 
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1705) 
org.apache.axis2.deployment.ModuleDeployer.deploy(ModuleDeployer.java:128) 
org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:144) 
org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:585) 
org.apache.axis2.deployment.RepositoryListener.init(RepositoryListener.java:264) 
org.apache.axis2.deployment.RepositoryListener.init2(RepositoryListener.java:66) 
org.apache.axis2.deployment.RepositoryListener.<init>(RepositoryListener.java:61) 
org.apache.axis2.deployment.DeploymentEngine.loadRepository(DeploymentEngine.java:152) 
org.apache.axis2.deployment.WarBasedAxisConfigurator.getAxisConfiguration(WarBasedAxisConfigurator.java:233) 
org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64) 
org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:620) 
org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:471) 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
java.lang.Thread.run(Thread.java:745) 

Qualcuno può aiutare? Ho cercato su Internet e ho scoperto che esiste un file httpcore-xx.jar che deve essere inserito nella directory lib di apache tomcat. Ci ho provato ma non ha funzionato. Sto usando Ubuntu 14.04 LTS ed eclipse. Ho anche provato a pulire il mio progetto e a ricostruirlo. Non ha funzionato. Quello che sto affrontando è che la pagina si sta caricando sul browser Web ma quando faccio clic su servizi viene visualizzato l'errore precedente. Il tutorial che sto cercando di attuare è http://codeoncloud.blogspot.gr/2012/12/create-java-web-service-in-eclipse_3982.html

+1

È necessario aggiungere qualsiasi jar contenente 'org.apache.ws.commons.schema.resolver.URIResolver' al classpath – redFIVE

+0

@redFIVE L'ho fatto. Va bene. Ma ora è venuto un altro problema: il servizio Hello, che non è valido, ha causato java.lang.NoSuchMethodError: org.apache.ws.commons.schema.XmlSchemaForm.schemaValueOf (Ljava/lang/String;) Lorg/apache/ws/commons/schema/XmlSchemaForm; \t in org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.getAttrFormDefaultSetting (DefaultSchemaGenerator.java:1611). Nel browser Web vengono visualizzati Servizi difettosi. –

+0

google your stacktrace, queste non sono librerie oscure con cui stai lavorando – redFIVE

risposta

21

Ho avuto lo stesso problema e con successo risolto copiando xmlschema-core-*.jar modulo axis2-*/lib/-my_project_root_directory/WebContent/WEB-INF/lib/.

+1

Ha funzionato per me grazie –

+1

Credo che questi vasi debbano aggiungere anche alla cartella lib di tomcats. – casper

+0

@liqing, ha funzionato anche per me :) Grazie –

0

IT ha funzionato anche per me. axis2-1.7 e axis2-1.6 entrambi hanno funzionato solo copiando la cartella xml-core in web/lib e creando il percorso e ha funzionato.

1

Sto tentando di creare anche un semplice servizio Web (configurato: Dynamic Web Module 2.5), utilizzando: - Tomcat 8.0 e - Axis2 1.7.4 (axis2-1.7.4-war).

sto ottenendo i seguenti errori:

[WARN] Web application uses org.apache.axis2.transport.http.AxisAdminServlet; please update web.xml to use org.apache.axis2.webapp.AxisAdminServlet instead 
[INFO] Clustering has been disabled 
[WARN] Unable to instantiate deployer org.apache.axis2.deployment.ServiceDeployer; see debug logs for more details 
abr 13, 2017 9:03:35 PM org.apache.catalina.core.ApplicationContext log 
GRAVE: StandardWrapper.Throwable 
java.lang.NoClassDefFoundError: org/apache/ws/commons/schema/resolver/URIResolver 
    at org.apache.axis2.deployment.ModuleDeployer.deploy(ModuleDeployer.java:128) 
    (...) 

Caused by: java.lang.ClassNotFoundException: org.apache.ws.commons.schema.resolver.URIResolver 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332) 
    ... 24 more 

abr 13, 2017 9:03:35 PM org.apache.catalina.core.StandardContext loadOnStartup 
GRAVE: Servlet [AxisAdminServlet] in web application [/AxisTestWebServer] threw load() exception 
java.lang.ClassNotFoundException: org.apache.ws.commons.schema.resolver.URIResolver 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332) 
    (...) 

Il primo problema è stato un [WARN]:

"[WARN] applicazione Web utilizza org.apache.axis2.transport. http.AxisAdminServlet; aggiorna web.xml utilizzare org.apache.axis2.webapp.AxisAdminServlet invece"

Soluzione: ho risolto aggiornando web.xml come ri RICHIESTO.


Il secondo problema era:

  • java.lang.NoClassDefFoundError: org/apache/ws/comuni/schema/resolver/URIResolver
  • Causato da: java.lang.ClassNotFoundException: org .apache.ws.commons.schema.resolver.URIResolver

Per qualche ragione, quando ho creato un nuovo progetto Web dinamico configurato con Axis2, il XmlSchema-core-2.2.1.j ar (axis2/WEB-INF/lib) non è stato importato in WebContent/WEB-INF/lib.

Soluzione: Quindi ho dovuto incollarlo lì.


Dopo di che, altro problema con JSTL:

  • Questo problema è venuto quando ho cercato di effettuare il login come amministratore sul WebService

abr 13, 2017 9:54:30 PM org.apache.catalina.core.ApplicationDispatcher invoke GRAVE: Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application (...)

Soluzione:

Ho scaricato questi vasi: - taglibs-standard-impl-1.2.5.j ar e - taglibs standard-spec-1.2.5.jar

da tomcat.apache.org/download-taglibs.cgi

Così ho dovuto incollato loro in WebContent/WEB-INF/lib pure.

questo è tutto. Spero che aiuti.

Problemi correlati