Hi List,

I was trying to use ERPersistentSessionStorage (looks otherwise very promising, 
thx Ramsey).

I'm getting a silly NullPointerException (stacktrace below) in an application 
that was working perfectly before without using ERPersistantSessionStorage. I 
have no idea how to debug this to get more information.

The problem may come from storing an EO object called PMSUser in the session 
(basically a user object with name, login, passwd ... PMS=prefix for the 
project's classes). The code is:

public class Session extends ERXSession {

        private PMSUser currentUser = null;

        public PMSUser currentUser() {
                return currentUser;
        }

        public void setCurrentUser(PMSUser currentUser) {
                this.currentUser = currentUser;
        }
        ...
}

The page where the error occurs is the one where the user can change his/her 
personal data using a form like 

        <wo:form>
                <wo:textfield id="inputGivenName" value = 
"$session.currentUser.firstName" />
                ...
                <wo:submitButton action="$saveAction" value="save" /> 
        </wo:form>

but NOT AFTER saving, but directly before rendering the page with the form.

Any ideas? Thanks in advance,
C.U.CW
-- 

Christoph Wick - Diplom Informatiker, Managing Director
i4innovation GmbH, Professor-Neu-Allee 39, 53225 Bonn, Germany

T +49 2 28 28 62 97 93
M +49 1 51 22 65 78 90
F +49 2 28 28 62 97 99
M c...@i4innovation.de
W www.i4innovation.de

Geschäftsführer: Thomas Heep, Christoph Wick
Sitz der Gesellschaft: Bonn | Amtsgericht Bonn HRB 18548 | USt-IdNr.: 
DE276502600


Jul 29 14:41:01 PMS[65432] WARN  NSLog  - 
<er.extensions.appserver.ERXComponentRequestHandler>: Exception occurred while 
handling request:
java.lang.NullPointerException
[2013-7-29 14:41:1 MESZ] <WorkerThread0> java.lang.NullPointerException
        at 
com.webobjects.eocontrol.EOCustomObject.willReadRelationship(EOCustomObject.java:834)
        at 
er.extensions.eof.ERXGenericRecord.willReadRelationship(ERXGenericRecord.java:380)
        at 
com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer$_LazyGenericRecordBinding.valueInObject(_EOMutableKnownKeyDictionary.java:614)
        at 
er.extensions.eof.ERXGenericRecord$TouchingBinding.valueInObject(ERXGenericRecord.java:209)
        at 
com.webobjects.eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java:990)
        at 
com.webobjects.eocontrol.EOEditingContext._valuesForObject(EOEditingContext.java:790)
        at 
com.webobjects.eocontrol.EOCustomObject.writeObject(EOCustomObject.java:1125)
        at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170)
        at java.io.ObjectOutputStream.access$300(ObjectOutputStream.java:161)
        at 
java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1687)
        at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:478)
        at 
com.webobjects.foundation.NSDictionary.writeObject(NSDictionary.java:594)
        at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
        at 
com.webobjects.appserver.WOComponent.writeObject(WOComponent.java:314)
        at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170)
        at java.io.ObjectOutputStream.access$300(ObjectOutputStream.java:161)
        at 
java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1687)
        at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:478)
        at 
com.webobjects.foundation.NSDictionary.writeObject(NSDictionary.java:594)
        at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
        at 
com.webobjects.appserver.WOComponent.writeObject(WOComponent.java:314)
        at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170)
        at java.io.ObjectOutputStream.access$300(ObjectOutputStream.java:161)
        at 
java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1687)
        at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:478)
        at 
com.webobjects.foundation.NSDictionary.writeObject(NSDictionary.java:594)
        at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at 
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
        at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
        at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
        at 
er.persistentsessionstorage.model.ERSessionInfo.archiveDataFromSession(ERSessionInfo.java:61)
        at 
er.persistentsessionstorage.ERPersistentSessionStore.saveSessionForContext(ERPersistentSessionStore.java:46)
        at 
com.webobjects.appserver.WOSessionStore.checkInSessionForContext(WOSessionStore.java:234)
        at 
com.webobjects.appserver.WOApplication.saveSessionForContext(WOApplication.java:1892)
        at 
er.extensions.appserver.ERXApplication.saveSessionForContext(ERXApplication.java:2381)
        at 
er.extensions.appserver.ERXComponentRequestHandler._dispatchWithPreparedApplication(ERXComponentRequestHandler.java:273)
        at 
er.extensions.appserver.ERXComponentRequestHandler._handleRequest(ERXComponentRequestHandler.java:302)
        at 
er.extensions.appserver.ERXComponentRequestHandler.handleRequest(ERXComponentRequestHandler.java:378)
        at 
com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
        at 
er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:2109)
        at 
er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:2074)
        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:722)



 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to