Apliação Struts não sobe sem acesso a Internet

5 respostas
Pablo_Eteg

Pessoal tenho uma aplicação struts que quando a máquina servidora está sem
acesso a internet e tento subir a aplicação ocorre o erro
[ERROR] [ActionServlet] Parsing error processing resource path /WEB-INF/conf/struts-config.xml

Parece um erro no struts-config.xml mas quando tenho acesso a internet
a aplicação sobe normalmente.

Já tentei retirar todas as actions do struts-config e nem assim sobe
Já testei a versão 1.3.8 e a 1.2.9 do struts e o erro é o mesmo.

[ERROR] [ActionServlet] Parsing error processing resource path /WEB-INF/conf/struts-config.xml
java.net.ConnectException: Connection timed out: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at sun.net.NetworkClient.doConnect(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.http.HttpClient.<init>(Unknown Source)
	at sun.net.www.http.HttpClient.New(Unknown Source)
	at sun.net.www.http.HttpClient.New(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.apache.commons.digester.Digester.parse(Digester.java:1572)
	at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:738)
	at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:687)
	at org.apache.struts.action.ActionServlet.init(ActionServlet.java:333)
	at javax.servlet.GenericServlet.init(GenericServlet.java:212)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4045)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
12/06/2008 11:24:40 org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet actionServlet as unavailable
12/06/2008 11:24:40 org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /odontosis threw load() exception
javax.servlet.UnavailableException: Parsing error processing resource path /WEB-INF/conf/struts-config.xml
	at org.apache.struts.action.ActionServlet.handleConfigException(ActionServlet.java:769)
	at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:743)
	at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:687)
	at org.apache.struts.action.ActionServlet.init(ActionServlet.java:333)
	at javax.servlet.GenericServlet.init(GenericServlet.java:212)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4045)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
12/06/2008 11:24:41 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
12/06/2008 11:24:41 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
12/06/2008 11:24:41 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/94  config=null
12/06/2008 11:24:41 org.apache.catalina.startup.Catalina start
INFO: Server startup in 24872 ms
12/06/2008 11:24:41 org.apache.catalina.core.StandardWrapperValve invoke
INFO: Servlet actionServlet is currently unavailable

5 Respostas

T

http://struts.apache.org/1.x/userGuide/installation-was352-x.html

For whatever reason, some installations do not like XML files that reference PUBLIC DTD’s - if in looking at the default_host_stdout.log file you see errors about invalid public URL references during DTD registrations, or if your pages say "cannot find //logon or //saveRegistration (ie. action mappings) then do the following:

  1. Stop Default Server
  2. Go to servlets\WEB-INF\ and edit web.xml and struts_config.xml.
  3. In the DOCTYPE declaration, change the word PUBLIC to SYSTEM and completely remove the line that reads “-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN” from web.xml and remove “-//Apache Software Foundation//DTD Struts Configuration 1.0//EN” from struts-config.xml.
  4. Save these changes and go back to step 10 above.
Pablo_Eteg

THINGOL,

Cara tentei isso, mas naum funcionou.

A

Estou com o mesmo problema. Tenha uma aplicação que roda com Struts e Tomcat.

Quando eu tiro o cabo de rede e tento acessar o sistema aparece o seguinte erro:

javax.servlet.ServletException: Servlet.init() for servlet action threw exception

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)

org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)

org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

java.lang.Thread.run(Unknown Source)

root cause

java.lang.NullPointerException

org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:705)

org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:670)

org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)

javax.servlet.GenericServlet.init(GenericServlet.java:211)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)

org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)

org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

java.lang.Thread.run(Unknown Source)

Se eu reiniciar a aplicação ela volta a funcionar normalmente mesmo sem cabo de rede…

Pablo vc conseguiu resolver?? Eu tentei a solução de Thingol tbm nao tive sucesso aparece erro 403.

Se alguém tiver alguma idéia por favor, me ajudem.

Pablo_Eteg

Cara resolvi olha o seu struts.xml

la em cima se vc estiver utilizando o struts versão 1.2.x
deve ficar _2_dtd
e se for struts versão 1.3.x
deve ficar 1_3_dtd

A

O Struts é o 1.1 e o Tomcat é 5.5. Tá correto o cabeçalho no ponto que você falou.

Poxa, q erro estranho… no inicio achava q era o RMI, mas acabei chegando a conclusão que é era o Struts mesmo.

Cara, não sei mais o q fazer…

O pior que em uma versão anterior do mesmo software não acontece o erro…

:frowning:

Criado 12 de junho de 2008
Ultima resposta 18 de jul. de 2008
Respostas 5
Participantes 3