2012-03-02 45 views
6

Java Servlet của tôi đang sử dụng API đồ thị Facebook thông qua phương thức URLFetchService.fetch(HTTPRequest request). Điều này đã làm việc tốt trong nhiều tuần nhưng ngày nay độ dài của truy vấn tôi đã thử nghiệm dài hơn nhiều so với những truy vấn trước đó - khoảng 2300 ký tự. Truy vấn này dẫn đến lỗi MalformedURLException : Invalid URL bị ném.Tại sao có giới hạn phía máy chủ về độ dài của URL?

Hai giờ sau, tôi phát hiện ra nguyên nhân gốc là một Máy ứng dụng có số hard limit on the length of a URL đang được tải xuống (ví dụ: từ ứng dụng GAE của bạn đến một nơi khác trên web). Hơn nữa, vấn đề này chỉ thể hiện trên máy chủ sản xuất, do đó bạn sẽ không nhận thức được nó cho đến khi bạn phát trực tiếp.

Tại sao lại như vậy? Ý tôi là, với sự gia tăng của các dịch vụ JSON và REST, tôi có thể thấy trước nhiều người hình thành các truy vấn sẽ dài hơn độ dài tối đa hiện tại khi họ thực hiện các cuộc gọi API khác nhau đến các dịch vụ khác nhau.

Câu hỏi: Điều này có được 'cố định' không? Có một giải pháp đơn giản?

Môi trường cài đặt: Java App Engine SDK 1.6.1

Trả lời

1

Có vẻ như bạn cần phải file this as a feature request hoặc báo cáo lỗi, tuy nhiên bạn nhìn thấy nó. Trong cả hai trường hợp, những người tốt trong nhóm App Engine là những người duy nhất có thể giải quyết vấn đề này cho bạn.

+1

Cảm ơn Marvin. Tôi đã hy vọng sẽ có một sửa chữa đơn giản nhưng nó không giống như nó. Dù bằng cách nào, tôi đã mở yêu cầu tính năng sau: http://code.google.com/p/googleappengine/issues/detail?id=7053&thanks=7053&ts=1330713817 –

+0

Mọi cách giải quyết đã biết chưa? – Daniel

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