0

У меня есть приложение openAM, запущенное на Tomcat 7. На моем сервере JBoss, который имеет приложение, защищенное OpenAM, я получаю следующее сообщение об ошибке при доступе к любому защищенному ресурсу:openam J2EE Агент политики - ServerEntryNotFoundException: Не удается найти идентификатор сервера

Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.sun.identity.agents.filter.AmFilterManager 
    at com.sun.identity.agents.filter.AmAgentBaseFilter.initializeFilter(AmAgentBaseFilter.java:270) [agent.jar:4.0.0-SNAPSHOT - 20140502-0259] 
    ... 16 more 

Этот класс относится к веб-политики агента, который я установил на моем Jboss, который создал jboss module который объявляет эти зависимости:

<dependencies> 
     <module name="javax.servlet.api" /> 
     <module name="javax.api" /> 
     <module name="javax.xml.bind.api" /> 
     <module name="javax.ejb.api" /> 
     <module name="org.picketbox" /> 
    </dependencies> 

Но я проверил мой jboss/modules для этих зависимостей, и все они есть.

В моем файле журнала Web Policy agent's, я вижу это, как войти каждую минуту:

ERROR: WebtopNaming.getServerId():serverId null for server: http://openam.example.com:8181/openam 
amNaming:12/04/2014 03:55:37:027 PM CET: Thread[SystemTimer,5,main] 
ERROR: WebtopNaming.getServerId() 
com.iplanet.services.naming.ServerEntryNotFoundException: Cannot find server ID. 
    at com.iplanet.services.naming.WebtopNaming.getServerID(WebtopNaming.java:757) 
    at com.iplanet.services.naming.WebtopNaming.getServerID(WebtopNaming.java:654) 
    at com.iplanet.services.naming.WebtopNaming$SiteMonitor.checkAvailableSiteList(WebtopNaming.java:1738) 
    at com.iplanet.services.naming.WebtopNaming$SiteMonitor.runCheckValidSite(WebtopNaming.java:1713) 
    at com.iplanet.services.naming.WebtopNaming$SiteMonitor.run(WebtopNaming.java:1706) 
    at com.sun.identity.common.TimerPool$WorkerThread.run(TimerPool.java:434) 

ответ

1

Проблема, что, когда я создал свою конфигурацию по умолчанию после установки openAM, я получил доступ к серверу openAM через локальный: 8181 вместо openam.example.com:8181.

Так openAM автоматически создал конфигурацию сервера с именем localhost: 8181/openam. Эти конфигурации можно найти на консоли администратора в разделе «Конфигурация»> «Серверы и сайты».

+1

Вы не должны устанавливать OpenAM с «localhost», по крайней мере, вы должны подделывать полное доменное имя, используя записи/etc/hosts. –

+0

да, поэтому я узнал. –

Смежные вопросы