users@glassfish.java.net

Re: Remote Slsb Look up Failure

From: Legolas Woodland <legolas.w_at_gmail.com>
Date: Tue, 09 May 2006 00:45:37 +0430

Jason Lee wrote:
> Since that original message, I did simplify the test quite a bit.
> Here's the current code:
>
> package com.iecokc.products;
>
> import javax.naming.InitialContext;
>
> public class BrandNameProductClient {
> public static void main (String args[]) {
> String jndiName =
> IBrandNameProduct.class.getName();
>
> try {
> InitialContext ic = new InitialContext();
> System.out.println ("Looking up " + jndiName);
> IBrandNameProduct bnpr = (IBrandNameProduct) ic.lookup(jndiName);
> bnpr.getBrandNameProduct("id", "nd", "FXY");
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
> In jndi.properties, I commented out the entries attempting to see if
> the defaults would work, but I get the same error. For what it's
> worth, here's what I was setting, based on what Google could find for me:
>

Hi Jason ,
I am very intrested to know whether this two properties are correct or not.
do you think that your problem come from this two ?
Thanks


> java.naming.factory.initial=com.sun.appserv.naming.S1ASCtxFactory
> java.naming.provider.url=iiop://localhost:3700
>
> --
> Jason Lee
> Programmer/Analyst
>
>
> ------------------------------------------------------------------------
> *From:* Kenneth.Saks_at_Sun.COM [mailto:Kenneth.Saks_at_Sun.COM]
> *Sent:* Monday, May 08, 2006 3:20 PM
> *To:* dev_at_glassfish.dev.java.net; Jason Lee
> *Cc:* users_at_glassfish.dev.java.net
> *Subject:* Re: Remote Slsb Look up Failure
>
> Jason Lee wrote:
>> I hate to be a bother, but does anyone have any thoughts on this?
>> I'm completely stumped. Thanks!
> Hi Jason,
>
> First try following the stand-alone client guidelines in
> https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB.
>
> We recommend relying on the defaults to bootstrap the appserver's naming
> service rather than programmatically setting system properties. You
> can set the target host/port
> when starting the cilent JVM. If that doesn't work, you can follow-up at
> ejb_at_glassfish.dev.java.net. Thanks.
>
> --ken
>>
>> --
>> Jason Lee
>> Programmer/Analyst
>>
>>
>> ------------------------------------------------------------------------
>> *From:* Jason Lee
>> *Sent:* Monday, April 24, 2006 11:23 AM
>> *To:* 'users_at_glassfish.dev.java.net'
>> *Subject:* Remote Slsb Look up Failure
>>
>> When trying to get a reference to a remote session bean, I get the
>> follow stack trace from my client:
>>
>> javax.naming.NamingException: ejb ref resolution error for remote
>> business interfacecom.iecokc.products.IBrandNameProduct [Root
>> exception is java.lang.NullPointerException]
>> at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:313)
>> at
>> com.sun.ejb.containers.RemoteBusinessObjectFactory.getObjectInstance(RemoteBusinessObjectFactory.java:61)
>> at
>> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
>> at
>> com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:314)
>> at javax.naming.InitialContext.lookup(InitialContext.java:351)
>> at
>> com.iecokc.products.BrandNameProductClient.main(BrandNameProductClient.java:20)
>> Caused by: java.lang.NullPointerException
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:305)
>> ... 5 more
>>
>> The client code looks basically like this:
>>
>> String jndiName = IBrandNameProduct.class.getName();
>> System.setProperty("org.omg.CORBA.ORBInitialHost", "localhost");
>> System.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
>> System.setProperty("com.sun.appserv.iiop.endpoints", "localhost:3700");
>> System.setProperty("com.sun.CORBA.connection.ORBSocketFactory",
>> "com.sun.enterprise.iiop.IIOPSSLSocketFactory");
>> InitialContext ic = new InitialContext();
>> System.out.println ("Looking up " + jndiName);
>> IBrandNameProduct bnpr = (IBrandNameProduct)ic.lookup(jndiName);
>>
>> Glassfish shows that the bean deployed. If I view the JNDI tree, I
>> can see the names there. For the record, my interface has @Remote,
>> and the implementing class has @Stateless on it. The confusing thing
>> is that this code used to work, but, obviously, something changed. I
>> have no clue what it might be.
>>
>> Here's what my deployment archive looks like:
>>
>> BrandNameProductSessionBean.ear
>> lib/
>> <bunch of supporting jars>
>> META-INF/
>> <ant-generated manifest>
>> BrandNameProductSessionBean.jar <-- with interface and class
>>
>> Does anybody have any idea what I'm missing? I'm completely stumped. :|
>>
>> --
>> Jason Lee
>> Programmer/Analyst
>>
>
>