В weblogic.xml <предпочитаемое приложение-пакеты> не работает? - PullRequest
0 голосов
/ 01 ноября 2018

Я перепробовал много решений / попыток и ошибок, которые я получил от стекового трафика и поиска в Google. Использование Weblogic 12.2.1.3 и моего проекта weblogic.xml

<wls:weblogic-web-app
        xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.8/weblogic-web-app.xsd">

      <security-role-assignment>
        <role-name>admin</role-name>
        <principal-name>Administrators</principal-name>
     </security-role-assignment>

     <wls:container-descriptor>
      <wls:prefer-application-packages>
           <wls:package-name>org.opensaml</wls:package-name>
      </wls:prefer-application-packages>

      <wls:show-archived-real-path-enabled>true</wls:show-archived-real-path-enabled>

    </wls:container-descriptor>

</wls:weblogic-web-app>

Проблема в том, что, даже если я упомянул в weblogic.xml о opensaml , которые берут из моего проекта, то также сервер берет из Oracle weblogic. Это не берет из моего проекта. Я использую 2.6.6 версию Jam opensaml для моего проекта. Я пробовал с <wls:package-name>org.opensaml.*</wls:package-name>, но безуспешно.

Основная причина проверки weblogic.xml заключается в том, что когда я пытался открыть один конкретный URL, в браузере появляется следующая ошибка. Но это работает для Tomcat сервера, когда вы открываете тот же URL. Таким образом, я предполагаю, что weblogic.xml -> тег предпочитаемого приложения не работает.

java.lang.IncompatibleClassChangeError: Implementing class
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at weblogic.utils.classloaders.GenericClassLoader.defineClassInternal(GenericClassLoader.java:1113)
    at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:1046)
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:1038)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:990)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:104)
    at weblogic.utils.classloaders.GenericClassLoader.doFindClass(GenericClassLoader.java:611)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:543)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:496)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:72)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
    at org.springframework.security.saml.SAMLBootstrap.postProcessBeanFactory(SAMLBootstrap.java:42)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:284)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:179)

1 Ответ

0 голосов
/ 13 ноября 2018

Работа вокруг:

При удалении com.oracle.weblogic.security.opensaml2 из weblogic -> Папка модуля, проблема решается. Нет необходимости удалять com.oracle.weblogic.security.opensaml jar.

...