WSDL के आधार पर, मैंने अपनी वेब सेवा के लिए इंटरफ़ेस बनाने के लिए JAXWS-RI 2.1 का उपयोग किया है। मैं वेब सेवा के साथ कोई समस्या नहीं कर सकता, लेकिन वेब सेवा के लिए अनुरोध भेजने के लिए कोई समय सीमा निर्दिष्ट नहीं कर सका। यदि किसी कारण से यह ग्राहक को जवाब नहीं देता है तो यह हमेशा के लिए घूमता है।
आसपास शिकार करने से पता चला है कि मुझे शायद कुछ ऐसा करने की कोशिश करनी चाहिए:
((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
सबकुछ एक उपवर्ग है, जो ऑटो-जेनरेट किए गए इंटरफ़ेस को webservice पर लागू करता है और इस बिंदु पर कि यह अस्थिर हो रहा है, अगर WSDL गैर-उत्तरदायी है, तो पहले से ही गुण सेट करने में बहुत देर हो चुकी है:
MyWebServiceSoap soap;
MyWebService service = new MyWebService("http://www.google.com");
soap = service.getMyWebServiceSoap();
soap.sendRequestToMyWebService();
क्या कोई मुझे सही दिशा दिखा सकता है?!