Ist es möglich, Spring Validators zu verwenden, um Daten von Web Services Soap-Anforderungen zu validieren? Oder mehr, was sollte ich über den folgenden Ansatz ändern, um es zu ermöglichen?Verwenden von Spring Validator für Webdienste
Der genaue Zusammenhang, dass ich unten:
Ich habe einen Web-Frontend und Freemarker-Controller verwenden, die bei der Validierung zum Beispiel unter Verwendung von
<bean id="stockValidator" class="com.client.validator.StockValidator" />
Im Dispatcher-servlet.xml gut funktioniert
Anschließend erfolgt die Validierung im StockController bei Post-Requests.
@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";
}
}
jedoch meine SOAP Web Services sind Annotation basiert verdrahtet in die Dienste
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;
Diese im Dispatcher Servlet als solche abgebildet ist:
<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>
Sorry, ich ein Hobby-Entwickler bin und Ich denke, irgendwo auf dem Weg habe ich ein bisschen verwirrt, wie man sich am besten an dieses Setup annähert. Wenn es besser ist, von vorne anzufangen, lassen Sie es mich wissen.
Cheers, Rob