ฉันใช้ 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();
ใครช่วยชี้ทางที่ถูกต้องให้หน่อยได้ไหม!