How can I access the ServletContext from within a JAX-WS web service? के समान, क्या एप्लिकेशनकॉन्टेक्स्ट तक पहुंचने का कोई तरीका है, इससे आसान?मैं जेएक्स-डब्ल्यूएस वेब सेवा के भीतर से एप्लिकेशन कॉन्टेक्स्ट तक कैसे पहुंच सकता हूं?
import javax.annotation.Resource;
import javax.jws.WebService;
import javax.servlet.ServletContext;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
@WebService
public class MyWebService {
// boilerplate code begins :(
@Resource
private WebServiceContext context;
private WebApplicationContext webApplicationContext = null;
/**
* @return
* @throws IllegalStateException
*/
private WebApplicationContext getWebApplicationContext()
throws IllegalStateException {
if (webApplicationContext != null)
return webApplicationContext;
ServletContext servletContext =
(ServletContext) context.getMessageContext().get(
MessageContext.SERVLET_CONTEXT);
webApplicationContext =
WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
return webApplicationContext;
}
}
ठीक है, तो मैं स्प्रिंग सेवाओं के साथ कैसे सहयोग कर सकता हूं, अगर मैं यह नहीं कह सकता: appContext.getBean ('myBean')? – pihentagy
इसे सेटटर या कन्स्ट्रक्टर के माध्यम से इंजेक्ट करें। निर्भरता इंजेक्शन का अर्थ है "हमें कॉल न करें; हम आपको कॉल करेंगे।" आपकी ऑब्जेक्ट्स को ऐप संदर्भ प्राप्त करने की आवश्यकता नहीं है जो उन्हें चाहिए। – duffymo
आप नहीं कर सकते। यदि मैं ग्लासफ़िश के तहत अपनी वेब सेवा का परीक्षण करता हूं, तो एक नया webservice बनाया जाता है, और यह कॉन्फ़िगर नहीं किया गया है: -o यह ज्ञान प्राप्त करने के लिए एक दिवसीय लंबी डीबगिंग थी :( – pihentagy