Serialization Exception
Hi All,
I am developing webservice application using Dynamic Proxy client. I am using Weblogic8.1 as my application server. All my services are generated using servicegen and clientgen task of Ant.
While using Dynamic Proxy client to invoke webservice, i am passing array of my POJO class. I am generating types using generateTypes option of the service task so that it generates serialized class automatically. But while passing this array object as an input parameter while invoking webservice, i am getting below error -
[java] General exception thrown
[java] java.lang.reflect.UndeclaredThrowableException
[java] at $Proxy0.lookup(Unknown Source)
[java] at cititru.scan.transScan.createGiService(transScan.java:47)
[java] at cititru.scan.transScan.main(transScan.java:22)
[java] Caused by: java.rmi.RemoteException: Failed to invoke; nested exception is:
[java] javax.xml.rpc.JAXRPCException: web service invoke failed: javax.xml.soap.SOAPException: failed to serialize class [Lcititru.api.interdict.gi.ScannedTextData;weblogic.xml.schema.binding.SerializationException: mapping lookup failure. class=class Lcititru.api.interdict.gi.ScannedTextData; class context=TypedClassContext{schemaType=['java:cititru.api.interdict.gi']:ArrayOfScannedTextData}
[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
[java] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
[java] at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
[java] at weblogic.webservice.core.rpc.StubImpl.throwRemoteException(StubImpl.java:266)
[java] at weblogic.webservice.core.rpc.StubImpl.invoke(StubImpl.java:251)
[java] ... 3 more
[java] Caused by: javax.xml.rpc.JAXRPCException: web service invoke failed: javax.xml.soap.SOAPException: failed to serialize class [Lcititru.api.interdic
t.gi.ScannedTextData;weblogic.xml.schema.binding.SerializationException: mapping lookup failure. class=class [Lcititru.api.interdict.gi.ScannedTextData; class context=TypedClassContext{schemaType=['java:cititru.api.interdict.gi']:ArrayOfScannedTextData}
[java] at weblogic.webservice.core.rpc.StubImpl._invoke(StubImpl.java:331)
[java] at weblogic.webservice.core.rpc.StubImpl.invoke(StubImpl.java:247)
[java] ... 3 more
In the above error message ScannedTextData is my POJO class which i am passing as an input parameter to webservice. Please suggest me what needs to be done to resolve the above issue.
We'd need some more info to help you. Can you show us the code for your
sfsb? Are you sure you aren't doing something in ejbActivate to replace
the Serializable instance with a new class?
-- Rob
Kiran Raj wrote:
Hi All,
I have a problem while using a serialized class from within a stateful session
bean.
I am setting values to the serialized bean class by using one of the set methods
but at the very next statement when i am printing the values that is set is giving
null.
class myClass implements serializable {
private int counter=0;
public void setValues(){
counter++;
System.out.println(counter);
public int getValues(){
System.out.println(counter);
return counter;
class caller{
public void callingmethod(){
myClass x=new myClass();
x.setValues();
x.getValues();
when i call callingmethod, the output is
1
0
it is getting incremented and then getting reset to 0
I have 2 deployments, a development environment and a production environment.
It works fine in the development environment but fails in the production environment.
The xml files used are the same in both cases, so there is no configuration difference.
I am using welogic 6.1 wih service pack 3 and jdk 1.3.1
I suspect that this is related to serialization in weblogic but dont know exactly
how weblogic implements serialization.
if anybody has encountered this or knows the reasons it would be helpful to me.
Thanks,
Kiran.
Similar Messages
-
Serialization Exception for : CachedRowSet
Hi ..
I have populated my CachedRowSet with as follows
// lRst is a SCROLLABLE ResultSet
javax.sql.rowset.CachedRowSet lCachedRowSet = new com.sun.rowset.CachedRowSetImpl();
lCachedRowSet.setPageSize(mPageSize);
lCachedRowSet.populate(lRst,10);While i try to serialize CachedRowSet , I get a Serialization Exception.
for 'weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_ScrollableResultSet'
However if i try to populate the same as follows It works fine:
javax.sql.rowset.CachedRowSet lCachedRowSet = new com.sun.rowset.CachedRowSetImpl();
lCachedRowSet.setPageSize(mPageSize);
lCachedRowSet.populate(lRst);I am using Oracle 8i and Weblogic 8.1.
I have to take the first approach. Please let me know if there is any solution for the first approach.Hi ..
I have populated my CachedRowSet with as follows
// lRst is a SCROLLABLE ResultSet
javax.sql.rowset.CachedRowSet lCachedRowSet = new com.sun.rowset.CachedRowSetImpl();
lCachedRowSet.setPageSize(mPageSize);
lCachedRowSet.populate(lRst,10);While i try to serialize CachedRowSet , I get a Serialization Exception.
for 'weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_ScrollableResultSet'
However if i try to populate the same as follows It works fine:
javax.sql.rowset.CachedRowSet lCachedRowSet = new com.sun.rowset.CachedRowSetImpl();
lCachedRowSet.setPageSize(mPageSize);
lCachedRowSet.populate(lRst);I am using Oracle 8i and Weblogic 8.1.
I have to take the first approach. Please let me know if there is any solution for the first approach. -
Getting xml serializer exception
dont know what this mean, did anybody got this exception before.
Searched on google but got few results only which were not helpful.
Frustrated posting this here . if anybody has seen this and resolved this , give me tips on how to get this working or atleast what could be cause of this problem.
java.lang.NullPointerException
at org.apache.xml.serialize.OutputFormat.whichMethod(Unknown Source)
at org.apache.xml.serialize.OutputFormat.<init>(Unknown Source)
at com.tibco.portalservices.administrator.AbstractDOMDeploymentDescriptorEditor.update(AbstractDOMDeploymentDesc
riptorEditor.java:125)
at com.tibco.wfc.AbstractContainer.update(AbstractContainer.java:32)
at com.tibco.wfc.AbstractContainer.update(AbstractContainer.java:32)
at com.tibco.administrator.consoles.deploymentconfiguration.ServiceDetailPane.update(ServiceDetailPane.java:94)
at com.tibco.wfc.AbstractContainer.update(AbstractContainer.java:32)
at com.tibco.wfc.AbstractContainer.update(AbstractContainer.java:32)
at com.tibco.wfc.AbstractFrame.update(AbstractFrame.java:101)
at com.tibco.wfc.FramesetComponent.update(FramesetComponent.java:186)
at com.tibco.wfc.AbstractContainer.update(AbstractContainer.java:32)
at com.tibco.wfc.AbstractFrame.update(AbstractFrame.java:101)
at com.tibco.wfc.FrameManager.a(FrameManager.java:235)
at com.tibco.wfc.FrameManager.service(FrameManager.java:142)
at com.tibco.administrator.AdministratorServlet.service(AdministratorServlet.java:843)
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 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:2416)
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:172)
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:595)There is no HashMap in your ArrayList. Take a look at this line:
selectedDataList.add(searchList);I think a object f type SearchBean is added to the list here. This is no HashMap I presume.
Please use code tags when posting code. This looks lke this:
public String getSelectedItems() {
// Get selected items.
HashMap map = new HashMap();
DeleteContentDialog deleteContentDialog = new DeleteContentDialog();
selectedDataList = new ArrayList();
for (SearchBean searchList : searchResultdetails) {
System.out.println("Inside getSelectedItems.........Inside for"+searchList);
if (searchList.isSelected()) {
System.out.println("Inside getSelectedItems........searchList."+searchList);
selectedDataList.add(searchList);
searchList.setSelected(false); // Reset.
try {
for(int i=0;i<selectedDataList.size();i++){
System.out.println("Inside the delete Method");
System.out.println("selectedDataList is "+selectedDataList.get(i));
if (selectedDataList.size() != 0)
System.out.println("Array List is having = "selectedDataList.size()" records");
//printValuesTest(medianList);
System.out.println("**************THESE ARE THE VALUES OF THE HASHMAP AT THE INDEX = "+i);
map = (HashMap)selectedDataList.get(i);
if (map.size() != 0)
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext())
String key = (String) iterator.next();
String value = (String) map.get(key);
System.out.println("Key = "key " and Value = "+value);
deleteContentDialog.init(map);
else
System.out.println("Hashmap is empty");
catch(Exception e){
e.printStackTrace();
return "deletedFile"; // Navigation case.
} -
Serialization exception in RMI
I have a GameServerImp remote class:
HashMap clients;
HashMap versus;
public GameServerImp() throws RemoteException
clients =new HashMap();
versus =new HashMap();
public void register(String name,GameClientInt c) throws RemoteException
clients.put(name,c);
these are its functions.
I have a client :
public class BI implements GameClientInt{
public BI()
I have following code invoking the register method.
1 mainServer = (GameServerInt)Naming.lookup("rmi://localhost:1099/gameservice");
2 mainServer.register(name,new BI());
when 2 line executes it gives exception:
java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: BI
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:179)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)
at $Proxy0.register(Unknown Source)
There is nothing related to io :(. I cant figure out why it is happening.Hi,
Please user for posting sample code
Does this interface GameClientInt extends Serializable? if not can you do that and try again
Regards,
Alan Mehio
London,UK -
I was able to get my HTTPS web service to communicate with my clients, but now
when I try to connect to the web service (type=document), I get this error:
[java] 3) testQuoteStubs(com.arrow.arrowsoap.client.QuoteServiceClientTest)
junit.framework.AssertionFailedError: failed to serialize class java.lang.Objectweblogic.xml.schema.binding.SerializationException:
type mapping lookup failure on class=class weblogic.apache.xerces.dom.DeferredDocumentImpl
TypeMapping=TYPE
MAPPING SIZE=3
[java] ENTRY 1:
[java] class: java.lang.Object
[java] xsd_type: ['https://www.xxx.com/QuoteService/']:lcl0:ProcessResponse
[java] ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
b957ea
[java] deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
3aff84
[java] ENTRY 2:
[java] class: java.lang.Object
[java] xsd_type: ['https://www.xxx.com/QuoteService/']:lcl0:Process
[java] ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
15d4de6
[java] deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
a53de4
[java] ENTRY 3:
[java] class: java.lang.Object
[java] xsd_type: ['http://www.w3.org/2001/XMLSchema']:xsd:anyType
[java] ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
827968
[java] deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
1f0b7d3
[java] at com.arrow.arrowsoap.client.QuoteServiceClientTest.testQuoteSt
ubs(QuoteServiceClientTest.java:98)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
sorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
hodAccessorImpl.java:25)
Attached is the WSDL for the service.
The type-mapping file looks like:
<wsdd:type-mapping xmlns:wsdd="http://www.bea.com/servers/wls70"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<wsdd:type-mapping-entry xmlns:lcl0="https://www.xxx.com/QuoteService/"
class-name="java.lang.Object"
type="lcl0:ProcessResponse"
serializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec"
deserializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec">
</wsdd:type-mapping-entry>
<wsdd:type-mapping-entry xmlns:lcl0="https://www.xxx.com/QuoteService/"
class-name="java.lang.Object"
type="lcl0:Process"
serializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec"
deserializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec">
</wsdd:type-mapping-entry>
<wsdd:type-mapping-entry class-name="java.lang.Object"
type="xsd:anyType"
serializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec"
deserializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec">
</wsdd:type-mapping-entry>
</wsdd:type-mapping>
Any ideas?? Am I missing something from my classpath?? I am running the tests
using the WL 8.1 ANT installation and using this as my WL classpath (my own jars
are added first in the path and are omitted here):
<pathelement path="${weblogic.home}/lib/webserviceclient.jar"/>
<pathelement path="${weblogic.home}/lib/weblogic_sp.jar"/>
<pathelement path="${weblogic.home}/lib/weblogic.jar"/>
Thanks
-- jake
[QuoteService.wsdl]Hi Karen,
My suggestion is to separate the issues (serialization failures and
SSL). Make sure your app works OK using http trasport. For SSL, RU
using the WLSSLAdapter for the client as described in the docs [1]? One
or 2way SSL? What version of WLS?
Thanks,
Bruce
[1]
http://edocs.bea.com/wls/docs81/webserv/security.html#1053203
Karen Yuan wrote:
>
Hi Bruce,
I was also getting the SerializationException when I tried to connect from my
weblogic web
service client to my HTTPS webMethods web service (SOAP-RPC protocol). Then I
included
webserviceclient+ssl.jar client runtime JAR file on both of my client and server
sides and re-ran
my test. I still got the same error:
Exception in thread "main" java.rmi.RemoteException: web service invoke failed:
javax.xml.soap.SOAPException: failed to serialize class java.lang.Objectweblogic.xml.schema.binding.SerializationException:
type mapping lookup
failure on class=class java.io.StringReader TypeMapping=TYPEMAPPING SIZE=2
ENTRY 1:
class: com.freddiemac.ImportLoan.FileUploadHttpsStreamClient.WS_1.importLoan
SubmitStream.CallServletInput
xsd_type: ['http://com/freddiemac/ImportLoan/FileUploadHttpsStreamClient/WS_1/i
mportLoanSubmitStream']:lcl0:__callServletInput
ser: com.freddiemac.ImportLoan.FileUploadHttpsStreamClient.WS_1.importLoan
SubmitStream.CallServletInputCodec@7eb366
deser: com.freddiemac.ImportLoan.FileUploadHttpsStreamClient.WS_1.importLoan
SubmitStream.CallServletInputCodec@33f0de
ENTRY 2:
class: com.freddiemac.ImportLoan.FileUploadHttpsStreamClient.WS_1.importLoan
SubmitStream.CallServletOutput
xsd_type: ['http://com/freddiemac/ImportLoan/FileUploadHttpsStreamClient/WS_1/i
mportLoanSubmitStream']:lcl0:__CallServletOutput
ser: com.freddiemac.ImportLoan.FileUploadHttpsStreamClient.WS_1.importLoan
SubmitStream.CallServletOutputCodec@ab444
deser: com.freddiemac.ImportLoan.FileUploadHttpsStreamClient.WS_1.importLoan
SubmitStream.CallServletOutputCodec@c0f1ec; nested exception is:
.... more
Any suggestions?
Thanks,
Karen
Bruce Stephens <[email protected]> wrote:
Hi Jacob,
From your post it was not clear was working and what was changed. Could
you clarify. Note, for the standalone client app using SSL, you will
need to include webserviceclient+ssl.jar client runtime JAR file,
described in the docs [1].
Thanks,
Bruce
[1]
http://edocs.bea.com/wls/docs81/webserv/security.html#1053203
Jacob Anderson wrote:
I was able to get my HTTPS web service to communicate with my clients,but now
when I try to connect to the web service (type=document), I get thiserror:
[java] 3) testQuoteStubs(com.arrow.arrowsoap.client.QuoteServiceClientTest)
junit.framework.AssertionFailedError: failed to serialize class java.lang.Objectweblogic.xml.schema.binding.SerializationException:
type mapping lookup failure on class=class weblogic.apache.xerces.dom.DeferredDocumentImpl
TypeMapping=TYPE
MAPPING SIZE=3
[java] ENTRY 1:
[java] class: java.lang.Object
[java] xsd_type: ['https://www.xxx.com/QuoteService/']:lcl0:ProcessResponse
[java] ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
b957ea
[java] deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
3aff84
[java] ENTRY 2:
[java] class: java.lang.Object
[java] xsd_type: ['https://www.xxx.com/QuoteService/']:lcl0:Process
[java] ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
15d4de6
[java] deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
a53de4
[java] ENTRY 3:
[java] class: java.lang.Object
[java] xsd_type: ['http://www.w3.org/2001/XMLSchema']:xsd:anyType
[java] ser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
827968
[java] deser: weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec@
1f0b7d3
[java] at com.arrow.arrowsoap.client.QuoteServiceClientTest.testQuoteSt
ubs(QuoteServiceClientTest.java:98)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
sorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
hodAccessorImpl.java:25)
Attached is the WSDL for the service.
The type-mapping file looks like:
<wsdd:type-mapping xmlns:wsdd="http://www.bea.com/servers/wls70"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<wsdd:type-mapping-entry xmlns:lcl0="https://www.xxx.com/QuoteService/"
class-name="java.lang.Object"
type="lcl0:ProcessResponse"
serializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec"
deserializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec">
</wsdd:type-mapping-entry>
<wsdd:type-mapping-entry xmlns:lcl0="https://www.xxx.com/QuoteService/"
class-name="java.lang.Object"
type="lcl0:Process"
serializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec"
deserializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec">
</wsdd:type-mapping-entry>
<wsdd:type-mapping-entry class-name="java.lang.Object"
type="xsd:anyType"
serializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec"
deserializer="weblogic.xml.schema.binding.internal.builtin.XSDAnyCodec">
</wsdd:type-mapping-entry>
</wsdd:type-mapping>
Any ideas?? Am I missing something from my classpath?? I am runningthe tests
using the WL 8.1 ANT installation and using this as my WL classpath(my own jars
are added first in the path and are omitted here):
<pathelement path="${weblogic.home}/lib/webserviceclient.jar"/>
<pathelement path="${weblogic.home}/lib/weblogic_sp.jar"/>
<pathelement path="${weblogic.home}/lib/weblogic.jar"/>
Thanks
-- jake
Name: QuoteService.wsdl
QuoteService.wsdl Type: ACT Project (text/xml)
Encoding: base64 -
SevletContextImpl not serializable exception when one cluster is restarted.
Hello,
I am using WLS 5.1 SP8 with apache plug-in and in-memory session
replication. There is one proxy server and two cluster: A and B. I started
cluster A and B together and each cluster would "see" each other. I shut
down cluster A and my session will continue working fine on cluster B.
However, when I restart cluster A, I get the the following stack trace from
cluster B:
Mon Apr 02 12:04:56 PDT 2001:<I> <Cluster> Adding server
6345049800752707933S172
.17.17.77:[80,80,443,443,80,-1] to cluster view
Mon Apr 02 12:04:57 PDT 2001:<E> <Kernel> ExecuteRequest failed.
java.io.NotSerializableException:
weblogic.servlet.internal.ServletContextImpl
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.io.IOException.<init>(Compiled Code)
at
java.io.ObjectStreamException.<init>(ObjectStreamException.java:29)
at
java.io.NotSerializableException.<init>(NotSerializableException.java
:31)
at java.io.ObjectOutputStream.outputObject(Compiled Code)
at java.io.ObjectOutputStream.writeObject(Compiled Code)
at java.io.ObjectOutputStream.outputClassFields(Compiled Code)
at java.io.ObjectOutputStream.defaultWriteObject(Compiled Code)
at java.io.ObjectOutputStream.outputObject(Compiled Code)
at java.io.ObjectOutputStream.writeObject(Compiled Code)
at java.util.Hashtable.writeObject(Compiled Code)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Compiled Code)
at java.io.ObjectOutputStream.invokeObjectWriter(Compiled Code)
at java.io.ObjectOutputStream.outputObject(Compiled Code)
at java.io.ObjectOutputStream.writeObject(Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObject(Compiled Code)
at
weblogic.servlet.internal.session.ReplicatedSession.writeExternal(Replicated
Session.java:74)
at
weblogic.common.internal.WLObjectOutputStreamBase.writePublicSerializable(Co
mpiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectBody(Compiled
Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObject(Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectWL(Compi
at
weblogic.rmi.extensions.AbstractOutputStream2.writeObject(Compiled Code)
at weblogic.rmi.extensions.AbstractOutputStream.writeObject(Compiled
Code)
at
weblogic.cluster.replication.ReplicationManager_WLStub.create(ReplicationMan
ager_WLStub.java:86)
at
weblogic.cluster.replication.ReplicationManager.createSecondary(Compiled
Code)
at
weblogic.cluster.replication.ReplicationManager.checkHosts(Compiled Code)
at
weblogic.cluster.replication.ReplicationManager.clusterMembersChanged(Replic
ationManager.java:582)
at
weblogic.cluster.MemberStash$ClusterMembersChangeDeliverer.execute(MemberSta
sh.java:207)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
--------------- nested within: ------------------
weblogic.rmi.MarshalException: error marshalling arguments
- with nested exception:
[java.io.NotSerializableException:
weblogic.servlet.internal.ServletContextImpl]
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.io.IOException.<init>(Compiled Code)
at weblogic.common.T3Exception.<init>(T3Exception.java:47)
at weblogic.rmi.RemoteException.<init>(RemoteException.java:41)
at weblogic.rmi.MarshalException.<init>(MarshalException.java:31)
at
weblogic.cluster.replication.ReplicationManager_WLStub.create(ReplicationMan
ager_WLStub.java:90)
at
weblogic.cluster.replication.ReplicationManager.createSecondary(Compiled
Code)
at
weblogic.cluster.replication.ReplicationManager.checkHosts(Compiled Code)
at
weblogic.cluster.replication.ReplicationManager.clusterMembersChanged(Replic
ationManager.java:582)
at
weblogic.cluster.MemberStash$ClusterMembersChangeDeliverer.execute(MemberSta
sh.java:207)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
--------------- nested within: ------------------
weblogic.rmi.extensions.RemoteRuntimeException: Undeclared checked
exception - w
ith nested exception:
[weblogic.rmi.MarshalException: error marshalling arguments
- with nested exception:
[java.io.NotSerializableException:
weblogic.servlet.internal.ServletContextImpl]
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.lang.RuntimeException.<init>(RuntimeException.java:47)
at
weblogic.utils.NestedRuntimeException.<init>(NestedRuntimeException.java:23)
at
weblogic.rmi.extensions.RemoteRuntimeException.<init>(RemoteRuntimeException
.java:22)
at
weblogic.cluster.replication.ReplicationManager_WLStub.create(ReplicationMan
ager_WLStub.java:108)
at
weblogic.cluster.replication.ReplicationManager.createSecondary(Compiled
Code)
at
weblogic.cluster.replication.ReplicationManager.checkHosts(Compiled Code)
at
weblogic.cluster.replication.ReplicationManager.clusterMembersChanged(Replic
ationManager.java:582)
at
weblogic.cluster.MemberStash$ClusterMembersChangeDeliverer.execute(MemberSta
sh.java:207)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
I looked everywhere in our code and we don't store ServletContext object
anywhere in the session level..Can someone give me some hints as to what the
problem is?
Thanks for your help in advance.
Vincent
You probably have a non serializable object in your session.
You can have only serializable data in the session.
Cheers,
-- Prasad
Vincent Shek wrote:
> Hello,
>
> I am using WLS 5.1 SP8 with apache plug-in and in-memory session
> replication. There is one proxy server and two cluster: A and B. I started
> cluster A and B together and each cluster would "see" each other. I shut
> down cluster A and my session will continue working fine on cluster B.
> However, when I restart cluster A, I get the the following stack trace from
> cluster B:
>
> Mon Apr 02 12:04:56 PDT 2001:<I> <Cluster> Adding server
> 6345049800752707933S172
> .17.17.77:[80,80,443,443,80,-1] to cluster view
> Mon Apr 02 12:04:57 PDT 2001:<E> <Kernel> ExecuteRequest failed.
> java.io.NotSerializableException:
> weblogic.servlet.internal.ServletContextImpl
> at java.lang.Throwable.fillInStackTrace(Native Method)
> at java.lang.Throwable.fillInStackTrace(Compiled Code)
> at java.lang.Throwable.<init>(Compiled Code)
> at java.lang.Exception.<init>(Compiled Code)
> at java.io.IOException.<init>(Compiled Code)
> at
> java.io.ObjectStreamException.<init>(ObjectStreamException.java:29)
> at
> java.io.NotSerializableException.<init>(NotSerializableException.java
> :31)
> at java.io.ObjectOutputStream.outputObject(Compiled Code)
> at java.io.ObjectOutputStream.writeObject(Compiled Code)
> at java.io.ObjectOutputStream.outputClassFields(Compiled Code)
> at java.io.ObjectOutputStream.defaultWriteObject(Compiled Code)
> at java.io.ObjectOutputStream.outputObject(Compiled Code)
> at java.io.ObjectOutputStream.writeObject(Compiled Code)
> at java.util.Hashtable.writeObject(Compiled Code)
> at java.lang.reflect.Method.invoke(Native Method)
> at java.lang.reflect.Method.invoke(Compiled Code)
> at java.io.ObjectOutputStream.invokeObjectWriter(Compiled Code)
> at java.io.ObjectOutputStream.outputObject(Compiled Code)
> at java.io.ObjectOutputStream.writeObject(Compiled Code)
> at
> weblogic.common.internal.WLObjectOutputStreamBase.writeObject(Compiled Code)
> at
> weblogic.servlet.internal.session.ReplicatedSession.writeExternal(Replicated
> Session.java:74)
> at
> weblogic.common.internal.WLObjectOutputStreamBase.writePublicSerializable(Co
> mpiled Code)
> at
> weblogic.common.internal.WLObjectOutputStreamBase.writeObjectBody(Compiled
> Code)
> at
> weblogic.common.internal.WLObjectOutputStreamBase.writeObject(Compiled Code)
> at
> weblogic.common.internal.WLObjectOutputStreamBase.writeObjectWL(Compi
> at
> weblogic.rmi.extensions.AbstractOutputStream2.writeObject(Compiled Code)
> at weblogic.rmi.extensions.AbstractOutputStream.writeObject(Compiled
> Code)
> at
> weblogic.cluster.replication.ReplicationManager_WLStub.create(ReplicationMan
> ager_WLStub.java:86)
> at
> weblogic.cluster.replication.ReplicationManager.createSecondary(Compiled
> Code)
> at
> weblogic.cluster.replication.ReplicationManager.checkHosts(Compiled Code)
> at
> weblogic.cluster.replication.ReplicationManager.clusterMembersChanged(Replic
> ationManager.java:582)
> at
> weblogic.cluster.MemberStash$ClusterMembersChangeDeliverer.execute(MemberSta
> sh.java:207)
> at weblogic.kernel.ExecuteThread.run(Compiled Code)
>
> --------------- nested within: ------------------
> weblogic.rmi.MarshalException: error marshalling arguments
> - with nested exception:
> [java.io.NotSerializableException:
> weblogic.servlet.internal.ServletContextImpl]
> at java.lang.Throwable.fillInStackTrace(Native Method)
> at java.lang.Throwable.fillInStackTrace(Compiled Code)
> at java.lang.Throwable.<init>(Compiled Code)
> at java.lang.Exception.<init>(Compiled Code)
> at java.io.IOException.<init>(Compiled Code)
> at weblogic.common.T3Exception.<init>(T3Exception.java:47)
> at weblogic.rmi.RemoteException.<init>(RemoteException.java:41)
> at weblogic.rmi.MarshalException.<init>(MarshalException.java:31)
> at
> weblogic.cluster.replication.ReplicationManager_WLStub.create(ReplicationMan
> ager_WLStub.java:90)
> at
> weblogic.cluster.replication.ReplicationManager.createSecondary(Compiled
> Code)
> at
> weblogic.cluster.replication.ReplicationManager.checkHosts(Compiled Code)
> at
> weblogic.cluster.replication.ReplicationManager.clusterMembersChanged(Replic
> ationManager.java:582)
> at
> weblogic.cluster.MemberStash$ClusterMembersChangeDeliverer.execute(MemberSta
> sh.java:207)
> at weblogic.kernel.ExecuteThread.run(Compiled Code)
> --------------- nested within: ------------------
> weblogic.rmi.extensions.RemoteRuntimeException: Undeclared checked
> exception - w
> ith nested exception:
> [weblogic.rmi.MarshalException: error marshalling arguments
> - with nested exception:
> [java.io.NotSerializableException:
> weblogic.servlet.internal.ServletContextImpl]
> ]
> at java.lang.Throwable.fillInStackTrace(Native Method)
> at java.lang.Throwable.fillInStackTrace(Compiled Code)
> at java.lang.Throwable.<init>(Compiled Code)
> at java.lang.Exception.<init>(Compiled Code)
> at java.lang.RuntimeException.<init>(RuntimeException.java:47)
> at
> weblogic.utils.NestedRuntimeException.<init>(NestedRuntimeException.java:23)
> at
> weblogic.rmi.extensions.RemoteRuntimeException.<init>(RemoteRuntimeException
> .java:22)
> at
> weblogic.cluster.replication.ReplicationManager_WLStub.create(ReplicationMan
> ager_WLStub.java:108)
> at
> weblogic.cluster.replication.ReplicationManager.createSecondary(Compiled
> Code)
> at
> weblogic.cluster.replication.ReplicationManager.checkHosts(Compiled Code)
> at
> weblogic.cluster.replication.ReplicationManager.clusterMembersChanged(Replic
> ationManager.java:582)
> at
> weblogic.cluster.MemberStash$ClusterMembersChangeDeliverer.execute(MemberSta
> sh.java:207)
> at weblogic.kernel.ExecuteThread.run(Compiled Code)
>
> I looked everywhere in our code and we don't store ServletContext object
> anywhere in the session level..Can someone give me some hints as to what the
> problem is?
>
> Thanks for your help in advance.
>
> Vincent
-
Hi:
I have a JSF application that works fine.
I do have in the Tomcat logs the following exception
WARNING: Cannot serialize session attribute SessionBean1 for session 92B0E4668AA791BD626F99DB1DC5A841
java.io.NotSerializableException: com.motorola.mmu.ParmItemThis ParmItem is a simple class that has getters and Setters for an simple Item object.
1. Why is JSF trying to serialize this?
2. Should I add the Serializable interface to this class
3. Is there a good example to this?
ThanksApparently you've configured Tomcat so that it persists sessions on disk (e.g. for clustering or for recovering on restart). In this case all session attributes should be serializable. Just let it implement java.io.Serializable. Read its API document for more details and how to use serialVersionUID: http://java.sun.com/javase/6/docs/api/java/io/Serializable.html Or if you don't need clustering or recovering on restart, then disable it in the Tomcat configuration.
-
TOPLink serialization exception
When switching from a single server deployment to a (single) server in a
cluster.
I suddenly get the exception as shown in the stacktrace below.
Is this a known bug? Or am I doing something wrong?
Thanks Toby
Fri Dec 03 14:10:48 GMT+02:00 1999:<E> <MulticastSocket>
java.io.NotSerializableException:
TOPLink.Public.ThreeTier.ExternalConnecti
onPool
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java,
Compiled Code)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java, Compiled
Code)
at java.util.Hashtable.writeObject(Hashtable.java, Compiled
Code)
at java.lang.reflect.Method.invoke(Native Method)
at
java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java,
Compiled Code)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java,
Compiled Code)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java, Compiled
Code)
at
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java,
Compiled Code)
at
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java,
Compiled Code)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java,
Compiled Code)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java, Compiled
Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObject(WLObjectOutputStreamBase.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeSpecial(WLObjectOutputStreamBase.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObject(WLObjectOutputStreamBase.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectWL(WLObjectOutputStreamBase.java,
Compiled Code)
at
weblogic.cluster.BasicServiceOffer.writeObject(BasicServiceOffer.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writePublicSerializable(WLObjectOutputStreamBase.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectBody(WLObjectOutputStreamBase.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObject(WLObjectOutputStreamBase.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectWL(WLObjectOutputStreamBase.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeArrayList(WLObjectOutputStreamBase.java,
Compiled Code)
at weblogic.cluster.Announcement.writeObject(Announcement.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writePublicSerializable(WLObjectOutputStreamBase.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectBody(WLObjectOutputStreamBase.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObject(WLObjectOutputStreamBase.java,
Compiled Code)
at
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectWL(WLObjectOutputStreamBase.java,
Compiled Code)
at weblogic.cluster.TMSocket.send(TMSocket.java, Compiled Code)
at weblogic.cluster.TMSocket.start(TMSocket.java, Compiled Code)
at weblogic.cluster.ClusterManager.start(ClusterManager.java,
Compiled Code)
at weblogic.cluster.ClusterMain.start(ClusterMain.java, Compiled
Code)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java, Compiled Code)
at weblogic.t3.srvr.T3Srvr.main(T3Srvr.java, Compiled Code)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.Server.startServerDynamically(Server.java, Compiled
Code)
at weblogic.Server.main(Server.java, Compiled Code)
Hi folks,
Are there any outstanding problems with this that have not been dealt with
through TOPLink for WebLogic support? Just looking at the exception
stack trace it looks like the TOPLink session is trying to be serialized.
This will occur if it has been put in JNDI, since clusters will replicate
the JNDI namespace across the cluster. If this isn't what you are seeing
then please let us know at [email protected]
Note that the first GA release of TOPLink for WebLogic did put the
session in JNDI, but this was changed in every release after that one.
Regards,
Mike Keith
TOPLink for Weblogic
Steve Cramer <[email protected]> wrote in message
news:[email protected]...
> Any news on this (from either BEA or TOPLink)? We're seeing this
identical
> behavior in the WLS 5.1 GA release, using TOPLink for Java v 2.5.1
> (pre-release 1). Please respond if you've had any updates.
>
> Thanks,
> cramer
>
> Tobias Christen <[email protected]> wrote in message
> news:[email protected]...
> > Sorry,
> >
> > I mixed up two open issues with TopLink.
> > The bug this thread is concerned about is not cured with
> > SP3 and never was intended. TopLink never made a statement
> > on fixing this bug. Please excuse my misinformation. The bug
> > was reported to TopLink this morning. If it is resolved
> > I´ll mail the solution to this thread.
> >
> > Toby
> >
> > Christopher Lynch wrote:
> >
> > > Hi,
> > > We are experiencing pretty much if not the same exception when we
try
> to cluster
> > > our weblogic servers.
> > >
> > > Please let me know if you have any more insight on this problem.
> > >
> > > Thank You,
> > >
> > > Chris Lynch
> > > TravelNow.com
> > >
> > > Tobias Christen wrote:
> > >
> > > > Thanks,
> > > >
> > > > I certainly checked with them as well, they said they are working
> > > > with you on this ;-) and let us know when it is fixed.
> > > >
> > > > Happy Day
> > > >
> > > > Michael Girdley wrote:
> > > >
> > > > > Tobias,
> > > > >
> > > > > Have you checked with TOPLink support to know if this is a known
> problem? I
> > > > > have not heard of it before. In any case, the Object People are
> your best
> > > > > resource for these kind of questions about TOPLink.
> > > > >
> > > > > Thanks!
> > > > >
> > > > > --
> > > > > Michael Girdley
> > > > > BEA Product Manager
> > > > >
> > > > > Tobias Christen <[email protected]> wrote in message
> > > > > news:[email protected]...
> > > > > > When switching from a single server deployment to a (single)
> server in a
> > > > > > cluster.
> > > > > > I suddenly get the exception as shown in the stacktrace below.
> > > > > >
> > > > > > Is this a known bug? Or am I doing something wrong?
> > > > > >
> > > > > > Thanks Toby
> > > > > >
> > > > > >
> > > > > > Fri Dec 03 14:10:48 GMT+02:00 1999:<E> <MulticastSocket>
> > > > > > java.io.NotSerializableException:
> > > > > > TOPLink.Public.ThreeTier.ExternalConnecti
> > > > > > onPool
> > > > > > at
> > > > > > java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java,
> Compiled
> > > > > > Code)
> > > > > > at java.util.Hashtable.writeObject(Hashtable.java,
> Compiled
> > > > > > Code)
> > > > > > at java.lang.reflect.Method.invoke(Native Method)
> > > > > > at
> > > > > >
> java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > > java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java,
> Compiled
> > > > > > Code)
> > > > > > at
> > > > > >
> java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > > java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java,
> Compiled
> > > > > > Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writeObject(WLObjectOutput
> > > > > StreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writeSpecial(WLObjectOutpu
> > > > > tStreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writeObject(WLObjectOutput
> > > > > StreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectWL(WLObjectOutp
> > > > > utStreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> weblogic.cluster.BasicServiceOffer.writeObject(BasicServiceOffer.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writePublicSerializable(WL
> > > > > ObjectOutputStreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectBody(WLObjectOu
> > > > > tputStreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writeObject(WLObjectOutput
> > > > > StreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectWL(WLObjectOutp
> > > > > utStreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writeArrayList(WLObjectOut
> > > > > putStreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> weblogic.cluster.Announcement.writeObject(Announcement.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writePublicSerializable(WL
> > > > > ObjectOutputStreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectBody(WLObjectOu
> > > > > tputStreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writeObject(WLObjectOutput
> > > > > StreamBase.java,
> > > > > > Compiled Code)
> > > > > > at
> > > > > >
> > > > >
>
weblogic.common.internal.WLObjectOutputStreamBase.writeObjectWL(WLObjectOutp
> > > > > utStreamBase.java,
> > > > > > Compiled Code)
> > > > > > at weblogic.cluster.TMSocket.send(TMSocket.java,
Compiled
> Code)
> > > > > > at weblogic.cluster.TMSocket.start(TMSocket.java,
Compiled
> Code)
> > > > > >
> > > > > > at
> weblogic.cluster.ClusterManager.start(ClusterManager.java,
> > > > > > Compiled Code)
> > > > > > at weblogic.cluster.ClusterMain.start(ClusterMain.java,
> Compiled
> > > > > > Code)
> > > > > > at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java, Compiled
> Code)
> > > > > > at weblogic.t3.srvr.T3Srvr.main(T3Srvr.java, Compiled
> Code)
> > > > > > at java.lang.reflect.Method.invoke(Native Method)
> > > > > > at weblogic.Server.startServerDynamically(Server.java,
> Compiled
> > > > > > Code)
> > > > > > at weblogic.Server.main(Server.java, Compiled Code)
> > > > > >
> >
>
>
-
Serialization exception and generics
Hi.
I am using a java bean that sends a Map<Integer> from a server to the client. However, I get an exception when deserializing on the client side. Could this exception come from the fact that the client side tries to deserialize this as just a Map, without generics?
ThanksCould this exception come from the fact that the client side tries to deserialize this as just a Map, without generics?Most likely no, but of course I'm just guessing since you didn't post the stack trace.
-
Serialization Exception with a MailSession in a WLS 9.1 Clusterred Env.
I have a WLS 9.1 cluster of 2 machines. My EJB's are targetted to both
machines in the cluster, and I have a single WLS MailSession that is
targetted to both machines in the cluster.
One of the EJB's is responsible for sending emails. Every so often I get a
NotSerializableException when the EJB looksup the mail session. After some
diagnosis it appears that every once in a while the JNDI lookup for the mail
session returns the MailSession from the opposite machine in the cluster:
IE: the EJB running on server 1, gets the MailSession from server 2, and
vice-versa.
When the same EJB is running in a non clustered env, there are no problems.
And the problem in the cluster is intermittent - sometimes the lookup
succeeds and the EJB gets a handle to the local MailSession object, and
sometimes it fails.
Has anyone else experienced this problem? Is this a known problem? If so,
are there any patches for it?
Thanks,
Brett
The exception is:
javax.naming.ConfigurationException [Root exception is
java.rmi.MarshalException: error marshalling return; nested exception is: \n
java
.io.NotSerializableException: javax.mail.Session]\n at
weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTra
nslator.java:46)\n at
weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:78)\n
at weblogic.
jndi.internal.WLContextImpl.translateException(WLContextImpl.java:421)\n at
weblogic.jndi.internal.WLContextImpl.lookup(WLCon
textImpl.java:377)\n at
weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:362)\n at
javax.naming.InitialConte
xt.lookup(InitialContext.java:351)\n at
com.certapay.ejb.Mailer.send(Mailer.java:55)I am having exact same problem (albeit accessing the mail session through spring wrapper). Has anyone got this to work? If not, looks liek a bug in BEA :-).
Anuj -
Not Serializable exception saving where criteria in QueryModelBase
I take the exception below processing every href. It appears that
where criteria is not being applied also though I've not pursued that
yet.
THE ERROR--------------------------------------------------------------
Web event invoked:
NDbasicApp.NDbasic.PgCustomerListRepeated1TiledView.HrCustomerID
[27/Oct/2000 20:43:37:9] error: Exception: SERVLET-IO_exception:
IOException occurred
Exception Stack Trace:
java.io.NotSerializableException:
com.iplanet.jato.model.sql.QueryFieldSchema
at java.io.ObjectOutputStream.outputObject
(ObjectOutputStream.java:845)
at java.io.ObjectOutputStream.writeObject
(ObjectOutputStream.java:342)
at java.io.ObjectOutputStream.outputClassFields
(ObjectOutputStream.java:
1567)
at java.io.ObjectOutputStream.defaultWriteObject
(ObjectOutputStream.java
:453)
at java.io.ObjectOutputStream.outputObject
(ObjectOutputStream.java:911)
at java.io.ObjectOutputStream.writeObject
(ObjectOutputStream.java:342)
at java.io.ObjectOutputStream.outputClassFields
(ObjectOutputStream.java:
1567)
at java.io.ObjectOutputStream.defaultWriteObject
(ObjectOutputStream.java
:453)
at java.io.ObjectOutputStream.outputObject
(ObjectOutputStream.java:911)
at java.io.ObjectOutputStream.writeObject
(ObjectOutputStream.java:342)
at java.util.ArrayList.writeObject(ArrayList.java:512)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectOutputStream.invokeObjectWriter
(ObjectOutputStream.java
:1585)
at java.io.ObjectOutputStream.outputObject
(ObjectOutputStream.java:907)
at java.io.ObjectOutputStream.writeObject
(ObjectOutputStream.java:342)
at
com.netscape.server.servlet.platformhttp.PlatformNASSession.putMember
Value(Unknown Source)
at
com.netscape.server.servlet.platformhttp.PlatformNASSession.putValue(
Unknown Source)
at
com.netscape.server.servlet.platformhttp.PlatformNASSession.setAttrib
ute(Unknown Source)
at
com.iplanet.jato.model.sql.QueryModelBase.storeSessionedUserWhereCrit
eria(QueryModelBase.java:1368)
at com.iplanet.jato.model.sql.QueryModelBase.requestComplete
(QueryModelB
ase.java:1426)
at
com.iplanet.jato.ModelManager.notifyRequestCompletionListeners(ModelM
anager.java:218)
at NDbasicApp.NDbasicAppServletBase.fireAfterRequestEvent
(NDbasicAppServ
letBase.java:72)
at NDbasicApp.NDbasic.NDbasicServlet.fireAfterRequestEvent
(NDbasicServle
t.java:83)
at com.iplanet.jato.ApplicationServletBase.processRequest
(ApplicationSer
vletBase.java:458)
at com.iplanet.jato.ApplicationServletBase.doPost
(ApplicationServletBase
.java:293)
at com.iplanet.jato.ApplicationServletBase.doGet
(ApplicationServletBase.
java:275)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at com.netscape.server.servlet.servletrunner.ServletInfo.service
(Unknown
Source)
at
com.netscape.server.servlet.servletrunner.ServletRunner.execute(Unkno
wn Source)
at com.kivasoft.applogic.AppLogic.execute(Unknown Source)
at com.kivasoft.applogic.AppLogic.execute(Unknown Source)
at com.kivasoft.thread.ThreadBasic.run(Native Method)
at java.lang.Thread.run(Thread.java:479)
An example href:
<TR>
<TD ALIGN=LEFT VALIGN=MIDDLE><a href="NDbasicServlet?
page=PgCustomerList&PgCustomerList.Repeated1
[0.hrCustomerID=ALFKI&&jato.AutoSource.0=ALFKI&pageAttributes=*amF0by5Q
Z0N1c3RvbWVyTGlzdC5SZXBlYXRlZDEud2ViQWN0aW9uLmN1cnJlbnRSb3dPZmZzZXQ9ck8w
QUJYUUFBVEElM0QmamF0by5QZ0N1c3RvbWVyTGlzdC5SZXBlYXRlZDEud2ViQWN0aW9uLm1h
eERpc3BsYXlSb3dzPXJPMEFCWFFBQVRVJTNE" target="frRight">ALFKI</a>
</TD>
<TD ALIGN=LEFT VALIGN=MIDDLE>Alfreds Futterkiste
</TD>
</TR>
Error occurs in storeUserWhereCriteria of QueryModelBase doing a
session.setAttributeI guess we are discussing this line:
p.println("The saved DNA sequence is: " + b +"/n"+ "The Description is: "+ desc);b is a String[] and arrays don't have overridden toString(). You can use Arrays.asList(b) to get a better String representation or make your own method that lists array to String.
As far as the null desctiption is concerned - is is possible that there is no more input and readLine returns null?
HTH
Mike -
Exceptions are using rpc/encoded messages in documentwrapped mode
Version: Weblogic 8.1SP3
I exposed a web service in documentwrapped(/literal) mode, and it seems weblogic is using rpc/encoded convention instead, to serialize Exception.
I posted more infos on the Axis bugtracker : http://nagoya.apache.org/jira/browse/AXIS-1576
but I found later that the problem seems to come from Weblogic.
Does someone know a workaround for this problem ?Hi Shabrish,
As per the details from MQ Server technical guys, thread is opened by admin user of PI to put the messages on queues of MQ server and that thread does not get close itself and keep on hanging the message in Delivering Mode. Because of this issue all messages behind it get queued to Delivering mode .And as soon as we restart the Java Stack it gets flushed up and open the new connection and deliver all old messages but new message again get stuck in Delivering Mode.
Any idea on this.
Regards,
Anurag -
I am working on a java project and I have to serialize a class (created by me) which has many references to other classes that should be serialized too.
I add the marker "implements serializable" to all the necessary classes, but when I run I get a non serializable exception.
Maybe one ore more objects are non serializable, but how do I identify them?
I've read that If I have to serialize non serializable objects, I need to write my own writeObject(ObjectOutputStream out)throws IOException and readObject(ObjectInputStream in) , but I don't know how to implement and us them.
note : I can't use transient beacuse I need everything to be serialized!
Thanks a lot. Bye!Now I'll post my code, If anyone knows how to serialize (and then deseserialize) the class "AgentMessage" , and its subclasses "StaticPart" and "DynElement" from the main class , I'll be grateful.. It's about 2 days I'm working on it and I continue getting "nonserialializable exception" ...
thank you guys
package agentsLibrary;
//some imports
public class AgentMessage implements Serializable{
private static final long serialVersionUID = 1L;
private StaticPart sp;
private DynElement de;
public AgentMessage(String agent,byte[] code,String mainclass,Certificate signerId,PrivateKey priv,String configuration,Serializable dclear,byte[] dsecret,PathEl[] dpath,byte[] c){ //costruttore
sp=new StaticPart(agent,code,mainclass,signerId,priv,configuration);
de=new DynElement(dclear,dsecret,c,dpath);
public StaticPart getSp(){
return sp;
public DynElement getDe(){
return de;
private void writeObject(java.io.ObjectOutputStream out) throws IOException{
System.out.println("class implements writeObject( )");
//depends on the method to store out all the important state
//out.defaultWriteObject();//perform the default serialization(va sempre fatto il default)
out.writeObject(sp);
out.writeObject(de);
private void readObject(java.io.ObjectInputStream in)throws ClassNotFoundException, IOException {
System.out.println("class implements readObject( )");
//in.defaultReadObject();
sp=(StaticPart)in.readObject();
de=(DynElement)in.readObject();
package agentsLibrary;
public class StaticPart implements Serializable{
private static final long serialVersionUID = 1L;
private String agent="";
private byte[] code=null;
private String mainclass="";
private Certificate signerid=null;
private PrivateKey priv=null;
private Calendar timestamp=null;
private Signature sig=null;
private byte[] buffertotale=null;
private byte[] firma=null;
private String configuration="";
public StaticPart(String agent, byte[] code, String mainclass, Certificate signerid, PrivateKey priv,String configuration){
this.configuration=configuration;
this.code=code;
this.mainclass=mainclass;
this.agent=agent;
this.priv=priv;
this.signerid=signerid;
timestamp=Calendar.getInstance();
Date time=new Date();
time=timestamp.getTime();//Gets this Calendar's current time.
try {
byte[] nomeagent=agent.getBytes("8859_1");//converto stringa
byte[] mainclas=mainclass.getBytes("8859_1");//converto stringa
byte[] signer=signerid.getEncoded();
byte[] priva=priv.getEncoded();
byte[] dat=null;
dat=time.toString().getBytes("8859_1");
buffertotale=new byte[nomeagent.length+mainclas.length+signer.length+priva.length+dat.length+code.length];
System.arraycopy(nomeagent, 0, buffertotale, 0, nomeagent.length);
System.arraycopy(code, 0, buffertotale, nomeagent.length, code.length);
System.arraycopy(mainclas, 0, buffertotale, code.length, mainclas.length);
System.arraycopy(signer, 0, buffertotale, mainclas.length, signer.length);
System.arraycopy(priva, 0, buffertotale, signer.length, priva.length);
System.arraycopy(dat, 0, buffertotale, priva.length, dat.length);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
System.exit(1);
} catch (CertificateEncodingException e) {
e.printStackTrace();
System.exit(1);
try {
sig = Signature.getInstance(priv.getAlgorithm());
sig.initSign(priv);
sig.update(buffertotale, 0, buffertotale.length);
firma=sig.sign();
} catch (SignatureException e) {
e.printStackTrace();
System.exit(1);
} catch (InvalidKeyException e) {
e.printStackTrace();
System.exit(1);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
System.exit(1);
public boolean verify() {
try{
PublicKey pub=signerid.getPublicKey();
Signature sig = Signature.getInstance(pub.getAlgorithm());
sig.initVerify(pub);
sig.update(buffertotale, 0, buffertotale.length);
return sig.verify(firma);
} catch (SignatureException e) {
e.printStackTrace();
System.exit(1);
} catch (InvalidKeyException e) {
e.printStackTrace();
System.exit(1);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
System.exit(1);
return false;
public String getAgentName() {
return agent;
public byte[] getCode() {
return code;
public String getClassName() {
return mainclass;
public PrivateKey getPrivate() {
return priv;
public Certificate getId() {
return signerid;
public byte[] getSignature(){
return firma;
public String getConfiguration(){
return configuration;
package agentsLibrary;
import java.io.Serializable;
public class DynElement implements java.io.Serializable{
private static final long serialVersionUID = 1L;
private Serializable dclear=null;
private byte[] dsecret=null;
private PathEl[] dpath=null;
private byte[]c=null;
public DynElement(Serializable dclear,byte[] dsecret,byte[]c,PathEl[] dpath){
this.dclear=dclear;
this.dsecret=dsecret;
this.c=c;
this.dpath=dpath;
public byte[] getC() {
return c;
public Serializable getDclear() {
return dclear;
public PathEl[] getDpath() {
return dpath;
public byte[] getDsecret() {
return dsecret;
//finally the following is the main class that should serialize
AgentMessage msg=new AgentMessage(name,code,mainclass,signerId,privata,configuration,dclear,dsecret,dpath,c);
try {
System.out.println("Sending Agent Message to Server "+ip+":"+port);
Socket s = new Socket(ip,port);
ObjectOutputStream out=new ObjectOutputStream(s.getOutputStream());
out.writeObject(msg);
out.flush();
s.close();
} catch (Exception e) {
return false;
return true;
} -
EJB Serialization requirements??
Hi,
Sorry this is not a direct WebLogic scneraio but i would like to know
if this scenario would work in WebLogic.
I have a simple HelloWorldApplication which uses SSbs.
I pass a Customer Object which has two attribute String name and
Address address;
I made Address not-serializable
so when i make calls to the SessionBean i get a remote Exception which
contains the not-serializable exception in WebPShere (as expected)
To my surprise this application ran without any problem in JRun4.0
Why would that be the case and what would the result in WebLogic be?
AFAIK, objects (parameters and Return types) must be serializable for
all Remote EJB Calls.
Note this applicaiton does not use Local Interfaces..
TIA
MangluHi Manglu,
By default weblogic employs co-location optimization
and passes parameters to EJB by reference rather than
by value. This approach dramatically increase performance
for co-located applications. Side effect is that bean
parameters are not serialized, so you don't have and see
serialization errors.
Yet, the spec requires parameters to be serializable,
so make sure yours are. Otherwise you can hit the
serialization problem when you use the bean remotely
or in a cluster environments.
Hope this helps.
Regards,
Slava Imeshev
"Manglu" <[email protected]> wrote in message
news:[email protected]..
Hi,
Sorry this is not a direct WebLogic scneraio but i would like to know
if this scenario would work in WebLogic.
I have a simple HelloWorldApplication which uses SSbs.
I pass a Customer Object which has two attribute String name and
Address address;
I made Address not-serializable
so when i make calls to the SessionBean i get a remote Exception which
contains the not-serializable exception in WebPShere (as expected)
To my surprise this application ran without any problem in JRun4.0
Why would that be the case and what would the result in WebLogic be?
AFAIK, objects (parameters and Return types) must be serializable for
all Remote EJB Calls.
Note this applicaiton does not use Local Interfaces..
TIA
Manglu -
Some basic questions about serialization
Hi,
I have some basic questions on serialization.
1. What are the basic criteria to make an object serializable(except that it must implement serializable ?) I mean that objects of some class inherently cannot be serialized so any object must have some features which makes it serializable/non serializable.
2. I know it makes no sense to serialize a socket because it is fixed only by specifying ip and port at both ends, and is valid only when the network connection remains valid. Still in the context of my previous question, I would like to know why a socket cannot be serialized.Hi,
I have problems to understand you question but will do a try:
From a logical point of view objects can be only serialized reasonabely when they have a state of it's own which can be reestablished at a later point in time and space without further dependencies.
F.E. a "serialized file" would NOT make much sense cause it depends heavily on the state of the underlying file system.
You can't expected that is can be deserialized at a later point of time (physical file refered may not longer exists) or on another machine, where the serialized object was transported to.
Technical - at zero approach - it's more or less trivial. Simply implement Serializable and all non static, non transient fields of your object will be serialized automatically.
But there is a couple of pitfalls, you should study documentations regarding this feature.
Hope this helps
Martin
Maybe you are looking for
-
A table in a table... ?
Let's say I have a table tab (x number, y number) All I want is this table to be the column of another table, which table will be the column of another table.... Thus we will have a table within a table, within a table, within a table (9 times). I do
-
Convincing spotlight to index other file types
I have a large number of LaTeX documents on my computer, but Spotlight seems unwilling to index them. How can I convince spotlight to go ahead and index/search files with a .tex extension just like it would any other ASCII text file? Details: LaTeX s
-
Hi all, Is there any standard report to see the list of delivery notes created against Stock transport orders. Regards sappy
-
Essbase Error involving member formula
We are having an essbase issue when accessing a data intersection that has three members that have member formulas. In FRS, we get the following error message: Error executing query: Error: Internal Essbase JAPI error: [Cannot perform cube view opera
-
Slow performance during Apply Request Values Phase of JSF lifecycle
Dear all, I found that my application is sucked at the Apply Request Values Phase of JSF lifecycle when I submit the page. (Totally spend 1 min to pass this phase) In the application, there is around 300 input fields in the page. Who know how can I e