是否可以使用 Spring Validators 来验证来自 Web Services Soap 请求的数据?或者更重要的是,我应该对以下方法进行哪些更改以使其成为可能?
我所拥有的确切上下文如下:
我有一个使用 Freemarker 和 Controllers 的 Web 前端,可以很好地进行验证,例如使用
<bean id="stockValidator" class="com.client.validator.StockValidator" />
在 dispatcher-servlet.xml 中
然后在 StockController 中,验证发生在 Post 请求上。
@RequestMapping(value = "/addStock", method = RequestMethod.POST)
public String addStudent(@ModelAttribute Stock stock,BindingResult result,
ModelMap model ) {
StockValidator.validate(stock, result );
if (result.hasErrors()) {
//model.addAttribute("stock", stock);
return "stock";
} else {
StockService.save(stock);
model.addAttribute("stockId", stock.getStockId());
model.addAttribute("stockCode", stock.getStockCode());
model.addAttribute("stockName", stock.getStockName());
return "result";
}
}
但是,我的 SOAP Web 服务是基于注释的,连接到服务中
import javax.jws.WebService;
import org.springframework.beans.factory.annotation.Autowired;
import com.olympus.viewtheworld.server.dao.StockDao;
import com.olympus.viewtheworld.server.service.StockService;
import com.olympus.viewtheworld.shared.domain.Stock;
@WebService(endpointInterface = "com.server.service.StockService")
public class StockServiceImpl implements StockService{
@Autowired
StockDao stockDao;
这在调度程序 servlet 中映射如下:
<jaxws:endpoint id="stockService"
implementorClass="com.server.service.Impl.StockServiceImpl"
implementor="#stockServiceImpl"
address="/SoapService/stock">
<jaxws:serviceFactory>
<ref bean="jaxws-and-aegis-service-factory"/>
</jaxws:serviceFactory>
</jaxws:endpoint>
抱歉,我是一名爱好开发人员,并且认为在此过程中的某个地方我对如何最好地处理此设置感到有些困惑。如果从头开始更合适,请告诉我。
干杯,罗伯