Tôi đang sử dụng Netbeans để tự động tạo các máy khách webservice dựa trên các tệp WSDL. Điều này hoạt động tốt, ngoại trừ các dịch vụ web tôi đang sử dụng yêu cầu tôi chuyển một cookie tùy chỉnh trong tiêu đề HTTP tới mọi dịch vụ web để chứng minh danh tính của tôi.Máy khách JAX-WS: duy trì phiên/cookie trên nhiều dịch vụ
Tôi sử dụng một dịch vụ web có tên Utility
để nhận ủy quyền của mình. Điều này đặt cookie cần được cung cấp trong tất cả các cuộc gọi tiếp theo tới bất kỳ dịch vụ web nào.
Điều này có thể được thực hiện bằng cách đặt javax.xml.ws.session.maintain
thành true
trên BindingProvider của cổng cho dịch vụ web. Điều này hoạt động tốt cho các cuộc gọi tiếp theo đến các phương thức trong dịch vụ web Utility
. Vấn đề là điều này chỉ duy trì phiên/cookie cho dịch vụ web đơn đó. Tôi cũng cần nó trên những người khác.
Tôi cần cookie được chuyển đến riêng biệt dịch vụ web có tên History
Tôi làm cách nào để thực hiện việc này? Có khả thi để có một lớp dịch vụ siêu mà cả Tiện ích và Lịch sử có thể mở rộng và chia sẻ cùng một trạng thái phiên với?
Có lẽ bạn phải thêm rằng trích xuất Cookie theo cách này chỉ có thể trực tiếp sau cuộc gọi đầu tiên - vì chỉ có "Set-Cookie" được đặt. Nhưng nontheless ... cảm ơn bạn rất nhiều. Điều này đã cứu tôi rất nhiều thời gian. – cljk