2013-08-30 25 views
7

Tôi có tệp web.xml follwing cho một ứng dụng.xác thực web.xml trong Weblogic ném lỗi vì cấu hình cookie

<?xml version="1.0"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 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_2_5.xsd"> 
<display-name>..</display-name> 

<description>..</description> 



<session-config> 
    <cookie-config> 
     <name>SESSIONDEBUG_JSESSIONID</name> 
    </cookie-config> 
    </session-config> 
</web-app> 

tôi nhận được lỗi sau khi triển khai

Caused By: weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND 
problem: cvc-complex-type.2.4a: Expected element '[email protected]://java.sun.com/xml/ns/javaee' instead of 'cookie- [email protected]://java.sun.com/xml/ns/javaee' here in element session- [email protected]://java.sun.com/xml/ns/javaee:<null> 

Không chắc tôi hoàn toàn hiểu sai. Tôi thấy rằng nó muốn tôi tuyên bố thời gian chờ phiên trong đó. Tôi sẽ thử một lần ..

Trả lời

9

<cookie-config>introduced trong Servlet 3.0 và không được hỗ trợ trong các phiên bản cũ hơn như 2.5. web.xml của bạn được khai báo là Servlet 2.5 phù hợp.

Bạn đã 2 lựa chọn:

  1. redeclare web.xml phù hợp với Servlet 3.0 (mà mặc nhiên cũng đòi hỏi một Servlet 3.0 container mục tiêu tương thích như Tomcat 7, Glassfish 3, WebLogic 12, vv).

  2. Nếu bạn không thể nâng cấp, hãy quên và giải quyết bằng cách sử dụng bộ lọc servlet tùy chỉnh hoặc cấu hình dành riêng cho vùng chứa (ví dụ: Valve trong Tomcat/JBoss; không thể trả lời đầu cho WebLogic như tôi ' đã không bao giờ thực sự sử dụng nó, hãy xem xét việc đặt một câu hỏi mới cho phần đó).

+0

Làm cách nào để khai báo web phổ biến_3_0.xsd trong web.xml của tôi? Tôi đã nâng cấp web.xml của mình lên 3.0 user6123723

+1

Đó là khá nhiều, nhưng bạn hoàn toàn nên hiểu rằng điều này sẽ vẫn thất bại nếu vùng chứa đích của bạn không phải là một Servlet 3.0 tương thích. Nó nên có ít nhất WebLogic 12. Nếu đó là một phiên bản WebLogic cũ hơn và bạn không thể nâng cấp nó, thì đó là kết thúc của câu chuyện. – BalusC

+2

Nó vẫn không thành công trên Weblogic 12.1. Việc triển khai Servlet 3 của ít nhất một số phiên bản WL12.1 là không đầy đủ. – jwenting

Các vấn đề liên quan