Michele Furlan [https://community.jboss.org/people/clanfur] created the 
discussion

"Get ejb3 from remote host (jboss 5.1) to jboss 4.x"

To view the discussion, visit: https://community.jboss.org/message/646964#646964

--------------------------------------------------------------
Hi,
I'm trying to get an ejb3 from a remote host (that uses jboss 5.1) inside jboss 
4.x. The code I use is the following:

public void myFunction() {
        Properties jndiProps = new Properties();
        jndiProps.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
"org.jnp.interfaces.NamingContextFactory");
        jndiProps.setProperty(Context.URL_PKG_PREFIXES, 
"org.jboss.naming:org.jnp.interface");
        jndiProps.setProperty(Context.PROVIDER_URL, 
"jnp://{*host-ip*}:{*host-jndi-port*}");
        try {
            FooInterface foo = (FooInterface)(new 
InitialContext(jndiProps)).lookup("{*jndi-name*}");
            foo.doSomething();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

But doing that, I get a ClassCastException here "FooInterface foo = 
(FooInterface)(new InitialContext(jndiProps)).lookup("{*jndi-name*}");":

 java.lang.ClassCastException: javax.naming.Reference cannot be cast to 
my.package.FooInterface
   at 
com.phi.phirxportal.SecondOpinionRequestBean.myFunction(SecondOpinionRequestBean.java:272)
   at 
com.phi.phirxportal.SecondOpinionRequestBean.checkExam(SecondOpinionRequestBean.java:170)
   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:597)
     at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:335)

Host ip, jndi name and host jndi port are correct. I can't figure out how to 
get my FooInterface from a javax.naming.Reference object.
The Reference object toString method returns something like:

Reference Class Name: Proxy for: my.package.FooInterface
Type: ProxyFactoryKey
Content: ProxyFactory/.....
Type: EJB Container Name
Content: jboss.j2ee:ear=xxx.ear,jar=xxx.jar,name=FooBean,service=EJB3
Type: Proxy Factory is Local
Content: false
Type: Remote Business Interface
Content: my.package.FooInterface
Type: Remoting Host URL
Content: socket://hostpcname:3873/?

Is there a way to do that or does it depends on something else (libraries, 
configuration, jboss version...)?
Thanks in advance.
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/646964#646964]

Start a new discussion in JNDI and Naming at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2083]

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to