2010-12-31 38 views
5

Tôi biết có vấn đề với xstream trên công cụ ứng dụng của Google vì lý do bảo mật. Tôi quan sát thấy vài bản vá được áp dụng để làm cho nó hoạt động trên gae cho xstream. Có thể bất kỳ một trong những phiên bản của jar hoặc là có cách nào khác để làm cho xml để java khác hơn là JAXP trong Gae?xstream trên công cụ ứng dụng của Google

+0

Tôi cũng quan tâm đến giải pháp này. Bạn đã tìm thấy một cái gì đó của chính mình? – user376112

Trả lời

7

Do hạn chế GAE, bạn sẽ phải:

  • thay đổi nhà cung cấp phản ánh mặc định của nó để PureJavaReflectionProvider
  • Bỏ qua một số các bộ chuyển đổi đối tượng được tự động đăng ký khi một thể hiện của xStream được tạo ra, hầu hết đáng chú ý là các trình chuyển đổi lớp AWT và Swing, và trình chuyển đổi DynamicProxy.

Tôi đã đăng triển khai được xây dựng trên đầu trang của XStream để làm cho nó tương thích với GAE. Không cần vá. Các liên kết đến việc thực hiện là ở đây: http://www.wappworks.com/2011/11/11/using-xstream-with-google-app-engine/

+0

Triển khai này đã giúp tôi rất nhiều. Tuy nhiên tôi đã phải thêm một vài chuyển đổi thêm mà chưa được đăng ký. Trong trường hợp của tôi: registerConverter (new EnumConverter(), PRIORITY_NORMAL); registerConverter (mới EnumSetConverter (mapper), PRIORITY_NORMAL); registerConverter (mới EnumMapConverter (mapper), PRIORITY_NORMAL); – snae

+0

@ chris-koo Tôi đã thử giải pháp của bạn nhưng vẫn gặp lỗi, bạn có thể giúp tôi không: http://stackoverflow.com/questions/15802986/xstream-and-google-app-engine –

0

Có bây giờ là một jar vào file đính kèm cho mục JIRA này: https://jira.codehaus.org/browse/XSTR-566

Có vẻ như để làm việc cho serialising to XML nhưng không nhất thiết phải là ngược lại.

Đáng buồn thay, bản vá này dường như chưa được tích hợp vào bản phát hành chính thức.

+0

phải nó hoạt động để tuần tự hóa, nhưng không thành công trong deserializing –

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