NoAccessRuntimeException при тестировании источника данных в консоли WebLogic - PullRequest
0 голосов
/ 10 января 2011

Я работаю над приложением J2EE.Все работает, если я использую локальный экземпляр WebLogic, но если я разверну его на удаленном сервере, где он в конечном счете должен будет работать (WebLogic 10.3.3.0), источник данных станет недоступным.Я могу открыть первую веб-страницу, но как только я нажимаю кнопку, которая вызывает доступ к базе данных, я получаю следующую ошибку в браузере:

javax.faces.FacesException: #{backing_admin.loginAction}: javax.ejb.EJBException: EJB Exception: ; nested exception is: 
    javax.persistence.PersistenceException: Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Cannot acquire data source [PGY2].
Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'PGY2'. Resolved ''; remaining name 'PGY2'; nested exception is: javax.persistence.PersistenceException: Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Cannot acquire data source [PGY2].
Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'PGY2'. Resolved ''; remaining name 'PGY2'
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
    at javax.faces.component.UICommand.broadcast(UICommand.java:387)
    ...

Если я перехожу к консоли WebLogic удаленного сервераи попытаться проверить источник данных, я получаю эту ошибку:

An unexpected exception has occurred processing your request

Message:    
Access not allowed for subject: principals=[wlm, AppTesters, Monitors], on ResourceType: JDBCDataSourceRuntime Action: execute, Target: testPool

Stack Trace:
weblogic.management.NoAccessRuntimeException: Access not allowed for subject: principals=[wlm, AppTesters, Monitors], on ResourceType: JDBCDataSourceRuntime Action: execute, Target: testPool
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:205)
at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:222)
at ...

Что означает эта ошибка и что может ее вызвать?

1 Ответ

1 голос
/ 10 января 2011

Похоже, на удаленном сервере определена политика безопасности.Однако я не уверен, была ли безопасность определена глобально или для определенного источника данных JDBC.

Вы можете войти в консоль, если у вас есть учетные данные и посмотреть

Home> Сводка источников данных JDBC>% your_data_source%> Роли> Политики

Роли

Из журнала я вижу, что вы аутентифицированы с пользователем "wlm",Проверьте с администратором ограничения безопасности.

...