PDA

View Full Version : ATG installation


gborkowski
06-25-2004, 07:46 PM
I just installed the laszlo webapp on the ATG Dynamo
app server, and I'm getting the following error:

com.laszlosystems.utils.ChainedException: java.io.FileNotFoundException: C:\ATG\ATG6.3.0\FSB\laz\laz\index.html\WEB-INF\lps\config\lps.properties (The system cannot find the path specified)


What do I need to change so that it doesn't include
index.html in that string (where it's looking for
the properties file)?

bloch
06-25-2004, 09:07 PM
We've seen strange things with ATG Dynamo in the
past, but this one is new! I don't have a copy
here so I can't readily reproduce the issue for
debugging.

The exception is *probably* triggered by an oddity
in the container's implementation of the
ServletContext.getRealPath() API call. In
particular the LPS calls
ServletContext.getRealPath("/") to determine the
underlying file system pathname for the directory
of the expanded web application.

From the exception, I'm guessing that the
container is using the welcome file for the webapp
as the "realpath" of "/" (this might be arguably
out of spec; the spec is loose on getRealPath()
though). You might be able to workaround this by
modifying the web.xml file that comes with the LPS
webapp and removing the welcome file list configs.
You might also be able to fix this by modifying
some ATG dynamo server config setting for welcome
files. I'd search the ATG bug base on
getRealPath() and see if anything comes up.

-Eric

gborkowski
06-26-2004, 05:31 AM
That defintely helped. But I'm not much further... Here is a fragment from the logs:

