2016-04-09 26 views
1

私は2つのWebSphereサーバーを持っています。 1-st(v.8.5.5)は私のEJB Beanローカルをホストします(RunsAS 'Admin'ロールは 'domain_user'にマップされます) 2番目(v.7)はFileNet ContentEngine 5.1をホストします。 Ejb Beanを2番目のWebsphereにデプロイし、iiop:// localhost:2809/FileNet/Engineと接続しても問題ありません。Filenet Content Engineへのリモートiiop接続

しかし、私は1NDからリモート接続するときには、エラーを取得しているIIOP WAS://二ました:2809 /のFileNet/Engineの

私はtheeseのconfigsを設定している:

するSystem.setProperty(」 java.security.auth.login.config "、 " c:\ eq \ config \ jaas.conf.WebSphere "); System.setProperty( "com.ibm.CORBA.ConfigURL"、 "ファイル:c:\ ea \ config \ sas.client.props");ちなみに

@DeclareRoles({"Everyone", "Admin"}) 
@RolesAllowed({"Everyone", "Admin"}) 
@RunAs("Admin") 
@Stateless 
public class CeServiceImpl implements CeServiceLocal { 
    private static final Logger logger = Logger.getLogger(CeServiceImpl.class.getName()); 

    private CeServiceHelper serviceHelper; 
    private Subject subject; 

    @PostConstruct 
    public void init() { 
     logger.info("CeServiceImpl init started"); 

     String ceUri = ConfigHelper.getCeUri(); 
     if (ceUri == null) { 
      logger.log(Level.SEVERE, "ceUri can not be null"); 
      throw new NullPointerException("ceUri can not be null"); 
     } 
     logger.info("ceUri: " + ceUri); 


     System.setProperty("java.security.auth.login.config", "c:\\ea\\config\\jaas.conf.WebSphere"); 
     System.setProperty("com.ibm.CORBA.ConfigURL", "file:c:\\ea\\config\\sas.client.props"); 


     Connection connection = Factory.Connection.getConnection(ceUri); 

     subject = UserContext.createSubject(connection, "os_user", "password", "FileNetP8"); 
     try { 
      UserContext.get().pushSubject(subject); 
     } catch (Exception e) { 
      logger.warning(e.getMessage()); 
     } 


     serviceHelper = new CeServiceHelper(connection); 

    } 

、私の最終目標はせずに(透過的にリモート接続を作成することです:私のEJBコードPushSubject

[4/9/16 21:50:04:038 YEKT] 0000022f BusinessExcep E CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getDocumentContent" on bean "BeanId(web-services-bni#ejb-1.0.1-SNAPSHOT.jar#CeServiceImpl, null)". Exception data: com.filenet.api.exception.EngineRuntimeException: FNRCS0001E: SECURITY_ANONYMOUS_DISALLOWED: Access to Content Engine was not allowed because the request was made anonymously instead of by an authenticated user. The application server reported that the user was anonymous. errorStack={ 
    at com.filenet.engine.context.SecurityContext.<init>(SecurityContext.java:75) 
    at com.filenet.engine.context.ServerCallContext.<init>(ServerCallContext.java:107) 
    at com.filenet.engine.context.ServerCallContext.newInstance(ServerCallContext.java:1115) 
    at com.filenet.engine.jca.impl.RequestBrokerImpl.executeSearch(RequestBrokerImpl.java:814) 
    at com.filenet.engine.ejb.EngineCoreBean._executeSearch(EngineCoreBean.java:318) 

を行い、その後

... pushSubject、popSubject ..)

答えて

0

2つのサーバーの日時を確認することができます。両方とも、最大5分以内にUTC時刻に同期する必要があります。この助けを願っています。

関連する問題