java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.security.plugins.JBossSecurityContext (no security manager: RMI class loader disabled)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:285)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.security.plugins.JBossSecurityContext (no security manager: RMI class loader disabled)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:371)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
at org.jboss.system.JBossRMIClassLoader.loadClass(JBossRMIClassLoader.java:91)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at org.jboss.invocation.MarshalledInvocation.readExternal(MarshalledInvocation.java:665)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1755)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1717)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
... 6 more

I am not sure how to solve this as JBossSecurityContext is both part of jbosssx.jar and jbosssx-client.jar.

"scott.stark@jboss.org" wrote:The exception is happening on the server where the class is not available. The JBossSecurityContext is being passed to the server when it should not be.

We send the SecurityContext over the invocation in AS5. Now how is AS4 getting involved? How can we send the SC to AS4? I will try to run the tests myself to see what is happening. Thanks Scott for the headsup. :)

The test is to validate legacy deployment can still be accessed from AS5 deployments. It should not be a system property that precludes AS5 to AS5 communication from passing the extended information. You have to expect that both legacy and current communication will happen within the server.

UPDATE: The new interceptor will be org.jboss.proxy.ejb.SecurityContextInterceptor as the extended information (SecurityContext) on the invocation is meant to be used by the ejb security interceptors on the server side.

"anil.saldhana@jboss.com" wrote:Historically, how has this issue of extended information on the invocation been solved in terms of compatibility? Or is this the first usecase?

Should we be introducing a new proxy interceptor for the extended information?

We have no history of change as its been the same over the previous versions. Introducing a separate interceptor so that we can choose the legacy information or the extended information is the right approach.