2011-02-08 42 views
7

Tôi đã phải cập nhật ứng dụng java trước đó yêu cầu phản hồi SOAP từ dịch vụ web bên ngoài. Dịch vụ này nằm ngoài tường lửa của chúng tôi, hiện yêu cầu chúng tôi đi qua proxy thay vì nhấn trực tiếp vào URL.Kết nối SOAP thông qua proxy bằng URLEndpoint

Hiện tại Ứng dụng Java sử dụng URLEndpoint lấy chuỗi cho URL. Thông thường khi tôi nhận được đến một URL thông qua proxy tôi tạo ra một URL như vậy:

URL url = new URL("http", "theproxy.com", 5555, finalUrl); 

Vấn đề là URLEndpoint chỉ mất một chuỗi cho url, tôi đã cố gắng để chuyển đổi URL để chuỗi sử dụng toExternalForm() nhưng nó đã làm sai URL.

Bất kỳ ý tưởng nào về cách giải quyết vấn đề này?

EDIT: Tôi không thể sử dụng System.setProperty vì điều này chạy với toàn bộ đống ứng dụng Java khác trong tomcat.

chỉnh sửa lần hai: Tôi không thể đặt thuộc tính hệ thống vì nó sẽ ghi đè tất cả các ứng dụng khác đang chạy trên máy chủ, tôi không thể sử dụng jsocks làm proxy chúng tôi chạy qua proxy mực không hỗ trợ socks4/5

Bất kỳ trợ giúp nào được đánh giá cao.

Trả lời

7

Đó không phải là cách hoạt động của proxy. Cách làm việc một proxy là bạn lấy URL bình thường của bạn:

http://example.com/service 

và thay vì nhìn lên "example.com" và cổng 80, thông điệp được gửi đến máy chủ proxy của bạn thay vì (http://theproxy.com:5555).

Java đã xây dựng trong xử lý proxy bằng cách sử dụng thuộc tính hệ thống http.proxyHost và http.proxyPort.

Vì vậy, trong trường hợp của bạn, bạn sẽ cần phải làm:

System.setProperty("http.proxyHost", "theproxy.com"); 
System.setProperty("http.proxyPort", "5555"); 

Sau đó, mã của bạn nên, lý tưởng, "Chỉ cần làm việc".

Here là trang ghi lại thuộc tính proxy.

+0

Yeah, tôi biết proxy không làm việc như thế nhưng chỉ cần cố gắng tất cả mọi thứ . Thú vị giải pháp mặc dù, tôi sẽ cố gắng và lấy lại cho bạn. Chúc mừng – Rudiger

+0

Tôi thực sự không thể làm điều này bởi vì điều này đặt tomcat để chạy qua proxy không chỉ là ví dụ. : (Bất kỳ gợi ý nào khác? – Rudiger

+0

Sử dụng thư viện proxy (jsocks, rabbit, v.v.) – mindas

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