RE: Notes Example-java.lang.IllegalStateException: Value of BigDecimal id is null.
"Prashant R. Naik" <[email protected]> Wed, 5 May 2004 00:25:55 +0530
| Newsgroups | gmane.linux.redhat.ccm.general |
|---|---|
| Message-ID | <[email protected]> |
I downloaded the source as per
https://listman.redhat.com/archives/redhat-ccm-list/2004-May/msg00006.html
and successfully deploy the binder application.
After running the application, I was able to view it at
http://localhost:9000/binder (Received an "Value of BigDecimal id is null." error)
and not at
http://localhost:9000/ccm/binder.(page not found)
As per your suggestion, I ran the following:
ccm-run com.arsdigita.web.ApplicationTool com.example.binder.Binder binder Binder
Now I could view it at
http://localhost:9000/ccm/binder
But Now I get a new error as below:
*************************************************************************************
HTTP Status 500 - Internal Server Error
type Exception report
message Internal Server Error
description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at com.arsdigita.london.shortcuts.ShortcutFilter.doService(ShortcutFilter.java:79)
at com.arsdigita.web.BaseFilter.doFilter(BaseFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at com.arsdigita.london.subsite.SubsiteFilter.doService(SubsiteFilter.java:69)
at com.arsdigita.web.BaseFilter.doFilter(BaseFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
at java.lang.Thread.run(Thread.java:534)
root cause
com.arsdigita.util.AssertionError: uri must start with /
at com.arsdigita.util.Assert.truth(Assert.java:112)
at com.arsdigita.web.Web.getServletContext(Web.java:136)
at com.arsdigita.web.BaseDispatcher.forward(BaseDispatcher.java:179)
at com.arsdigita.web.BaseDispatcher.dispatch(BaseDispatcher.java:130)
at com.arsdigita.web.DispatcherServlet.doService(DispatcherServlet.java:123)
at com.arsdigita.web.BaseServlet$1.excurse(BaseServlet.java:176)
at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57)
at com.arsdigita.web.BaseServlet.internalService(BaseServlet.java:147)
at com.arsdigita.web.BaseServlet.doGet(BaseServlet.java:272)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at com.arsdigita.london.shortcuts.ShortcutFilter.doService(ShortcutFilter.java:79)
at com.arsdigita.web.BaseFilter.doFilter(BaseFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at com.arsdigita.london.subsite.SubsiteFilter.doService(SubsiteFilter.java:69)
at com.arsdigita.web.BaseFilter.doFilter(BaseFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
at java.lang.Thread.run(Thread.java:534)
*************************************************************************************
I will really appreciate any help I can get on this.
Thanks
Prashant.
-----Original Message-----
From: Justin Ross [mailto:[email protected]]
Sent: Mon 5/3/2004 10:55 PM
To: Narayanan
Subject: RE: [redhat-ccm-list] Notes Example-java.lang.IllegalStateException: Value of BigDecimal id is null.
On Mon, 2004-05-03 at 12:19, Narayanan wrote:
> I am able to open all these URL's
> http://localhost:9000/ccm/admin/
> http://localhost:9000/ccm/content-center/
> http://localhost:9000/ccm/admin/themes/
> http://localhost:9000/ccm/ds/
>
> The following go through the Binder Servlet and print "YO" on the
> screen.
> http://localhost:9000/ccm/forms/
> http://localhost:9000/ccm/portal/
A bit of a new topic now: this is not correct behavior. The binder
servlet shouldn't be taking over "/ccm/forms/" and "/ccm/portal/".
> The following URL's result in the HTTP Status 500 - Internal Server
Error mentioned below.
> http://localhost:9000/binder/
> http://localhost:9000/
This is also strange.
1. "/binder/" will not work. I have an explanation of that below.
2. "/" should result in a directory listing or a bounce to "/ccm/".
So, the big thing I need to clear up is that your binder app will not be
addressible at "/binder/". Binder is a web.Application, so it needs to
be reached via the dispatcher (registered on "/ccm"). Your path should
look something like "/ccm/binder1", the path to a binder app instance
under the dispatcher. Read the javadoc on web.Application for more
about the "whys".
That app instance is something you'll need to create using the APIs on
Application.
The following is just a sketch from memory, so you'll have to fix the
broken parts :)
public class SomeAppAdder {
public static void main(String[] args) throws Exception {
new Startup().run();
TransactionContext t = SessionManager.getSession
().getTransactionContext();
t.beginTxn();
Application.createApplication
(Binder.BASE_DATA_OBJECT_TYPE,
"binder1",
"Binder 1",
null);
t.commitTxn();
}
}
Then do "ccm-run somepackage.SomeAppAdder". You should be able to reach
the new app instance at "/ccm/binder1" then.
(Minutes later) I forgot about this: There's a class called
com.arsdigita.web.ApplicationTool that does almost precisely the above,
so you can just use it.
Justin
Information contained in this E-MAIL being proprietary to Tricon Infotech Private Limited is 'privileged' and 'confidential' and intended for use only by the individual or entity to which it is addressed. You are notified that any use, copying or dissemination of the information contained in this E-MAIL in any manner whatsoever is strictly prohibited.
--
Redhat-ccm-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/redhat-ccm-list
Archives: https://www.redhat.com/pipermail/redhat-ccm-list/