0

JSF2.0 と休止状態を使用して簡単なデモ Web アプリケーションを開発しました。この Web アプリケーションは、IBM FileNet 4.5.1 を使用して、アップロードされたファイルを保存および取得します。この Web アプリケーションを JBoss 6.0 にデプロイすると、すべて正常に動作します。しかし、顧客から、評価のために JBoss 4.2.3 にデプロイするように依頼されましたが、うまくいきません。IBM Filenet にアクセスしようとすると、エラーが表示されます... スタック トレースは次のとおりです。

17:32:47,353 INFO  [STDOUT] 17:32:47,353 DEBUG JaasConfiguration:60 - Default JAAS Configuration: 
HttpCredentials {
    com.idoox.security.jaas.HttpLoginModule required;
}

FileNetP8Engine {
    com.filenet.api.authentication.jboss.login.FnClientLoginModule required;
}

FCLMStackingHelper {
    org.jboss.security.ClientLoginModule required;
}

NameMapping {
    com.idoox.security.jaas.NameLoginModuleNoAuth required;
}

Credentials {
    com.idoox.security.jaas.GSSLoginModule required;
}

KrbCredentials {
    com.sun.security.auth.module.Krb5LoginModule required;
}

NamePasswordAN {
    com.idoox.security.jaas.NamePasswordLoginModule required;
}

CertsMapping {
    com.idoox.security.jaas.CertsLoginModule required;
}

CachedKrbCredentials {
    com.sun.security.auth.module.Krb5LoginModule required;
}

NamePasswordNoAN {
    com.idoox.security.jaas.NamePasswordLoginModuleNoAuth required;
}

FileNetP8WSI {
    com.filenet.api.util.WSILoginModule required;
}

FileNetP8 {
    com.filenet.api.authentication.jboss.login.FnClientLoginModule required;
}

ReceivedCredentials {
    com.idoox.security.jaas.GSSLoginModuleNoAuth required;
}

FileNetP8Server {
    com.filenet.api.authentication.jboss.login.FnClientLoginModule required;
}

HttpRequest {
    com.idoox.security.jaas.SmLoginModule required;
}

FileNetP8KerberosService {
    com.filenet.api.authentication.jboss.login.FnClientLoginModule required;
}

NameDigestAN {
    com.idoox.security.jaas.NameDigestLoginModule required;
}

17:32:47,355 INFO  [STDOUT] 17:32:47,355 DEBUG JaasConfiguration:206 - Configured JAAS entry found (Default not used) for: 'FileNetP8WSI'     org.jboss.security.auth.spi.UsersRolesLoginModule required;
17:32:47,367 ERROR [UsersRolesLoginModule] Failed to load users/passwords/role files
java.io.IOException: No properties file: users.properties or defaults: defaultUsers.properties found
    at org.jboss.security.auth.spi.Util.loadProperties(Util.java:315)
    at org.jboss.security.auth.spi.UsersRolesLoginModule.loadUsers(UsersRolesLoginModule.java:186)
    at org.jboss.security.auth.spi.UsersRolesLoginModule.createUsers(UsersRolesLoginModule.java:200)
    at org.jboss.security.auth.spi.UsersRolesLoginModule.initialize(UsersRolesLoginModule.java:127)
    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:592)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:756)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at com.filenet.apiimpl.core.UserPasswordToken.getSubject(UserPasswordToken.java:112)
    at com.filenet.api.util.UserContext.createSubject(UserContext.java:240)
    at alekso.filenet.ce.CEConnection.establishConnection(CEConnection.java:59)
    at alekso.filenet.ce.WSIConnector.GetDocument(WSIConnector.java:89)
    at Alekso.BasDemo.DAL.FileNetProxy.retrieveFile(FileNetProxy.java:43)
    at Alekso.BasDemo.Servlet.DownloadServlet.doDownload(DownloadServlet.java:67)
    at Alekso.BasDemo.Servlet.DownloadServlet.doGet(DownloadServlet.java:42)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:595)
17:32:47,417 INFO  [STDOUT] 17:32:47,416 DEBUG EngineRuntimeException:207 - com.filenet.api.exception.EngineRuntimeException: E_NOT_AUTHENTICATED: The user is not authenticated.
    at com.filenet.apiimpl.core.UserPasswordToken.getSubject(UserPasswordToken.java:127)
    at com.filenet.api.util.UserContext.createSubject(UserContext.java:240)
    at alekso.filenet.ce.CEConnection.establishConnection(CEConnection.java:59)
    at alekso.filenet.ce.WSIConnector.GetDocument(WSIConnector.java:89)
    at Alekso.BasDemo.DAL.FileNetProxy.retrieveFile(FileNetProxy.java:43)
    at Alekso.BasDemo.Servlet.DownloadServlet.doDownload(DownloadServlet.java:67)
    at Alekso.BasDemo.Servlet.DownloadServlet.doGet(DownloadServlet.java:42)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:595)
