Title: java.rmi.MarshalException: error marshalling arguments

Hi all,

I'm working on a client to access a some EJBs on a 3.2B3 server.  The client is a standalone Tomcat 4.1.17 server (no JBoss) with the jbossall-client.jar directly from the server's "client" folder, put in <tomcat>/server/lib.  The Tomcat is launched with these VM options:

   -Djava.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
   -Djava.naming.provider.url=""
   -Djava.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

I am able to connect and get the home interfaces for an object, but unable to call the first routine on it.  I have confirmed absolutely that the versions of the EJB jars are matched on both sides and from clean builds.  The code works properly when it is deployed in the same JBoss instance / VM.  The server.log from the server does not show any exception generation.  The exception on the client is:

2002-12-26 00:14:03 CoyoteAdapter An exception or error occurred in the container during the request processing
com.opensymphony.module.user.UserManagerImplementationException
        at com.opensymphony.module.user.provider.ejb.EJBCredentialsProvider.handles(EJBCredentialsProvider.java:144)
        at com.opensymphony.module.user.UserManager.getProvider(UserManager.java:342)
        at com.opensymphony.module.user.UserManager.getEntity(UserManager.java:304)
        at com.opensymphony.module.user.UserManager.getUser(UserManager.java:120)
        at com.opensymphony.module.user.adapter.catalina.OSUserRealm.authenticate(OSUserRealm.java:38)
        at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:263)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:480)
        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.StandardContext.invoke(StandardContext.java:2415)
        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:170)
        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.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.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
        at java.lang.Thread.run(Thread.java:536)
Caused by: java.rmi.MarshalException: error marshalling arguments; nested exception is:
        java.net.SocketException: Software caused connection abort: socket write error
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
        at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
        at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:138)
        at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:92)
        at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77)
        at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)
        at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:175)
        at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:82)
        at $Proxy0.findByName(Unknown Source)
        at com.opensymphony.module.user.provider.ejb.EJBCredentialsProvider.handles(EJBCredentialsProvider.java:135)
        ... 28 more
Caused by: java.net.SocketException: Software caused connection abort: socket write error
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:69)
        at java.io.BufferedOutputStream.write(BufferedOutputStream.java:108)
        at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1637)
        at java.io.ObjectOutputStream$BlockDataOutputStream.writeByte(ObjectOutputStream.java:1675)
        at java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1352)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:281)
        at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:265)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:124)
        ... 37 more

The call that is failing is to a finder routine.  It's defined in jaws.xml as:

         <finder>
            <name>findByName</name>
            <query><![CDATA[name = {0}]]></query>
            <order>name</order>
         </finder>

Is this something to do with the finder being called over a remote home interface?  Anyone have any ideas?  I see the SocketException, and the two machines have unfettered access to each other on the same subnet.  The client machine is a W2K SP3 machine with the latest patches, the server is a SuSE SLES Linux 2.4.7 kernel.  I can generate packet traces of the last few exchanges if that is helpful to anyone that might want to see them.

Many thanks for any ideas about this.  Hope your holidays are going well.

Brian

------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to