We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you two Citrix podcasts. Learn about 2020 trends and get answers to your biggest Citrix questions!Listen Now

x

java.io.NotSerializableException in new servers

hkishoreb
hkishoreb asked
on
Medium Priority
296 Views
Last Modified: 2010-03-31
Recently we moved our code to new Weblogic servers. Now in the new servers we are getting java.io.NotSerializableException wich is not there in the old servers. Nothing has changed . The same code we moved to new servers. Need to solve this as early as possible.  Please let me know a solution. Thank you.
Comment
Watch Question

Mick BarryJava Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
you can probably ignore it, it may just be trying to serialize sessions.

can you post more details of the error.

Author

Commented:
This is causing the Payment failure (Not able to accept payments). This is a serious issue.Here is what log says.

CCPayment.authorize() : returning failed authorization :
java.rmi.MarshalException: failed to marshal performCommunication(Lcom.alltel.hypersuite.pay.objects.CommPayment;); nested exc
eption is:
        java.io.NotSerializableException: com.alltel.hypersuite.pay.objects.CommPayment
java.io.NotSerializableException: com.alltel.hypersuite.pay.objects.CommPayment
        at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1143)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:361)
        at weblogic.common.internal.ChunkedObjectOutputStream.writeObject(ChunkedObjectOutputStream.java:117)
        at weblogic.rjvm.MsgAbbrevOutputStream.writeObject(MsgAbbrevOutputStream.java:82)
        at weblogic.rmi.internal.ObjectIO.writeObject(ObjectIO.java:36)
        at weblogic.rmi.internal.BasicOutboundRequest.marshalArgs(BasicOutboundRequest.java:81)
        at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:257)
        at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:230)
        at com.alltel.hypersuite.pay.ejbs.paycommunication.PaymentechCommunicationBean_1u1zr6_EOImpl_WLStub.performCommunicati
on(Unknown Source)
        at com.alltel.hypersuite.pay.objects.CCPayment.authorize(CCPayment.java:324)
        at com.alltel.hypersuite.pay.objects.CCPayment.authorize(CCPayment.java:264)
        at com.alltel.hypersuite.pay.objects.PaymentTran.create(PaymentTran.java:162)
        at com.alltel.hypersuite.pay.objects.Payment.create(Payment.java:1766)
        at com.alltel.hypersuite.pay.ejbs.payauthorization.PaymentAuthorizationBean.performPayAuthorization(PaymentAuthorizati
onBean.java:161)
        at com.alltel.hypersuite.pay.ejbs.payauthorization.PaymentAuthorizationBean_gdc7kz_EOImpl.performPayAuthorization(Paym
entAuthorizationBean_gdc7kz_EOImpl.java:46)
        at com.alltel.hypersuite.pay.ejbs.payauthorization.PaymentAuthorizationBean_gdc7kz_EOImpl_WLSkel.invoke(Unknown Source
)
        at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:455)
        at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:114)
        at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:396)
        at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:726)
        at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:391)
        at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:251)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:219)

 **** EXCEPTION HANDLER: END EXCEPTION DESCRIPTION ***
>
<Mar 21, 2006 1:55:07 PM CST> <Info> <HYPERSUITE> <000000> <ERROR: User: JKL0706 Account: RAW6Q7B Sev: 2 Code: 1434 Desc: Prob
lem while processing the debit card payment>

Thank you.
Mick BarryJava Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
> com.alltel.hypersuite.pay.objects.CommPayment

This class is not Serializable and needs to be.
Reason being that it is being passed in an RMI call
Mick BarryJava Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
Make com.alltel.hypersuite.pay.objects.CommPayment implement Serializable

Author

Commented:
But why did it work on the old servers with out any problem ? This is the exception i am getting in only one server out of six. Please let me know your ideas.
Thank you
Mick BarryJava Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
It may not have been using RMI, and instead making the call directly.
Perhaps check the release notes.

Author

Commented:
ITs using everything same. We installed the same old application to the new servers. Nothing has changed.
Mick BarryJava Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
something has changed, ie. the server.
Java Developer
CERTIFIED EXPERT
Top Expert 2010
Commented:
its the server making the call, not your application.
Have a look at the stack trace for more detail.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Author

Commented:
Is this something related to session persistance ?
Mick BarryJava Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
no

Author

Commented:
We solved it. Thank you
It is a configuration issue
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.