I'm seeing something *very* strange over here. I just converted our application to a bunch of blocks and have it running under phoenix as a SAR. Until I get a chance to help hacking on the catalina/bay components to have it run as a block, I still need RMI.

When I make an RMI call to my exported block, the first method with the requested calling signature is executed, not the requested one. For example, in my Remote interface I have:

    void registerClientNotification(RMIClientNotification clientNotification)
      throws RemoteException;

boolean isUserValid(String username, String password) throws RemoteException;

String getUserResource(String username, String resource) throws RemoteException;


Calls to registerClientNotification work 100% of the time, its the only method with that signature.


However, whenever I call getUserResource, isUserValid is executed on the server. Naturally this is throwing exceptions because the arguments aren't correct. If I look at the stack trace on the callee side, it is calling the correct method in the generated stub. Something is being lost in transit. *ANY* call to a method that takes 2 string arguments is being directed to isUserValid on the Phoenix side.

I'm *REALLY* stumped. I searched the list archives and the only RMI-related troubles I saw were relating to the ftp server component and exporting stubs. I tried changing the code where I bind to the registry to match that more, but no luck.

I know Phoenix does some internal magic with proxies, etc. I don't know if that may be part of the problem. Any thoughts/ideas would be greatly appreciated. Thanks!
-pete


--
peter royal -> [EMAIL PROTECTED]
managing partners, inc. -> http://www.managingpartners.com


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to