[jboss-dev] EJB3 remote invocation broken in AS50
Thomas Diesler
thomas.diesler at jboss.com
Wed Jun 13 02:52:45 EDT 2007
Its fixed - thanks
On Tue, 2007-06-12 at 20:51 -0400, Ron Sigal wrote:
> Hi,
>
> Sorry I'm late to junp in. Brian, Anil, and Dimitris are all correct.
> When I was working on compatibility between JBAS 4.2 and earlier
> versions, I had to add a version byte to
> org.jboss.remoting.marshal.serializable.SerializableMarshaller.write()
> and SerializableUnMarshaller.read(). The unified invoker uses
> subclasses org.jboss.invocation.unified.marshall.InvocationMarshaller
> and InvocationUnMarshaller, which didn't have the overloaded versions of
> read() and write() with the version byte. What is happening is that
> InvocationMarshaller, which unwraps the nonserializable
> org.jboss.invocation.Invocation and creates from it a serializable
> object, gets bypassed, and SerializableMarshaller.write() ends up with
> the original Invocation.
>
> The fix is just to add overloaded versions of read() and write() to
> InvocationMarshaller and InvocationUnMarshaller, which I did. The
> problem is that I was working on the 4.2 branch and didn't think to make
> the same correction to trunk. I've now done that. If the problem
> doesn't go away, let me know.
>
> -Ron
>
> Thomas Diesler wrote:
> > Generally all EJB3 remote invocation seems to be broken.
> >
> > java.rmi.MarshalException: Failed to communicate. Problem during
> > marshalling/unmarshalling; nested exception is:
> > java.io.NotSerializableException: org.jboss.invocation.Invocation
> > at org.jboss.remoting.transport.socket.SocketClientInvoker.handleException(SocketClientInvoker.java:122)
> > at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:644)
> > at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
> > at org.jboss.remoting.Client.invoke(Client.java:1550)
> > at org.jboss.remoting.Client.invoke(Client.java:530)
> > at org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy.invoke(UnifiedInvokerProxy.java:161)
> > at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:244)
> > at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:181)
> > at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
> > at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:86)
> > at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:184)
> > at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:101)
> > at $Proxy2.create(Unknown Source)
> > at org.jboss.test.ws.jaxrpc.serviceref.ServiceRefEJBTestCase.testEJBClient(ServiceRefEJBTestCase.java:80)
> > at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> > at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> > at junit.extensions.TestSetup.run(TestSetup.java:23)
> > Caused by: java.io.NotSerializableException: org.jboss.invocation.Invocation
> > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
> > at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
> > at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
> > at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
> > at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.sendObjectVersion2_2(JavaSerializationManager.java:120)
> > at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.sendObject(JavaSerializationManager.java:95)
> > at org.jboss.remoting.marshal.serializable.SerializableMarshaller.write(SerializableMarshaller.java:120)
> > at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedWrite(MicroSocketClientInvoker.java:967)
> > at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:557)
> > ... 31 more
> >
> > On Tue, 2007-06-12 at 12:38 +0200, Thomas Diesler wrote:
> >
> >> Hi Carlo,
> >>
> >> there seem to be basic EJB3 security problems
> >>
> >> http://jbws.dyndns.org:8280/hudson/job/Core-Tests-AS-5.0/26/testReport/org.jboss.test.ws.jaxrpc.samples.secureejb/SecureEJBTestCase/testBasicSecuredSLSB/
> >>
> >> This is a remote client trying to connect to an unsecured SLSB.
> >>
> >> -thomas
> >>
> >>
> _______________________________________________
> jboss-development mailing list
> jboss-development at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-development
--
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Thomas Diesler
Web Service Lead
JBoss, a division of Red Hat
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
More information about the jboss-development
mailing list