2012-06-14 217 views
10

我想在weblogic上運行Java EE應用程序。該應用程序在Tomcat上運行良好。我已經定製了war文件以包含weblogic.xml。此文件包含以下代碼: -Weblogic錯誤403 - 禁止

<container-descriptor> 
    <show-archived-real-path-enabled>true</show-archived-real-path-enabled> 
</container-descriptor> 

我還更改了應用程序的屬性文件中的配置,以反映容器正在偵聽的端口。 server.port = 7001 server.modjk.enabled =假

我的web.xml文件包括以下代碼: -

<servlet> 
    <servlet-name>olatservlet</servlet-name> 
    <servlet-class>org.olat.core.servlets.OLATServlet</servlet-class> 

    <!-- Set the load order --> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>olatservlet</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name>olatservlet</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

當我最初運行在WebLogic 11g中的戰爭文件,我是得到一個空指針異常。但是,當我從lib文件夾中刪除XerceImpl.jar時,我可以部署該文件。現在我能夠成功部署應用程序。我將weblogic中的上下文根命名爲war文件的名稱。當我嘗試在測試選項卡中打開了WebLogic生成的鏈接,我得到以下錯誤: -

錯誤403 - 禁止

從RFC 2068超文本傳輸​​協議 - HTTP/1.1:

10.4.4 403禁止

服務器理解請求,但拒絕履行請求。授權不起作用,請求不應重複。如果請求方法不是HEAD並且服務器希望公開爲什麼請求沒有被滿足,那麼它應該描述在實體中拒絕的原因。當服務器不希望揭示請求被拒絕的原因時,或者沒有其他響應適用時,通常使用此狀態碼。

我想知道是否有人能告訴我如何解決這個問題。

+0

也許遲到了,但是,你見過安全日誌和服務器日誌嗎?當你嘗試訪問應用程序時,你會在這些文件中遇到異常嗎? –

回答

0

能否請您檢查您的web.xml文件,不遵循XML語法,意味着有效的XML文件,即使是小錯誤,如額外<或>造成這種問題(我也遇到同樣的)

+1

我檢查了我的xml文件,但找不到任何語法錯誤。此外,代碼在Tomcat中工作正常。 – user1439090

3

我知道這已經很晚了,但我也遇到過同樣的問題,經過Google搜索後,我發現我之所以決定將它發佈給任何其他可能遇到同樣問題的人。本網頁給我的暗示:

Error 403 explained

默認情況下,禁用的WebLogic目錄瀏覽,因此,如果你有一個網站(比如example.com)與index.html作爲您的主頁並鍵入

http://localhost:7001/example.com, 

默認情況下,weblogic不會自動爲您檢索主頁。你需要輸入完整的路徑,即

http://localhost:7001/example.com/index.html. 

要麼,你需要啓用weblogic中的目錄瀏覽。無論如何,這是發生在我身上的事情。

5

我知道回答這個問題已經很晚了。但我正在回答我的小知識,希望能幫助那裏的人。

您應該在web.xml文件的welcome-file-list中定義起始頁面。例如,如果客戶端。JSP是當你運行你的項目要顯示的頁面,在歡迎文件列表的第一行中的web.xml文件應該是

<welcome-file-list> 
    <welcome-file>client.jsp</welcome-file> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list> 
+0

我可以解決我的問題編輯我的web.xml文件。在我的情況是一個jsf配置。 '
Faces Servlet javax.faces.webapp.FacesServlet 1
面臨的Servlet * .XX ' – ferreirabraga

-1

你可以在你的web.xml文件的末尾添加以下代碼

<welcome-file-list> 
    <welcome-file>faces/my_page.jspx</welcome-file> 
</welcome-file-list> 

,或者如果您要使用JDeveloper,你可以去到概述選項卡,頁面和歡迎文件添加到要被defalut打開頁面的路線。 此外,您應該在頁面名稱前添加「faces /」,這是您創建頁面的默認路由。

2

如果您錯過了在weblogic.xml中添加相應的安全配置,您會收到「403 Forbidden。服務器理解請求,但拒絕履行它。」錯誤。

因此確保除了有與「安全約束」,「登錄,配置」和「安全角色」設置來配置你的的web.xml,你還「安全 - 角色分配「配置weblogic.xml中,如下所示:

<?xml version="1.0" encoding="UTF-8"?> 
<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://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.8/weblogic-web-app.xsd"> 
    <wls:weblogic-version>12.2.1</wls:weblogic-version> 
    <wls:context-root>SomeApp</wls:context-root> 
    *************** 
    *************** 
    <wls:security-role-assignment> 
     <wls:role-name>someGroupeDefinedInWebLogicServer</wls:role-name> 
     <wls:principal-name>someUserDefinedInWebLogicServer</wls:principal-name> 
    </wls:security-role-assignment> 
    *************** 
    *************** 
</wls:weblogic-web-app> 

希望,這hepls。