2012-06-14 216 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。