1) When I attempt to put the wlclient.jar and wljmsclient.jar in the classpath
of my client, the
following error occurs:
java.rmi.NoSuchObjectException: CORBA INV_OBJREF 0 No; nested exception is:
org.omg.CORBA.INV_OBJREF: client.Client not exported or is a JRMP stub vmcid:
0x0 minor
code: 0 completed: No
at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemException
(ShutdownUtilDelegate.java:91)
..
2) When I put the weblogic.jar (without the 2 client.jar files) in my classpath,
this error does
not occur.
Thanks in advance,
Joel
> I have looked up an EJB from the Weblogic tree. I am attempting to call on method
> on this EJB, and the method takes a reference to my client object. I have created
> the stub for the client using JBuilder's rmic with the options of -v1.2 and -iiop.
> I also export the object in the constructor of the client using UnicastRemoteObject.exportObject(this).
You need to generate a Tie for the impl also, i.e. run rmic on your
client object impl.
andy
> I am currently running rmic on the client object impl, and the Tie is being created.
and you have a stub for the EJB also? The error message you are
getting indicates that it cannot find a stub or tie. Are they in the
classpath of your client? Does this work if you take JBuilder out of
the picture? We have tests that do exactly this so there must be
something obvious or subtle going wrong.
andy
The problem seems to be the same when I do an ant compile, rmic, and jar. Is
there
something special that I need to do on the client side besides having the Stubs
and Ties
available and exporting the object using UnicastRemoteObject.exportObject(..)?
I'm stumpbed.
Thanks,
Joel
> The problem seems to be the same when I do an ant compile, rmic, and jar. Is
> there
> something special that I need to do on the client side besides having the Stubs
> and Ties
> available and exporting the object using UnicastRemoteObject.exportObject(..)?
> I'm stumpbed.
You should probably use PortableRemoteObject.exportObject() rather
than UnicastRemoteObject.exportObject(). You should probably also make
your client object implementation extend PortableRemoteObject. The JDK
does some special magic in these classes. UnicastRemoteObject is more
a JRMP thing. We use PRO in our tests.
andy
It is also important to note that this error only occurs when wlclient.jar and
wljmsclient.jar are in
the classpath and weblogic.jar is not. When weblogic.jar is in the client's classpath,
everything
works fine.
Andy,
> Exception in thread "main" java.io.IOException: Invalid indirection to offset
> 84
What, precisely, are you sending to the client? We are currently
trying to solve some problems with outbound chunking with another
customer - this looks like the same problem. Basically the encoding we
use for custom marshaled valuetypes causes the JDK ORB to choke.
Raise a call with BEA and ask for the patch to CR106750. That may fix
your problem.
BTW you only need wljmsclient.jar in your classpath - it references
wlclient.jar via its manifest classpath.
andy
--
Andy,
The email that you sent did not contain the attachment that you said it would.
Could you please
resend that? Thanks.
Another question. As I read more about this IIOP, I fear that I may be doing
one other thing
incorrectly. When creating the InitialContext on the client, should I be using
the WLInitialContextFactory
as the factory, or should I use the com.sun.jndi.cosnaming.CNCtxFactory be used.
In conjuction
with that, should the provider URL be using t3 or iiop://? When using the CNCtxFactory
and the
iiop procotol, I get a CommunicationException. I think that I'm a little lost
at this point.
Also, to answer your question, at the time of the error, the client isn't being
sent anything.
It's when the client attempts to send a reference of himself to the server when
the error occurs.
Thanks,
Joel
"Joel" <joe...@hotmail.com> writes:
> Could you please
> resend that? Thanks.
The bug is now fixed properly so you should go through support to get
the patch.
> Another question. As I read more about this IIOP, I fear that I may be doing
> one other thing
> incorrectly. When creating the InitialContext on the client, should I be using
> the WLInitialContextFactory
Yes.
> as the factory, or should I use the com.sun.jndi.cosnaming.CNCtxFactory be used.
No. You should only use this if you want a really thin client that
doesn't support transactions, security or clustering.
> In conjuction
> with that, should the provider URL be using t3 or iiop://? When using the CNCtxFactory
> and the
> iiop procotol, I get a CommunicationException. I think that I'm a little lost
> at this point.
The thin client code will map t3:// to iiop:// so it doesn't matter which you use.
andy
--