ฉันจะตั้งค่าการหมดเวลาสำหรับไคลเอ็นต์บริการเว็บ JAX-WS ได้อย่างไร
ฉันใช้ JAXWS-RI 2.1 เพื่อสร้างอินเทอร์เฟซสำหรับบริการเว็บของฉันโดยใช้ WSDL ฉันสามารถโต้ตอบกับบริการเว็บได้โดยไม่มีปัญหา แต่ไม่สามารถระบุระยะหมดเวลาสำหรับการส่งคำขอไปยังบริการเว็บได้ หากเหตุผลบางอย่างมันไม่ตอบสนองลูกค้าก็ดูเหมือนว่าจะหมุนวงล้อตลอดไป การล่าสัตว์ได้เปิดเผยว่าฉันน่าจะพยายามทำสิ่งนี้: ((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.ws.request.timeout", 10000); ((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.ws.connect.timeout", 10000); ฉันยังค้นพบว่าขึ้นอยู่กับรุ่นของ JAXWS-RI ที่คุณมีคุณอาจต้องตั้งค่าคุณสมบัติเหล่านี้แทน: ((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.internal.ws.request.timeout", 10000); ((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.internal.ws.connect.timeout", 10000); ผมมีปัญหาคือว่าไม่ว่าที่ดังกล่าวข้างต้นถูกต้องผมไม่ทราบว่าที่ฉันสามารถทำเช่นนี้ สิ่งที่ฉันมีคือServiceคลาสย่อยที่ใช้อินเทอร์เฟซที่สร้างขึ้นอัตโนมัติไปยังบริการเว็บและเมื่อถึงจุดที่สิ่งนี้กำลังได้รับการติดตั้งหาก WSDL ไม่ตอบสนองแสดงว่าสายเกินไปที่จะตั้งค่าคุณสมบัติ: MyWebServiceSoap soap; MyWebService service = new MyWebService("http://www.google.com"); soap = service.getMyWebServiceSoap(); soap.sendRequestToMyWebService(); ใครช่วยชี้ทางที่ถูกต้องให้หน่อยได้ไหม!