Rias A. Sherzad [http://community.jboss.org/people/rsherzad] created the 
discussion

"JNDI Lookup fails with an ArrayStoreException"

To view the discussion, visit: http://community.jboss.org/message/635239#635239

--------------------------------------------------------------
Hello everyone and "Guten Tag" from Germany :-)

I've been spending the past few days with a very strange problem that I just 
can't find a solution for.

We have successfully deployed our application to JBoss 5.1 and we're now trying 
to port it to JBoss 6.1 (with the same JDK - version 1.6.0_26). There's an 
.EAR, and a a .WAR file and, deployed into the "default" server, JBoss starts 
up cleanly (registers the EJBs etc. in the JNDI tree) and the web application 
also loads its first page.
The problem comes up when I attempt to login. That's when the web application 
accesses the EJBs defined in the .EAR file (trying to find UserControllerBean) 
to load some of the information associated with the user record.

The Stacktrace I see is:

Starting Login...
[org.jnp.interfaces.TimedSocketFactory] (http-127.0.0.1-8080-5) createSocket, 
hostAddr: /127.0.0.1, port: 1099, localAddr: null, localPort: 0, timeout: 0
[org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory] 
(http-127.0.0.1-8080-5) 
org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory servicing request 
for myapp-kernel-1.0-SNAPSHOT/UserControllerBean/remote
javax.naming.NamingException: Could not dereference object [Root exception is 
java.lang.ArrayStoreException: 
org.jboss.ejb3.proxy.impl.remoting.IsLocalProxyFactoryInterceptor]
          at 
org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1508)
          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:824)
          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688)
          at javax.naming.InitialContext.lookup(InitialContext.java:392)
          at 
com.castnote.comp.service.ComponentLocatorFactory.lookup(ComponentLocatorFactory.java:39)
          at 
com.castnote.comp.service.ComponentLocatorFactory.lookup(ComponentLocatorFactory.java:34)
          at 
com.castnote.server.core.action.AbstractAction.getUserController(AbstractAction.java:292)
          at com.castnote.server.content.LoginAction.login(LoginAction.java:95)
          at 
com.castnote.server.content.LoginAction.execute(LoginAction.java:62)
          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:597)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
          at 
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
          at 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
          at 
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
          at 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
          at 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
          at 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:90)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
          at 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:192)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
          at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
          at 
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
          at 
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:510)
          at 
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)
          at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
          at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
          at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
          at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
          at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
          at 
org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
          at 
org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
          at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
          at 
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
          at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)
          at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
          at 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
          at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          at 
org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
          at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
          at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
          at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
          at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
          at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ArrayStoreException: 
org.jboss.ejb3.proxy.impl.remoting.IsLocalProxyFactoryInterceptor
          at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666)
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322)
          at 
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
          at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
          at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
          at 
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
          at 
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
          at 
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
          at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
          at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
          at java.rmi.MarshalledObject.get(MarshalledObject.java:142)
          at 
org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:72)
          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:771)
          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:688)
          at 
org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory.getProxyFactoryFromJNDI(ProxyObjectFactory.java:240)
          at 
org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory.getObjectInstance(ProxyObjectFactory.java:157)
          at 
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
          at 
org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1483)
          at 
org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1500)
          ... 79 more


As far as I can tell this particular EJB has been deployed properly:

22:12:31,516 WARN  [TimerServiceContainer] EJBTHREE-2193: using deprecated 
TimerServiceFactory for restoring timers
22:12:31,522 INFO  [SessionSpecContainer] Starting 
jboss.j2ee:ear=myapp-kernel-1.0-SNAPSHOT.ear,jar=myapp-kernel-ejb-1.0-SNAPSHOT.jar,name=UserControllerBean,service=EJB3
22:12:31,529 INFO  [EJBContainer] STARTED EJB: 
com.myapp.comp.user.controller.UserControllerBean ejbName: UserControllerBean
22:12:31,663 INFO  [JndiSessionRegistrarBase] Binding the following Entries in 
Global JNDI:

          myapp-kernel-1.0-SNAPSHOT/UserControllerBean/remote - EJB3.x Default 
Remote Business Interface
          
myapp-kernel-1.0-SNAPSHOT/UserControllerBean/remote-com.mycompany.sys.control.AbstractStatelessController
 - EJB3.x Remote Business Interface
          
myapp-kernel-1.0-SNAPSHOT/UserControllerBean/remote-com.myapp.comp.user.controller.UserController
 - EJB3.x Remote Business Interface
          myapp-kernel-1.0-SNAPSHOT/UserControllerBean/local - EJB3.x Default 
Local Business Interface
          
myapp-kernel-1.0-SNAPSHOT/UserControllerBean/local-com.myapp.comp.user.controller.UserControllerLocal
 - EJB3.x Local Business Interface



I have to add that myapp-portal.war/WEB-INF/lib contains 
myapp-kernel-ejb-1.0-SNAPSHOT.jar (the .WAR needs this .JAR as it used the 
classes in it), which is the same file that is also present in the root of 
myapp-kernel-1.0-SNAPSHOT.ear.

I'm using Maven but not the "skinny WAR"-approach so lots of other libraries 
that are present and used in the .EAR file are also in the .WAR file's 
WEB-INF/lib folder.

One more thing: I also tried the "skinny WAR"-approach - didn't help. I thought 
if all classes are deployed from within the same artifact then the lookup would 
work or potential classloading issues (if this is one at all) could be evaded. 
I got exactly the same error message :-/

Any idea or advice could help. Thanks in advance :-)
Rias
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/635239#635239]

Start a new discussion in EJB3 at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2029]

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to