> Caused by: java.lang.NullPointerException > at er.ajax.AjaxTabbedPanel.findTabs(AjaxTabbedPanel.java:94)
I have no idea what you have on that line, that is an old version. Check
your source at that line. Or update Wonder and see if the problem goes away.
Chuck
On Jan 28, 2011, at 6:09 PM, Raghavender wrote:
> Hi Chuck,
>
>>> WOActionResults res = super.invokeAction(aRequest, aContext);
>>> ...
>>> return ((WOComponent)res); // Exception occurring at
>>> this line-151.
>>
>
> I have changed the casting from WOResponse to WOComponent, and now the error
> in the Session invokeAction(. .) method is not occurring. But the exception
> (InvokeTargetException) is occurring in the my Application's
> dispatchRequest(.) method, getting the following exception:
>
> Also I see a NullPointerException from the AjaxTabbedPanel class at the end
> of the following exception:
> -------------------------------------------------------------------------------------------------------------------------------------------------------
> 29193 [WorkerThread15] INFO NSLog - <DDStartPage name: DDStartPage
> subcomponents: null >
> 29203 [WorkerThread15] WARN NSLog -
> <com.webobjects.appserver._private.WOComponentRequestHandler>: Exception
> occurred while handling request:
> com.webobjects.foundation.NSForwardException
> [java.lang.reflect.InvocationTargetException]
> null:java.lang.reflect.InvocationTargetException
> [2011-1-28 14:16:3 EST] <WorkerThread15>
> com.webobjects.foundation.NSForwardException
> [java.lang.reflect.InvocationTargetException]
> null:java.lang.reflect.InvocationTargetException
> at
> com.webobjects.foundation._NSUtilities._explainInstantiationException(_NSUtilities.java:600)
> at
> com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:620)
> at
> com.webobjects.appserver.WOApplication.dynamicElementWithName(WOApplication.java:2404)
> at
> com.webobjects.appserver.parser.WOHTMLWebObjectTag._elementWithClass(WOHTMLWebObjectTag.java:179)
> at
> com.webobjects.appserver.parser.WOHTMLWebObjectTag._elementWithDeclaration(WOHTMLWebObjectTag.java:234)
> at
> com.webobjects.appserver.parser.WOHTMLWebObjectTag.dynamicElement(WOHTMLWebObjectTag.java:155)
> at
> com.webobjects.appserver.parser.WOBundleComponentTemplateParser.didParseClosingWebObjectTag(WOBundleComponentTemplateParser.java:68)
> at
> com.webobjects.appserver.parser.WOHTMLParser.didParseClosingWebObjectTag(WOHTMLParser.java:194)
> at
> com.webobjects.appserver.parser.WOHTMLParser.endOfWebObjectTag(WOHTMLParser.java:161)
> at
> com.webobjects.appserver.parser.WOHTMLParser.parseHTML(WOHTMLParser.java:68)
> at
> com.webobjects.appserver.parser.WOBundleComponentTemplateParser.parse(WOBundleComponentTemplateParser.java:109)
> at
> com.webobjects.appserver.parser.WOHTMLTemplateParser.parse(WOHTMLTemplateParser.java:40)
> at
> com.webobjects.appserver.parser.WOComponentTemplateParser.templateWithHTMLAndDeclaration(WOComponentTemplateParser.java:438)
> at
> com.webobjects.appserver._private.WOComponentDefinition.template(WOComponentDefinition.java:364)
> at com.webobjects.appserver.WOComponent.template(WOComponent.java:499)
> at
> com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1112)
> at
> er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:107)
> at
> com.webobjects.appserver.WOSession.appendToResponse(WOSession.java:1385)
> at
> er.extensions.appserver.ERXSession.appendToResponse(ERXSession.java:540)
> at
> com.webobjects.appserver.WOApplication.appendToResponse(WOApplication.java:1794)
> at
> er.extensions.appserver.ERXApplication.appendToResponse(ERXApplication.java:1704)
> at
> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedPage(WOComponentRequestHandler.java:242)
> at
> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:298)
> at
> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:332)
> at
> com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369)
> at
> com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:442)
> at
> com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
> at
> er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:1802)
> at
> er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1767)
> at Application.dispatchRequest(Application.java:505)
> at
> com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
> at
> com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> at
> com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:614)
> ... 31 more
> Caused by: java.lang.NullPointerException
> at er.ajax.AjaxTabbedPanel.findTabs(AjaxTabbedPanel.java:94)
> at er.ajax.AjaxTabbedPanel.findTabs(AjaxTabbedPanel.java:107)
> at er.ajax.AjaxTabbedPanel.<init>(AjaxTabbedPanel.java:75)
> ... 36 more
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Adding my Application's dispatchRequest(.) method code:
>
> ------------------------------------------------------------------------------------------------------------------------------------
> public WOResponse dispatchRequest(WORequest aRequest){
> //here we basically want to capture one recently served perfect
> request, so to get to this, we'll check the request as follows.
> if(recentlyServedPerfectReq == null ||
> canResetRecentlyServedPerfectReq || (recentlyServedPerfectReq.sessionID() !=
> null && aRequest.sessionID() != null
> &&
> recentlyServedPerfectReq.sessionID().equals(aRequest.sessionID()) == false))
> {
> recentlyServedPerfectReq = aRequest;
> canResetRecentlyServedPerfectReq =
> (recentlyServedPerfectReq.sessionID() == null);
> }
>
> // first check if the session is created for this Request
> // Session not created means, first time user
>
> System.out.println("aRequest.sessionID()---->>>>>>"+aRequest.sessionID());
> // Session is not null, printing the session ID
> if(aRequest.sessionID() == null || (aRequest.sessionID() != null
> && aRequest.formValueForKey(".loginPage") != null) || (aRequest.sessionID()
> != null && aRequest.formValueForKey(".homePage") != null) ||
> (aRequest.sessionID() != null && aRequest.formValueForKey(".exitPage") !=
> null)){
> //This is the case where the session is not created Yet or
> the first page is not LoginPage
> return super.dispatchRequest(aRequest); // Exception is
> occurring at this line-505.
> }else if(aRequest.sessionID() != null &&
> aRequest.cookieValueForKey(aRequest.sessionID()) != null){
> // This is the case where the session is created and there is
> a cookie created in this request
> // check to see if the cookie matches the one that's set
> String userNameInSes = "";
> String hostNameInReq = "";
> String cookieValue =
> aRequest.cookieValueForKey(aRequest.sessionID());
> if(this.sessionStore() != null &&
> this.sessionStore().restoreSessionWithID(aRequest.sessionID(),aRequest) !=
> null){
> userNameInSes =
> ((Session)this.sessionStore().restoreSessionWithID(aRequest.sessionID(),aRequest)).loginUser().fullName();
> hostNameInReq = getHostNameFromRequest(aRequest);
>
>
> //System.out.println(" Cookie Value Constructed from
> session and request values= " + userNameInSes+hostNameInReq);
>
> // check to see if the value of cookie is same as that
> obtained now
> if((userNameInSes+hostNameInReq).equals(cookieValue)){
> // success. Send the user to the respective Page
> return super.dispatchRequest(aRequest);
>
> }
> }
>
> }
> // Any of the case doesn'e match, send the user to the login Page.
> WOResponse res = new WOResponse();
> WOComponent redirectPage =
> pageWithName("Main",createContextForRequest(aRequest));
> WOResponse resp = redirectPage.generateResponse();
> res.setContent(resp.contentString());
> //res.setContent("<html><body><h1>Error</h1></body></html>");
> return res;
> }
>
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Regards,
> Raghu.
>
> On 28-Jan-11, at 10:15 PM, Chuck Hill wrote:
>
>>> WOActionResults res = super.invokeAction(aRequest, aContext);
>>> ...
>>> return ((WOResponse)res); // Exception occurring at this
>>> line-151.
>>
>> Perhaps if you cast correctly? The issue is with your code, not
>> AjaxTabbedPanel.
>>
>>
>>
>> On Jan 28, 2011, at 6:53 AM, Raghavender wrote:
>>
>>> Hi,
>>>
>>> I am trying to implement Project Wonder's AjaxTabbedPanel and
>>> AjaxTabbedPanelTab in my application by following the Wonder Ajax Examples
>>> from the link
>>> http://webobjects.mdimension.com/cgi-bin/WebObjects/AjaxExample.woa/1 .
>>> But after added these AjaxTabbedPanel and AjaxTabbedPanelTab in my
>>> component's html and wod files then my page is not loading, getting the
>>> following exception:
>>>
>>> ------------------------------------------------------------------------------------------------------------------------------------
>>> 23848 [WorkerThread15] WARN NSLog -
>>> <com.webobjects.appserver._private.WOComponentRequestHandler>: Exception
>>> occurred while handling request:
>>> java.lang.ClassCastException: DDStartPage cannot be cast to
>>> com.webobjects.appserver.WOResponse
>>> [2011-1-28 9:42:11 EST] <WorkerThread15> java.lang.ClassCastException:
>>> DDStartPage cannot be cast to com.webobjects.appserver.WOResponse
>>> at Session.invokeAction(Session.java:151)
>>> at
>>> com.webobjects.appserver.WOApplication.invokeAction(WOApplication.java:1745)
>>> at
>>> er.extensions.appserver.ajax.ERXAjaxApplication.invokeAction(ERXAjaxApplication.java:50)
>>> at
>>> er.extensions.appserver.ERXApplication.invokeAction(ERXApplication.java:1687)
>>> at
>>> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedPage(WOComponentRequestHandler.java:206)
>>> at
>>> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:298)
>>> at
>>> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:332)
>>> at
>>> com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369)
>>> at
>>> com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:442)
>>> at
>>> com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
>>> at
>>> er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:1802)
>>> at
>>> er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1767)
>>> at Application.dispatchRequest(Application.java:503)
>>> at
>>> com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
>>> at
>>> com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
>>> at java.lang.Thread.run(Thread.java:619)
>>>
>>> ------------------------------------------------------------------------------------------------------------------------------------
>>>
>>> My Application and Session classes extends ERXApplication and ERXSession
>>> classes.
>>>
>>> Any help would be appreciated.
>>>
>>> Also adding my Session class invokeAction method code:
>>>
>>> ------------------------------------------------------------------------------------------------------------------------------------
>>> public WOActionResults invokeAction(WORequest aRequest, WOContext
>>> aContext) {
>>>
>>> WOElement element =
>>> (WOElement)requestLookup.objectForKey(aRequest.uri());
>>> if ( element == null ) {
>>> WOActionResults res = super.invokeAction(aRequest, aContext);
>>> try{
>>> element = ((WOComponent)res).template();
>>> }catch(Exception e){
>>> e.printStackTrace();
>>> return ((WOResponse)res); // Exception occurring at
>>> this line-151.
>>> }
>>> if (res!=null && element != null &&
>>> !isReportMillComponent(element)) {
>>> requestLookup.setObjectForKey(element, aRequest.uri());
>>>
>>> }
>>> return res;
>>> }
>>> else if ( element instanceof WOComponent ){
>>> ((WOComponent)element).ensureAwakeInContext(aContext);
>>> return (WOComponent)element;
>>>
>>> }
>>> return null;
>>> }
>>> ------------------------------------------------------------------------------------------------------------------------------------
>>>
>>> Thanks,
>>> Raghu.
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list ([email protected])
>>> Help/Unsubscribe/Update your Subscription:
>>> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
>>>
>>> This email sent to [email protected]
>>
>> --
>> Chuck Hill Senior Consultant / VP Development
>>
>> Practical WebObjects - for developers who want to increase their overall
>> knowledge of WebObjects or who are trying to solve specific problems.
>> http://www.global-village.net/products/practical_webobjects
>>
>>
>>
>>
>>
>>
>>
>
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their overall
knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