26 Jun 2004 09:22:44 () INFO servlets.LZServlet - ------------------------------------
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - Laszlo Presentation Server, 2.1.2, initialized
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - Running in context:ATG/6 (fsb)
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - Build: lps-2.1.2-000937-0001
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - Built on: 01:29 PM 10-May-2004
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - Expires: NEVER
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - Running against JRE 1.4.2_03
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - Running with Java CLASSPATH: .\locallib\;.\lib\launcher.jar;
.;
c:\java\j2sdk1.4.2_03\lib;
c:\atg\atg6.3.0\das\lib\classes.jar;
c:\atg\atg6.3.0\das-ui\lib\uiclasses.jar;
c:\atg\atg6.3.0\das\lib\resources.jar;
c:\atg\atg6.3.0\dps\lib\classes.jar;
c:\atg\atg6.3.0\dss\lib\classes.jar;
C:\ATG\ATG6.3.0\PublishingAgent\lib\classes.jar;
C:\ATG\ATG6.3.0\FSB\lib\classes.jar;
C:\ATG\ATG6.3.0\DSS\lib\resources.jar;
C:\ATG\ATG6.3.0\DSS\lib\classes.jar;
C:\ATG\ATG6.3.0\DPS\lib\resources.jar;
C:\ATG\ATG6.3.0\DPS\lib\classes.jar;
C:\ATG\DAS6.3.0\J2EEServer\lib\classes.jar;
C:\ATG\DAS6.3.0\J2EEServer\lib\resources.jar;
C:\ATG\DAS6.3.0\J2EEServer-UI\lib\uiclasses.jar;
C:\ATG\DAS6.3.0\J2EEServer-UI\lib\uiresources.jar;
C:\ATG\ATG6.3.0\DAS-UI\lib\uiresources.jar;
C:\ATG\ATG6.3.0\DAS-UI\lib\uiclasses.jar;
C:\ATG\ATG6.3.0\DAS-UI\lib\jhall.jar;
C:\ATG\ATG6.3.0\DAS\lib\resources.jar;
C:\ATG\ATG6.3.0\DAS\lib\classes.jar;
C:\ATG\ATG6.3.0\DAS\lib\ice.jar;
C:\ATG\ATG6.3.0\DAS\solid\SolidDriver2.1.jar;
C:\ATG\DAS6.3.0\J2EEAPI\lib\classes.jar;
C:\ATG\ATG6.3.0\home\startDynamo.jar;
d:\oracle\ora92\jdbc\lib\classes12.zip;
d:\oracle\ora92\jdbc\lib\nls_charset12.zip
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - Running on Windows 2000 5.0
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - Running as user glen
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - Total memory: 254.31 MB
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - Available memory: 218.57 MB
26 Jun 2004 09:22:44 () INFO servlets.LZServlet - LPS_HOME is: C:\ATG\ATG6.3.0\FSB\fsb\fsb
26 Jun 2004 09:22:44 () INFO server.License - Localhost (gborkowski) IP: 10.1.2.140
26 Jun 2004 09:22:44 () INFO server.License - Server IP(s): 127.0.0.1
26 Jun 2004 09:22:44 () INFO server.License - LPS developer license
26 Jun 2004 09:22:44 () INFO responders.ResponderCompile - Cache is at C:\ATG\ATG6.3.0\home\.\j2ee\runtime\temp\First Street Bank\fsb\LPS\cache
26 Jun 2004 09:22:44 () INFO responders.ResponderMEDIA - Media Cache is at C:\ATG\ATG6.3.0\home\.\j2ee\runtime\temp\First Street Bank\fsb\LPS\mcache
26 Jun 2004 09:22:44 () ERROR servlets.LZServlet - Exception:
java.lang.ExceptionInInitializerError
at com.laszlosystems.data.internal.HTTPDataSource.<clinit>(HTTPDataSource.java:53)
at com.laszlosystems.servlets.responders.ResponderCac he.init(ResponderCache.java:272)
at com.laszlosystems.servlets.responders.ResponderMED IA.init(ResponderMEDIA.java:64)
at com.laszlosystems.servlets.LZServlet.getResponder( LZServlet.java:305)
at com.laszlosystems.servlets.LZServlet.initLPS(LZSer vlet.java:180)
at com.laszlosystems.servlets.LZServlet.doGet(LZServl et.java:213)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:853)
at atg.servlet.container.WebApplication.dispatchServl et(WebApplication.java:1350)
at atg.servlet.container.WebApplication.dispatchServl et(WebApplication.java:1193)
at atg.servlet.container.FilterChainImpl.dispatchServ let(FilterChainImpl.java:322)
at atg.servlet.container.FilterChainImpl.doFilter(Fil terChainImpl.java:261)
at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.j ava:179)
at atg.servlet.container.FilterChainImpl.doFilter(Fil terChainImpl.java:270)
at atg.servlet.container.FilterChainImpl.execute(Filt erChainImpl.java:220)
at atg.servlet.container.WebApplication.dispatchServl et(WebApplication.java:1165)
at atg.servlet.container.WebApplication.dispatchReque st(WebApplication.java:767)
at atg.servlet.container.WebApplication.dispatchReque st(WebApplication.java:626)
at atg.servlet.pipeline.WebApplicationDispatcherPipel ineServlet.service(WebApplicationDispatcherPipelin eServlet.java:69)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.security.ThreadUserBinderServlet.servi ce(ThreadUserBinderServlet.java:91)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.security.FormLoginPipelineServlet.serv ice(FormLoginPipelineServlet.java:159)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.PipelineableServletImpl.servi ce(PipelineableServletImpl.java:279)
at atg.servlet.pipeline.AttackDiscriminator.service(A ttackDiscriminator.java:605)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.userprofiling.AccessControlServlet.service(Acc essControlServlet.java:594)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.userprofiling.PageEventTriggerPipelineServlet. service(PageEventTriggerPipelineServlet.java:169)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.userprofiling.SessionEventTrigger.service(Sess ionEventTrigger.java:461)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.userprofiling.ProfileRequestServlet.service(Pr ofileRequestServlet.java:431)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.sessionsaver.SessionSaverServlet.servi ce(SessionSaverServlet.java:2574)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.ServletPathPipelineServlet.se rvice(ServletPathPipelineServlet.java:186)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.ContextPathPipelineServlet.se rvice(ContextPathPipelineServlet.java:106)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.DynamoPipelineServlet.service (DynamoPipelineServlet.java:469)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.SessionPipelineServlet.servic e(SessionPipelineServlet.java:322)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.CookiePipelineServlet.service (CookiePipelineServlet.java:284)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.URLArgumentPipelineServlet.se rvice(URLArgumentPipelineServlet.java:271)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.PathAuthenticationPipelineSer vlet.service(PathAuthenticationPipelineServlet.jav a:370)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.dtm.TransactionPipelineServlet.service(Transac tionPipelineServlet.java:212)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.PipelineableServletImpl.servi ce(PipelineableServletImpl.java:279)
at atg.servlet.pipeline.BlockIPServlet.service(BlockI PServlet.java:348)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.HeadPipelineServlet.passReque st(HeadPipelineServlet.java:1047)
at atg.servlet.pipeline.HeadPipelineServlet.service(H eadPipelineServlet.java:736)
at atg.servlet.pipeline.PipelineableServletImpl.servi ce(PipelineableServletImpl.java:231)
at atg.server.http.HttpConnection.serviceRequest(Http Connection.java:981)
at atg.server.http.HttpConnection.processSocket(HttpC onnection.java:400)
at atg.server.http.HttpConnection.handleRequest(HttpC onnection.java:285)
at atg.server.tcp.RequestServerHandler.run(RequestSer verHandler.java:161)
Caused by: org.apache.commons.logging.LogConfigurationExcepti on: org.apache.commons.logging.LogConfigurationExcepti on: No suitable Log constructor
at org.apache.commons.logging.impl.LogFactoryImpl.new Instance(LogFactoryImpl.java:509)
at org.apache.commons.logging.impl.LogFactoryImpl.get Instance(LogFactoryImpl.java:285)
at org.apache.commons.logging.impl.LogFactoryImpl.get Instance(LogFactoryImpl.java:255)
at org.apache.commons.logging.LogFactory.getLog(LogFa ctory.java:381)
at org.apache.commons.httpclient.MultiThreadedHttpCon nectionManager.<clinit>(MultiThreadedHttpConnectionManager.java:98)
... 63 more
Caused by: org.apache.commons.logging.LogConfigurationExcepti on: No suitable Log constructor
at org.apache.commons.logging.impl.LogFactoryImpl.get LogConstructor(LogFactoryImpl.java:420)
at org.apache.commons.logging.impl.LogFactoryImpl.new Instance(LogFactoryImpl.java:502)
... 67 more
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Category
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Cla ss.java:1610)
at java.lang.Class.getConstructor0(Class.java:1922)
at java.lang.Class.getConstructor(Class.java:1019)
at org.apache.commons.logging.impl.LogFactoryImpl.get LogConstructor(LogFactoryImpl.java:417)
... 68 more
26 Jun 2004 09:22:44 () INFO responders.Responder - Responding with error (text/html): javax.servlet.ServletException
at com.laszlosystems.servlets.LZServlet.getResponder( LZServlet.java:328)
at com.laszlosystems.servlets.LZServlet.initLPS(LZSer vlet.java:180)
at com.laszlosystems.servlets.LZServlet.doGet(LZServl et.java:213)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:853)
at atg.servlet.container.WebApplication.dispatchServl et(WebApplication.java:1350)
at atg.servlet.container.WebApplication.dispatchServl et(WebApplication.java:1193)
at atg.servlet.container.FilterChainImpl.dispatchServ let(FilterChainImpl.java:322)
at atg.servlet.container.FilterChainImpl.doFilter(Fil terChainImpl.java:261)
at atg.filter.dspjsp.PageFilter.doFilter(PageFilter.j ava:179)
at atg.servlet.container.FilterChainImpl.doFilter(Fil terChainImpl.java:270)
at atg.servlet.container.FilterChainImpl.execute(Filt erChainImpl.java:220)
at atg.servlet.container.WebApplication.dispatchServl et(WebApplication.java:1165)
at atg.servlet.container.WebApplication.dispatchReque st(WebApplication.java:767)
at atg.servlet.container.WebApplication.dispatchReque st(WebApplication.java:626)
at atg.servlet.pipeline.WebApplicationDispatcherPipel ineServlet.service(WebApplicationDispatcherPipelin eServlet.java:69)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.security.ThreadUserBinderServlet.servi ce(ThreadUserBinderServlet.java:91)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.security.FormLoginPipelineServlet.serv ice(FormLoginPipelineServlet.java:159)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.PipelineableServletImpl.servi ce(PipelineableServletImpl.java:279)
at atg.servlet.pipeline.AttackDiscriminator.service(A ttackDiscriminator.java:605)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.userprofiling.AccessControlServlet.service(Acc essControlServlet.java:594)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.userprofiling.PageEventTriggerPipelineServlet. service(PageEventTriggerPipelineServlet.java:169)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.userprofiling.SessionEventTrigger.service(Sess ionEventTrigger.java:461)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.userprofiling.ProfileRequestServlet.service(Pr ofileRequestServlet.java:431)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.sessionsaver.SessionSaverServlet.servi ce(SessionSaverServlet.java:2574)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.ServletPathPipelineServlet.se rvice(ServletPathPipelineServlet.java:186)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.ContextPathPipelineServlet.se rvice(ContextPathPipelineServlet.java:106)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.DynamoPipelineServlet.service (DynamoPipelineServlet.java:469)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.SessionPipelineServlet.servic e(SessionPipelineServlet.java:322)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.CookiePipelineServlet.service (CookiePipelineServlet.java:284)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.URLArgumentPipelineServlet.se rvice(URLArgumentPipelineServlet.java:271)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.PathAuthenticationPipelineSer vlet.service(PathAuthenticationPipelineServlet.jav a:370)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.dtm.TransactionPipelineServlet.service(Transac tionPipelineServlet.java:212)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.PipelineableServletImpl.servi ce(PipelineableServletImpl.java:279)
at atg.servlet.pipeline.BlockIPServlet.service(BlockI PServlet.java:348)
at atg.servlet.pipeline.PipelineableServletImpl.passR equest(PipelineableServletImpl.java:116)
at atg.servlet.pipeline.HeadPipelineServlet.passReque st(HeadPipelineServlet.java:1047)
at atg.servlet.pipeline.HeadPipelineServlet.service(H eadPipelineServlet.java:736)
at atg.servlet.pipeline.PipelineableServletImpl.servi ce(PipelineableServletImpl.java:231)
at atg.server.http.HttpConnection.serviceRequest(Http Connection.java:981)
at atg.server.http.HttpConnection.processSocket(HttpC onnection.java:400)
at atg.server.http.HttpConnection.handleRequest(HttpC onnection.java:285)
at atg.server.tcp.RequestServerHandler.run(RequestSer verHandler.java:161)