Caused by: javax.security.auth.login.LoginException: Missing users.properties file.
    at org.jboss.security.auth.spi.UsersRolesLoginModule.login(UsersRolesLoginModule.java:148)
    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:592)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at com.filenet.apiimpl.core.UserPasswordToken.getSubject(UserPasswordToken.java:112)
    ... 26 more
17:32:47,421 INFO  [STDOUT] 17:32:47,419 ERROR WSIConnector:100 - Errore nel documento con id {BDFCA4F2-B8C7-44EA-9481-4628C26A9DD5}
com.filenet.api.exception.EngineRuntimeException: E_NOT_AUTHENTICATED: The user is not authenticated.
    at com.filenet.apiimpl.core.UserPasswordToken.getSubject(UserPasswordToken.java:127)
    at com.filenet.api.util.UserContext.createSubject(UserContext.java:240)
    at alekso.filenet.ce.CEConnection.establishConnection(CEConnection.java:59)
    at alekso.filenet.ce.WSIConnector.GetDocument(WSIConnector.java:89)
    at Alekso.BasDemo.DAL.FileNetProxy.retrieveFile(FileNetProxy.java:43)
    at Alekso.BasDemo.Servlet.DownloadServlet.doDownload(DownloadServlet.java:67)
    at Alekso.BasDemo.Servlet.DownloadServlet.doGet(DownloadServlet.java:42)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:595)
Caused by: javax.security.auth.login.LoginException: Missing users.properties file.
    at org.jboss.security.auth.spi.UsersRolesLoginModule.login(UsersRolesLoginModule.java:148)
    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:592)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at com.filenet.apiimpl.core.UserPasswordToken.getSubject(UserPasswordToken.java:112)
    ... 26 more
17:32:47,421 INFO  [STDOUT] 17:32:47,421 ERROR DownloadServlet:89 - Impossibile recuperare il file allegato
com.filenet.api.exception.EngineRuntimeException: E_NOT_AUTHENTICATED: The user is not authenticated.
    at com.filenet.apiimpl.core.UserPasswordToken.getSubject(UserPasswordToken.java:127)
    at com.filenet.api.util.UserContext.createSubject(UserContext.java:240)
    at alekso.filenet.ce.CEConnection.establishConnection(CEConnection.java:59)
    at alekso.filenet.ce.WSIConnector.GetDocument(WSIConnector.java:89)
    at Alekso.BasDemo.DAL.FileNetProxy.retrieveFile(FileNetProxy.java:43)
    at Alekso.BasDemo.Servlet.DownloadServlet.doDownload(DownloadServlet.java:67)
    at Alekso.BasDemo.Servlet.DownloadServlet.doGet(DownloadServlet.java:42)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:595)
Caused by: javax.security.auth.login.LoginException: Missing users.properties file.
    at org.jboss.security.auth.spi.UsersRolesLoginModule.login(UsersRolesLoginModule.java:148)
    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:592)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
    at com.filenet.apiimpl.core.UserPasswordToken.getSubject(UserPasswordToken.java:112)
    ... 26 more

誰かが解決策を提案できますか? スタック トレースは users.properties ファイルについて語っていますが、JBoss 6.0 にもありません。また、JBoss 4.2.3 を動作させるために本当に作成する必要がある場合、何を入れればよいでしょうか? コードで FileNet に対する接続を構成し、他の場所からパラメーターを読み取ります...これらの問題を引き起こしている jboss 4.2.3 と jboss 6.0 の違いは何ですか?

4

2 に答える 2

1

解決しました!それはばかげた間違いでした。ファイルlogin-config.xmlにこれを追加する必要があります

<application-policy name="FileNetP8WSI">
    <authentication>
        <login-module code="com.filenet.api.util.WSILoginModule" flag="required"/>
    </authentication>
</application-policy>

Filenet との通信が機能するようにします。スペルを間違えたので、うまくいきませんでした。

于 2011-07-28T09:40:47.917 に答える
0

どのトランスポート プロトコルを使用していますか? IIOPまたはWSI?WSI を使用している場合、アプリは理論的には動作するはずです。CE は Jboss 6.0 インスタンスでホストされていますよね?

IIOP トランスポート プロトコルを使用していると仮定します。その場合、クライアント アプリにはサーバー アプリと同じ J2EE ライブラリが必要です。以前に Jboss で FileNet クライアントを作成したことはありませんが、WebLogic または WAS を使用する場合、サーバー上と同じバージョンの .jar ファイルがクライアント上に必要です。したがって、たとえば、WebLogic システムでホストされている CE と通信するクライアントを作成する場合、サーバーでホストされているのと同じバージョンの weblogic.jar をクライアントで使用する必要があります。

別のバージョンの Jboss で実行されるクライアントを CE として作成することは可能ですが、WSI トランスポート プロトコルを使用する必要があります。幸いなことに、コードを変更する必要はありません。構成を変更して、IIOP の代わりに WSI を使用するだけです。

于 2011-07-27T13:08:28.970 に答える