2012-06-14 41 views
10

Estoy intentando ejecutar una aplicación Java EE en weblogic. La aplicación funciona bien en Tomcat. Personalicé el archivo war para incluir weblogic.xml. Este archivo incluye el siguiente código: -Weblogic Error 403 - Forbidden

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

También he cambiado la configuración de las propiedades de archivo de la aplicación para reflejar el puerto en el que escucha contenedor. server.port = 7001 server.modjk.enabled = false

Mi archivo web.xml incluye el siguiente código: -

<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> 

Cuando dirigía inicialmente el archivo de la guerra a 11g WebLogic, que era obteniendo una excepción de nullpointer Sin embargo, podría implementar el archivo cuando eliminé XerceImpl.jar de la carpeta lib. Ahora puedo implementar la aplicación con éxito. Yo nombro la raíz de contexto en el weblogic como el nombre del archivo war. Cuando intento abrir el enlace generado por WebLogic en su pestaña de pruebas, me sale el siguiente error: -

Error 403 - Forbidden

De RFC 2068 Hypertext Transfer Protocol - HTTP/1.1:

10.4.4 403 Prohibido

El servidor entendió la solicitud, pero se niega a cumplirla. La autorización no ayudará y la solicitud NO DEBE repetirse. Si el método de solicitud no era HEAD y el servidor desea hacer público el motivo por el cual no se ha cumplido la solicitud, DEBERÍA describir el motivo de la negativa en la entidad. Este código de estado se usa comúnmente cuando el servidor no desea revelar exactamente por qué se rechazó la solicitud o cuando no se aplica ninguna otra respuesta.

Me preguntaba si alguien podría decirme cómo resolver este problema.

+0

Quizás tarde, pero, ¿ha visto el registro de seguridad y el registro del servidor? ¿Obtiene excepciones en estos archivos cuando intenta acceder a la aplicación? –

Respuesta

0

¿Puede usted por favor revise su archivo web.xml, no sigue la sintaxis XML, significa archivo XML válido, incluso un pequeño error como extra o <> causa este tipo de problema (me he encontrado con el mismo)

+1

He comprobado mi archivo xml pero no puedo encontrar ninguna sintaxis errror. Además, el código funciona bien en Tomcat. – user1439090

3

Sé que es muy tarde, pero también me encontré con el mismo problema y, después de buscar en Google, descubrí que el motivo y por qué decidí publicarlo solo para cualquier otra persona que pudiera encontrarse con el mismo problema. Esta página web me dio la pista:

Error 403 explained

Por defecto, WebLogic desactiva la exploración de directorios por lo tanto, si usted tiene un sitio web (por ejemplo example.com) con un index.html como página de inicio y escribe

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

por defecto weblogic no recuperaría automáticamente la página de inicio por usted. Es necesario que escriba la ruta completa, es decir

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

O eso, se necesita habilitar la exploración de directorios en WebLogic. De todos modos, esto es lo que me sucedió a mí.

5

Sé que es muy tarde para responder esta pregunta. Pero estoy respondiendo con mi pequeño conocimiento con la esperanza de que ayude a alguien por ahí.

Debe definir la página de inicio en welcome-file-list en el archivo web.xml. Por ejemplo, si es cliente.JSP es la página que se mostrará cuando se ejecuta el proyecto, la primera línea en welcome-file-list en el archivo web.xml debe ser

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

Mi podría resolver mi problema editando mi archivo web.xml. En mi caso fue una configuración jsf. '
Caras servlet javax.faces.webapp.FacesServlet 1
Caras servlet * .xx ' – ferreirabraga

-1

puede agregar a este código al final de su archivo web.xml

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

o si está utilizando JDeveloper se puede ir a la pestaña, Pages y en los archivos de bienvenida adición de la ruta a la página que desea ser abierta por defalut Visión general. También debe agregar "caras /" antes del nombre de su página, indicando que esta es la ruta predeterminada a la página que crea.

2

Si olvida agregar la configuración de seguridad correspondiente en weblogic.xml, obtendrá "403 Prohibido. El servidor entendió la solicitud, pero se niega a cumplirlo." error.

Por lo tanto asegúrese de que además de haber configurado el Web.xml con "seguridad en restricciones" configuración "login-config" y "seguridad en roles", también tiene "seguridad- papel-asignación "configuración en weblogic.xml, como el siguiente:

<?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> 

Hope, esta hepls.