Skip to Content
0
Former Member
Nov 05, 2006 at 07:01 AM

Serialization of primitive type failes in Netweaver Web AS o4

30 Views

Hi,

We have a J2EE application which we are porting to Netweaver Web AS o4. We are running into issues related to Serialization of objects when those objects are being passed as parameters to EJBs. If the objects contain some primitive type members, we are seeing exception similar to:

[code]java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:388)

at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:283)

at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)

at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)

at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)

at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)

at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)

at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)

at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)

Caused by: com.sap.engine.services.rmi_p4.exception.P4BaseRuntimeException: I/O operation failed : java.lang.ClassNotFoundException: boolean

Found in negative cache

-


Loader Info -


ClassLoader name: [ejbGensap.com/OurJ2EEApplications]

Parent loader name: [sap.com/OurJ2EEApplications]

References:

service:ejb

common:library:com.sap.security.api.sda;library:com.sap.security.core.sda;library:security.class;library:webservices_lib;service:com.sap.security.core.ume.service;service:connector;service:dbpool;service:keystore;service:security;service:userstore

interface:resourcecontext_api

interface:resourceset_api

interface:transactionext

interface:security

interface:cross

library:opensql

Resources:

C:\usr\sap\W02\JC00\j2ee\cluster\server0\apps\sap.com\OurJ2EEApplications\EJBContainer\jars\gen_tdappinfoejb.jar

C:\usr\sap\W02\JC00\j2ee\cluster\server0\apps\sap.com\OurJ2EEApplications\EJBContainer\jars\gen_tddatamgmtejb.jar

C:\usr\sap\W02\JC00\j2ee\cluster\server0\apps\sap.com\OurJ2EEApplications\EJBContainer\jars\gen_tdengappsejb.jar

C:\usr\sap\W02\JC00\j2ee\cluster\server0\apps\sap.com\OurJ2EEApplications\EJBContainer\jars\gen_tdevtmgmtejb.jar

C:\usr\sap\W02\JC00\j2ee\cluster\server0\apps\sap.com\OurJ2EEApplications\EJBContainer\jars\gen_tdmetadatasvcejb.jar

C:\usr\sap\W02\JC00\j2ee\cluster\server0\apps\sap.com\OurJ2EEApplications\EJBContainer\jars\gen_tdplanningejb.jar

C:\usr\sap\W02\JC00\j2ee\cluster\server0\apps\sap.com\OurJ2EEApplications\EJBContainer\jars\gen_tdsecurityejb.jar

C:\usr\sap\W02\JC00\j2ee\cluster\server0\apps\sap.com\OurJ2EEApplications\EJBContainer\jars\gen_tdtaskmgmtejb.jar

-


:

at com.sap.engine.services.rmi_p4.server.P4ObjectBrokerServerImpl.getException(P4ObjectBrokerServerImpl.java:1054)

at com.sap.engine.services.rmi_p4.StubImpl.p4_replicateWithStreams(StubImpl.java:286)

at com.ourapp.server.planning.ejbs.ForecastPlanningSession_Stub.addProductsToPlan(ForecastPlanningSession_Stub.java:556)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187)

at $Proxy299.addProductsToPlan(Unknown Source)

at com.ourapp.server.service.planning.impl.ForecastPlanServiceImpl.addProductsToBO(ForecastPlanServiceImpl.java:802)

... 30 more

Caused by: java.lang.ClassNotFoundException: boolean

Found in negative cache

-


Loader Info -


ClassLoader name: [ejbGensap.com/OurJ2EEApplications]

Parent loader name: [sap.com/OurJ2EEApplications]

References:

service:ejb

common:library:com.sap.security.api.sda;library:com.sap.security.core.sda;library:security.class;library:webservices_lib;service:com.sap.security.core.ume.service;service:connector;service:dbpool;service:keystore;service:security;service:userstore

interface:resourcecontext_api

interface:resourceset_api

interface:transactionext

interface:security

interface:cross

library:opensql[/code]

The stacktrace mentions that the primitive 'boolean' is being considered of Object type which results in a exception resulting in the de-serialization failing and the application crashing.

On investigating further, we found this Java Bug :

Bug" target="_blank">http://bugs.sun.com/bugdatabase/.../view_bug.do;jsessionid=ae63b8ba6afa5ffffffffb10f0c0bdd877c6:YfiG?bug_id=4171142">Bug id: 4171142

which appears to be related to this issue. The bug mentions that it affects JDK version 1.3 and Web AS o4 runs on 1.3 version of Java.

Can anyone confirm whether these are related. And if related, is there any fix for this issue in Web AS o4.