Tôi gặp sự cố khi đặt thời gian chờ jax-ws. Mã của tôi là:Cài đặt thời gian chờ của ứng dụng khách jax-ws
@WebServiceClient(name = "VoipDBJDBCService", targetNamespace = "http://db.server.voipmeter.jextreme.eu/", wsdlLocation = "http://trace0.nyc.blinkmind.com:8080/voipdb?wsdl")
public class VoipDBJDBCService extends Service {
public VoipDBJDBCService(URL wsdlLocation) {
super(wsdlLocation, new QName("http://db.server.voipmeter.jextreme.eu/", "VoipDBJDBCService"));
}
@WebEndpoint(name = "VoipDBJDBCPort")
public VoipDB getVoipDBJDBCPort() {
return super.getPort(new QName("http://db.server.voipmeter.jextreme.eu/", "VoipDBJDBCPort"), VoipDB.class);
}
}
Và việc sử dụng:
VoipDB db = new VoipDBJDBCService(new URL(url)).getVoipDBJDBCPort();
Làm thế nào để tôi Hook trong timeouts? Tôi đã tìm thấy "giải pháp" ở đây: https://jax-ws.dev.java.net/guide/HTTP_Timeouts.html nhưng tôi không biết nơi tôi sẽ móc nó vào. Làm thế nào để có được proxy? Khi tôi gọi getPort client cố gắng kết nối và sau đó treo mãi mãi nếu máy chủ không đáp ứng.
CẬP NHẬT: Mã này được gọi từ trong phương thức applets() nếu có bất kỳ sự khác biệt nào.
Điều này thực sự không làm việc vì khách hàng treo trên dòng nơi getPort được gọi. – Lukasz
Vâng, đó là tất cả những gì bạn có thể làm với phương pháp được cung cấp trong liên kết. jax-ws tải xuống WSDL của dịch vụ để tạo proxy. Nhiều khả năng đây là nguyên nhân gây rắc rối cho bạn. Điều duy nhất tôi có thể nghĩ đến ngay bây giờ là tải xuống một bản sao cục bộ của WSDL và sử dụng nó nhưng tất nhiên điều này không thực sự thanh lịch ... – musiKk