クライアント側とサーバー側の両方から Weblogic で EJB Bean をルックアップするために、JAAS 認証を実装する必要があります。クライアントの場合、このコードは完全に正常に機能します。
LoginContext loginContext = null;
loginContext = new LoginContext("Sample", new WeblogicCallbackHandler("weblogic", "PaSsWoRd", "localhost:7001"));
loginContext.login();
subject = loginContext.getSubject();
weblogic.security.Security.runAs(subject, new PrivilegedExceptionAction<Object>() {
@Override
public Object run() throws Exception {
Object remote = iniCtx.lookup(SOME_BEAN_REF);
Object home = PortableRemoteObject.narrow(remote, SOME_BEAN_HOME_CLASS);
return homeClass.getMethod("create", new Class[] {}).invoke(home, new Object[] {});
}
});
次に、EJB から EJB をルックアップするために同じことを行う必要があります。
しかし、ここではどの URL を使用すればよいでしょうか?
常に「localhost:7001」ですか?
私は間違いなくWeblogicの中にいるので、URLを提供することは理にかなっていますか?