bloch
06-26-2004, 10:05 AM
Ah yes :-( This is one of the other known issues
with ATG Dynamo; and part of the reason it isn't on our official list of qa-ed containers.

It does something particularly *unfriendly* wrt
bundling of the jakarta commons loggin classes; it
bundles them inside one of its own jars that it
adds to the classpath fairly early, I think. And
the fact that the classes are packaged both in the
lps web application and in the container triggers a
classloader bug in the commons logging class loader,
that, afaik, is still open (and hard to describe,
btw).


The solution, when I last talked to Barry Coleman at
ATG was to hand remove the jakarta
commons logging classes from one of the classes.jar
that ATG ships.

-Eric

gborkowski
06-26-2004, 07:38 PM
Thanks Eric,

That solved it! I actually work for Barry, I forgot that he worked through some of this a while back...

Here is what I had to do:

- unjar DAS/lib/classes.jar
- remove org/apache/common/*
- jar it back up into classes.jar

I also removed the common_logging.jar file (it looks like there are some additional org.apache.common.logging classes in there too)

Restart ATG, and everything works fine.

Thanks alot for your help!

Glen

martinomartino
07-07-2004, 07:25 AM
hi guys,
Hitting the same issue (almost). Forgive my moranity but i dont know what unjar means! can you give an explanation, it didnt come up as a dos command (havent checked what to add to environ path though)
thanks

bloch
07-07-2004, 07:49 AM
You will need to read up on the java jar tool.


jar xf foo.jar
will pull out the files in your current directory
jar cfx foo.jar fil1 file2 etc....
will create a jar file

You could also simply delete files from the jar if yoiur jar tool supports that.

Eric

sujithvarghese
02-04-2005, 01:41 AM
hi,

I have installed Laszlo on ATG 6.4 and its working fine..But I dont know how to invoke the ATG FormHandler while submitting the "Laszlo Form"..

Could you please tell me how can i do that...

Thanks in advance..
Sujith

bloch
02-04-2005, 08:57 AM
from a while ago...

re: unjar
means jar xf
(see jar manual page)

re: atg form handler
That's probably better asked to someone who knows something about ATG :). Sadly, all I know is that ATG is a servlet container.

-Eric