I am new to CXF and I am trying to use it with Spring. What is the best way to obtain the ApplicationContext in a class that was generated by the wsdl2java utility? I currently have the applicationContext.xml file in the WEB-INF directory but I don't know how to obtain the context. Since the application is packaged in a war, I would like to obtain the context using WebXMLApplicationContext but I don't know how to get the ServletContext first.
Here is the interface generated by CXF: ========================================= package com.example; import javax.jws.WebParam.Mode; import javax.jws.WebParam; import javax.jws.WebService; import javax.jws.soap.SOAPBinding.Style; import javax.jws.soap.SOAPBinding; import javax.jws.WebMethod; import javax.jws.WebResult; /** * This class was generated by Apache CXF (incubator) 2.0.3-incubator * Wed Nov 14 14:50:54 PST 2007 * Generated source version: 2.0.3-incubator * */ @WebService(targetNamespace = "http://example.com/soap", name = "HelloWorldPortType") @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) public interface HelloWorldPortType { @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) @WebResult(targetNamespace = "http://example.com/soap/types", partName = "body", name = "HellowWorldResponse") @WebMethod(action = "HellowWorld", operationName = "HellowWorld") public com.example.soap.types.HellowWorldResponse hellowWorld( @WebParam(targetNamespace = "http://example.com/soap/types", partName = "body", name = "HellowWorldRequest") com.example.soap.types.HellowWorldRequest body ); } Here is my implementation class: ================================== package com.example; import java.util.logging.Logger; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.soap.SOAPBinding; import com.example.soap.HellowWorldPortType; @javax.jws.WebService(portName = "HelloWorldPort", serviceName = "HelloWorldService", targetNamespace = "http://example.com/soap", endpointInterface = "com.example.soap.HellowWorldPortType") @javax.xml.ws.BindingType(value = "http://www.w3.org/2003/05/soap/bindings/HTTP/") public class HellowWorldImpl implements HellowWorldPortType { private static final Logger LOG = Logger.getLogger(HellowWorldImpl.class.getPackage().getName()); @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) @WebResult(targetNamespace = "http://example.com/soap/types", partName = "body", name = "HellowWorldResponse") @WebMethod(action = "HellowWorld", operationName = "HellowWorld") public com.example.soap.types.HellowWorldResponse helloWorld( @WebParam(targetNamespace = "http://example.com/soap/types", partName = "body", name = "HellowWorldRequest") com.example.soap.types.HellowWorldRequest body ){ //how to I access Spring Application context from here when I don't have access to servletContext??? XmlWebApplicationContext ctx = new XmlWebApplicationContext(); ctx.setConfigLocations(files); ctx.setServletContext(servletContext); ctx.refresh(); ctx.getBean("hello"); HellowWorldResponse hwr = new HellowWorldResponse(); return hwr; } } --------------------------------- Never miss a thing. Make Yahoo your homepage.
