Boa tarde pessoal. Tentei de diversas maneiras mas não encontro o problema e gostaria de uma ajuda da comunidade
Estou invocando um EJB que está localizado no websphere em uma máquina aqui da rede. O meu client é uma aplicação java stand alone.
Consigo obter o stub normalmente sendo que quando dou o print, a saída é “org.omg.stub.java.rmi._Remote_Stub:IOR:00bdb …”
Porém ao chamar a linha "TesteHome home = (TesteHome)PortableRemoteObject.narrow(o, TesteHome.class);"
sempre me retorna null. Alguém saberia o que pode ser? É a primeira vez que faço uma chamada remota a EJB de fato. So testei local com outros servers.
Obrigado.
public static void main(String[] args) {
invokeEJB();
}
static void invokeEJB() {
String url = "iiop://exp044dsk:2809";
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
props.put(Context.PROVIDER_URL, url);
props.put("org.omg.CORBA.ORBClass", "com.ibm.CORBA.iiop.ORB");
try {
Context ic = new InitialContext(props);
Object o = ic.lookup("ejb/TesteHome");
System.out.println(o);
TesteHome home = (TesteHome)PortableRemoteObject.narrow(o, TesteHome.class);
System.out.println(home);
} catch (NamingException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
}