web services - How to make an @WebService spring aware -
i have web service trying autowire variable into. here class:
package com.xetius.isales.pr7.service; import java.util.arrays; import java.util.list; import javax.jws.webservice; import org.springframework.beans.factory.annotation.autowired; import com.xetius.isales.pr7.domain.pr7product; import com.xetius.isales.pr7.domain.pr7upgrade; import com.xetius.isales.pr7.logic.upgradecontrollerinterface; @webservice(servicename="productrulesservice", portname="productrulesport", endpointinterface="com.xetius.isales.pr7.service.productruleswebservice", targetnamespace="http://pr7.isales.xetius.com") public class productruleswebservice implements productruleswebserviceinterface { @autowired private upgradecontrollerinterface upgradecontroller; @override public list<pr7product> getproducts() { if (upgradecontroller == null) { return arrays.aslist(new pr7product("fail")); } return upgradecontroller.getproducts(); } @override public list<pr7upgrade> getupgrades() { if (upgradecontroller == null) { return arrays.aslist(new pr7upgrade("fail")); } return upgradecontroller.getupgrades(); } @override public list<pr7product> getproductsforupgradewithname(string upgradename) { if (upgradecontroller == null) { return arrays.aslist(new pr7product("fail")); } return getproductsforupgradewithname(upgradename); } }
however, when try access web service getting fail version returned, meaning upgradecontroller not being autowired. here applicationcontext:
<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package="com.xetius.isales.pr7" /> <context:annotation-config /> <bean id="upgradecontroller" class="com.xetius.isales.pr7.logic.upgradecontroller" /> </beans>
how make @webservice class spring aware , autowiring happens
if want autowiring happen, productruleswebservice needs extend springbeanautowiringsupport
extending class allow upgradecontroller autowired
Comments
Post a Comment