Я реализовал WS, используя Jax-ws в моем проекте сервера, и я делаю вызовы к службе из клиентского приложения. Проблема в том, что если я хочу использовать @Autowire в моем аннотированном классе @WebService, он всегда выдает следующую ошибку:Autowired in WS не работает Весна
InjectionException: ошибка при создании управляемого объекта для класса: class com.myco.wsserver.LeaveRequestEndPoint;
Если я отлаживаю этот класс, ссылка на мой автоузел bean равна нулю. если я удаляю компонент из моего аннотированного класса @webservice, он работает, также если я получаю контекст приложения вручную, а затем получаю его, но он также работает, но я хотел бы знать, почему я не могу автообучь любой компонент.
Вот мой код.
WebService класс:
@WebService(serviceName="LeaveRequestHandler")
public class LeaveRequestEndPoint extends SpringBeanAutowiringSupport{
@Autowired
GenericBean mBean;
public LeaveRequestEndPoint(GenericBean mBean){
this.mBean = mBean;
}
@WebMethod(operationName="executeOperation")
public String getText() {
return mBean.getText();
}
}
контекст приложения:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!-- DispatcherServlet Context: defines this servlet's request-processing
infrastructure -->
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
<context:annotation-config />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving
up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />
<!-- Resolves views selected for rendering by @Controllers to .jsp resources
in the /WEB-INF/views directory -->
<beans:bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
<beans:bean id="genericBean" class="com.myco.wsserver.GenericBean"/>
</beans:beans>
Как вы предположили, я добавил и присваивателя, но он бросает ту же ошибку – BigBen3216
Oww жаль. см. мои правки. У вас есть конструктор класса, который вызывается перед инъекцией. – erencan