Here is the stacktrace, in case it helps:

org.mozilla.javascript.WrappedException: Wrapped
java.lang.NullPointerException
(resource://org/apache/cocoon/forms/flow/javascript/Form.js#136)
        at 
org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1776)
        at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:191)
        at 
org.mozilla.javascript.ScriptableObject.getByGetter(ScriptableObject.java:1617)
        at 
org.mozilla.javascript.ScriptableObject.get(ScriptableObject.java:177)
        at 
org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:1263)
        at 
org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1332)
        at 
org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1321)
        at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2744)
        at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164)
        at 
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140)
        at 
org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304)
        at 
org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769)
        at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145)
        at 
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140)
        at org.mozilla.javascript.Context.call(Context.java:497)
        at 
org.mozilla.javascript.ScriptableObject.callMethod(ScriptableObject.java:1496)
        at 
org.mozilla.javascript.ScriptableObject.callMethod(ScriptableObject.java:1466)
        at 
org.apache.cocoon.components.flow.javascript.fom.FOM_JavaScriptInterpreter.handleContinuation(FOM_JavaScriptInterpreter.java:843)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invoke(CallFunctionNode.java:123)
        at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
        at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
        at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
        at 
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
        at 
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
        at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
        at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
        at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
        at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
        at 
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
        at 
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
        at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:608)
        at 
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1123)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
com.dotech.cocoon.servlet.filter.CurrentDateFilter.doFilter(CurrentDateFilter.java:76)
        at 
com.dotech.servlet.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:86)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
com.dotech.cocoon.servlet.filter.LoginFilter.doFilter(LoginFilter.java:78)
        at 
com.dotech.servlet.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:86)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
com.dotech.servlet.filter.FakeRemoteUserFilter.doFilter(FakeRemoteUserFilter.java:70)
        at 
com.dotech.servlet.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:86)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
com.dotech.servlet.filter.ResponseTimeFilter.doFilter(ResponseTimeFilter.java:43)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
        at 
org.apache.cocoon.components.flow.javascript.fom.FOM_Cocoon.jsGet_request(FOM_Cocoon.java:574)
        at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174)
        ... 68 more

On 6/23/05, Irv Salisbury <[EMAIL PROTECTED]> wrote:
> We have a flowscript method that shows a form.  After the form is
> submitted, we call a sendPage that will essentially show a new
> instance of that same form.  With the released rhino version in cocoon
> 2.1.7, this works fine.  However, for the weblogic workaround of using
> the 1.6 released version of rhino we are getting a null pointer
> exception.
> 
> Here is our method
> 
> function addForm( module, screen, tab, originalRequestString ){
>   var formDefUrl = "cocoon:/" + getRootUrl() +
> "internal/addFormDefinition/" + getTabPath( module, screen, tab );
>   cocoon.log.info( "Form def url is: " + formDefUrl );
>   var form = new Form( formDefUrl );
>   var formBindUrl = "cocoon:/" + getRootUrl() +
> "internal/addFormBinding/" + getTabPath( module, screen, tab );
>   cocoon.log.info( "Form bind url is: " + formBindUrl );
>   form.createBinding( formBindUrl );
>         var pipelineUtil = cocoon.createObject( PipelineUtil );
>   cocoon.log.info( "About to show add form " );
> 
>   //this is needed for grid/repeater stuff
>   var screenObject = cocoon.request.getAttribute( "screenObject" );
>   /*
>   form.restoreHook =
>     function(theForm) {
>       cocoon.log.debug( "Cocoon request is " + cocoon.request );
>       cocoon.log.debug( "Screen object is " + screenObject );
>       cocoon.request.setAttribute( "screenObject", screenObject );
>     };
>     */
>   form.showForm( (getRootUrl() + "style/addForm/" + getTabPath(
> module, screen, tab )) );
> 
>   // TODO: Need to kill continuations from client side call if tab is changed
>   // This is only called if action is performed on the form (submit)
>   var dataObject =
> DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
>   form.save( dataObject );
>   if( cocoon.log.isDebugEnabled() ){
>     var stringRep = XMLUtils.serializeNode( dataObject );
>     cocoon.log.debug ("Data object from add is " + stringRep );
>   }
>   cocoon.request.setAttribute( "dataObject", dataObject );
>   var dataAddUrl = getRootUrl() + "internal/dataAdd/" + getTabPath(
> module, screen, tab );
>   var xmlSaxHandler =
> XmlBeans.getContextTypeLoader().newXmlSaxHandler(
> SessionDataDocument.SessionData.LastOperation.type, null );
>   cocoon.log.debug( "Sax handler is" + xmlSaxHandler );
>   cocoon.log.debug( "Data add url is " + dataAddUrl );
> 
>         pipelineUtil.processToSAX( dataAddUrl + "?" + originalRequestString,
> null, xmlSaxHandler.getContentHandler() );
>   var addResults = xmlSaxHandler.getObject();
>   if( cocoon.log.isDebugEnabled() ){
>     cocoon.log.debug ("Add results are " + addResults );
>   }
> 
>     setLastOperation( addResults );
>     var id = "";
>     if( (addResults != null) && (addResults.isSetSuccess()) ){
>       var valueArray = addResults.getValueArray();
>       if( valueArray.length < 1 ){
>       }
>       else {
>         id = valueArray[0].getStringValue();
>       }
>     }
>     else {
>       var errorMessage = null;
>       if( addResults == null ){
>         errorMessage = "No add results";
>       }
>       else {
>         errorMessage = addResults.getFailure().getMessage();
>       }
>     }
>     cocoon.sendPage( getRootUrl() + "screen/" + getTabPath( module,
> screen, tab ) + "?" + originalRequestString );
> }
> 
> The last call to sendPage will essentially bring us back to the same
> showForm.  After the second showForm call we get a null pointer
> exception trying to access the form object.  So, something is very
> different between mozilla 1.6R and the rhino with cocoon 2.1.7
> 
> So, is there something I can do differently?  Is there something I
> should be doing to cleanup continuations or something?
> 
> Irv
>

Reply via email to