2016-05-05 25 views
0

ローカルのweblogicサーバーで別のWeblogicで実行されている別のアプリケーションとの接続を確立しようとするスレッドサーバ。私の方法は、リモートオブジェクトを作成し、[セキュリティ:090398]私は
EJBを使用してweblogicサーバーに接続しているときに例外が発生しました - 無効な件名:principals = [weblogic、Administrators]

例外の下に取得するリモートメソッドを呼び出そうとするたびに無効な件名を:ここでは、プリンシパル= [のWebLogic、管理者]

は私ですコード:

Properties myEnv = new Properties(); 
    myEnv.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); 
    myEnv.put(Context.PROVIDER_URL, "t3//123.345.234.123:1234"); 
    myEnv.put(Context.SECURITY_PRINCIPAL, username); 
    myEnv.put(Context.SECURITY_CREDENTIALS, password);   
    InitialContext context; 
    Object lookupObj; 
    try { 
     context = new InitialContext(_contextEnv); 
     lookupObj = context.lookup("ejb.lookup.bean"); 
     MyHome home = (MyHome) PortableRemoteObject.narrow(lookupObj, MyHome.class); 
     MyRemote remote =home.create(); 
     if (null != context) { 
      try { 
       context.close(); 
      } 
      catch (Exception e) { 
      // 

      } 
     } 
     return remote; 
    } catch (Exception e) {    
     e.printStackTrace(); 
    } 

誰もが何が間違って伝えることができますか?

答えて

0

両方のweblogicサーバーインスタンスが2つの異なるドメインで動作していると思います。 したがって、2つのドメイン間で信頼を有効にする必要があります。 https://docs.oracle.com/cd/E21764_01/web.1111/e13707/domain.htm#SECMG402

また、finally句でJNDIコンテキストを閉じることを忘れないようにしてください。

関連する問題