2015-12-30 11 views
12

Ich habe diesen Proof of Concept https://github.com/DISID/disid-proofs/tree/master/spring-boot-weblogic entwickelt, um die Bereitstellung von Spring Boot-Anwendungen in Weblogic 12c (12.2.1) zu testen.Spring Boot-Ausnahme: ServletContext-Ressource konnte nicht geöffnet werden [/WEB-INF/dispatcherServlet-servlet.xml]

Die Anwendung setzt und startet erfolgreich, aber wenn ich versuche, es (das heißt /Konten Anzahl = 1234?) Der Fehler ist unten dargestellt zu verbinden:

Error 500--Internal Server Error 
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1: 
10.5.1 500 Internal Server Error 
The server encountered an unexpected condition which prevented it 
    from fulfilling the request. 

und die Protokolldatei hat die Ausnahme :

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/dispatcherServlet-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/dispatcherServlet-servlet.xml] 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:344) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) 
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) 
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:609) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:510) 
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634) 
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682) 
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553) 
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494) 
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:244) 
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run 

Habe ich etwas verpasst?

Danke,

+0

Wo ist 'DispatcherServlet-servlet.xml' kommen? Könnte es sein, dass es von der Weblogic-spezifischen Spring-Unterstützung kommt oder so? –

+0

Keine Ahnung, die Spring Boot-Anwendung ist sehr einfach, bitte schauen Sie sich den Proof of Concept unter https://github.com/DISID/disid-proofs/tree/master/spring-boot-weblogic – eruiz

+0

an. Ich sehe da nichts falsch. –

Antwort

8

ich dieses Problem mit WebLogic 12.2.1.0 wiedergegeben habe (plain neue Installation) mit spring-boot-sample-war (mit einer zusätzlichen weblogic.xml Protokollierung zu handhaben). Habe auch den neusten Patchsatz (WLS PATCH SET UPDATE 12.2.1.0.160419) ausprobiert, aber das Problem bleibt bestehen.

Aus irgendeinem Grund entscheidet WebLogic, dass es das DispatcherServlet mit seiner eigenen Konfiguration erstellen muss, sobald Sie auf die verfügbare Anwendung zugreifen.

Ich habe eine Serviceanfrage an Oracle Support gestellt und wir werden sehen, was sie über dieses Problem denken.

Update: 'Patch 23124727: SPRING BOOT .WAR ON 12.2.1 aufgrund von JAVA.IO.FILENOTFOUNDEXCEPTION' nicht verfügbar ist für Oracle WebLogic Server 12.2.1.0.0 verfügbar und arbeitet mit dem Spring-Boot-Sample- Krieg sowie eine erweiterte Anwendung.

+0

Cool! Vielen Dank für Ihre Berichterstattung an Oracle Support! – eruiz

+0

Gibt es eine Möglichkeit, die Serviceanforderung zu verfolgen? – Schokea

+2

Es ist SR # 3-12394371821. Nicht sicher, ob es für andere verfügbar ist. Wahrscheinlich nicht .. Sie untersuchen derzeit. –

12

fand ich eine Abhilfe eine Dummy-dispatcherServlet-servlet.xml Datei unter WEB-INF setzen:

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd"> 

    <!-- Do not remove this file! --> 

</beans> 
+1

Vielen Dank, diese Umgehungslösung hat für mich funktioniert. –

+1

Ja, das hat auch für uns funktioniert. Vielen Dank! –

+2

Vielen Dank für die Idee. Übrigens mit der neuesten aktuellen Version 12.2.1.3 ist dieses Problem weg. –