2013-05-06 21 views
9

Tôi có dịch vụ web RESTful được triển khai trên tomcat 'dịch vụ web hoạt động tốt trong máy khách/máy chủ trên cùng một miền' nhưng tôi bắt buộc phải cung cấp Dịch vụ web từ miền chéo ' mục đích tôi đã sử dụng bộ lọc CORS.SEVERE: Bộ lọc khởi động ngoại lệ CORS

Tôi đã bao gồm lọ lọc trong cả myProjects/lib và tomcat/lib 'và cũng đã bao gồm sau đây trong tập tin web.xml của tôi về dự án dịch vụ web'

<filter> 
    <filter-name>CORS</filter-name> 
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> 
</filter> 

<init-param> 
    <param-name>cors.supportedHeaders</param-name> 
    <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value> 
</init-param> 

<filter-mapping> 
    <filter-name>CORS</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

Nhưng khi tôi cố gắng để bắt đầu trang web dịch vụ tôi nhận được lỗi sau về CORS lọc:

SEVERE: Exception starting filter CORS 
java.lang.NoClassDefFoundError: com/thetransactioncompany/util/PropertyParseException 
at com.thetransactioncompany.cors.CORSFilter.init(CORSFilter.java:100) 

vui lòng hướng dẫn cho tôi để tìm ra những gì là sai với tình trạng này'

+0

Hình như một số vấn đề trong khởi của CORSFilter. Tôi khuyên bạn nên xóa bất kỳ tham số init nào và thử theo mặc định, nếu nó hoạt động. –

+0

thanx để trả lời nhưng nó không hoạt động vì vậy bây giờ tôi chuyển sang jsonp để giải quyết vấn đề miền chéo – pointer

Trả lời

13

Bạn cần phải thêm java-tính-util s-1.7.1.jar tập tin vào classpath quá như bộ lọc cors có một phụ thuộc vào nó.

http://search.maven.org/#browse%7C-411787350

+0

Điều này không được đóng gói cùng với tomcat sau đó? (ví dụ: trong các gói .deb cho Debian/Ubuntu) – a1an

+0

BTW, vừa thử thêm nó vào thư mục lib của Tomcat nhưng điều đó không giải quyết được vấn đề. – a1an

0

Đây có thể là sự cố phiên bản. Tôi gặp vấn đề tương tự và hóa ra bộ lọc này yêu cầu tối thiểu Tomcat phiên bản 7.0.41 để hoạt động, theo: http://enable-cors.org/server_tomcat.html

Tham chiếu, Debian 7.8 gửi Tomcat 7.0.28, không hỗ trợ CORS gốc.

0

Tôi gặp vấn đề tương tự. Trong trường hợp của tôi, vấn đề là phụ thuộc maven đã bị xóa khỏi phần Deployment Assembly trong dự án properties. Hy vọng nó sẽ giúp ai đó.

0

Trong trường hợp của tôi, việc thêm các tệp 2 jar bên dưới vào thư mục lib tomcat đã giải quyết được sự cố.

CORS-lọc-2.5.jar java-hữu-utils-1.10.jar