Tôi đang làm việc với một chút thành phần kế thừa trong đó chúng ta tương tác với một dịch vụ web SOAP (một công nghệ tuyệt đối), sử dụng mã máy khách được xây dựng bằng cách sử dụng thư viện JAXRPC-RI (tham khảo).Cách đặt thời gian chờ kết nối khi sử dụng ứng dụng dịch vụ web JAXRPC-RI?
Tôi quan tâm đến việc có thể đặt thời gian chờ bằng các dấu sao để trong trường hợp máy chủ dịch vụ web không trả lời trong vòng X giây, ứng dụng không được đặt ở đó mãi mãi chờ phản hồi.
Tôi đang sử dụng để làm việc với khách hàng/sơ khai được tạo bởi Apache Axis, trong đó bạn có thể chỉ cần sử dụng org.apache.axis.client.Stub.setTimeout()
để đặt thời gian chờ.
Đối với cuộc sống của tôi, tôi không thể tìm ra cách để thiết lập một thời gian chờ khi sử dụng Ống tạo ra với JAXRPC-RI:
- Lớp cổng Tôi instantiating kéo dài
com.sun.xml.rpc.client.StubBase
và thực hiệnjavax.xml.rpc.Stub
vàcom.sun.xml.rpc.spi.runtime.StubBase
. - JavaDocs không có lớp nào trong số này đề cập đến bất kỳ loại thời gian chờ hoặc phương pháp nào để thực hiện việc này.
- Cố mã như
stub._setProperty("axis.connection.timeout", 1000);
kết quả trong một ngoại lệ trong thời gian chạy:javax.xml.rpc.JAXRPCException: Stub does not recognize property: axis.connection.timeout
Có ai có bất kỳ ý tưởng về làm thế nào để thiết lập/thực thi một thời gian chờ khi sử dụng một khách hàng JAXRPC-RI? Thậm chí có thể không?
Đây là một tùy chọn, nhưng tôi thực sự muốn làm điều đó trong giới hạn của mã máy khách dịch vụ web/API chính nó, nếu có thể. Cảm ơn bạn. –