首页 > 解决方案 > Spring getWebServiceTemplate().marshalSendAndReceive(url,request) 是否在编组期间激活 JAXB 必需标记?

问题描述

我正在尝试确认验证问题。据我所知,SAX 编组可以通过 ValidationEventHandler 通过必填字段验证 XML 模式。可以在此链接下找到示例代码: http ://www.java2s.com/Code/Java/XML/UseMarshalValidation.htm

我试图弄清楚这是否是在 Spring WebServiceTemplate 中设置的。据我所知,曾经需要设置验证器 bean 来激活这种功能,但是在这种情况下,响应来自客户端,它是通过 JAXB 生成创建的。因此,如果没有大量操作,我无法在 bean 上添加验证。

我正在尝试确认验证是否可以使用 WebServiceTemplate.marshalSendAndReceive(uri, request) 开箱即用。

一个小样本如下:

@XmlRootElement(name = "Person")
public class Person{

    @XmlElement(name = "Name", required = true)
    private String name;

我想弄清楚是否

 Person person = (Person) getWebServiceTemplate().marshalSendAndReceive(uri, request);

如果“名称”字段为空/未在响应中设置,则会触发违规。

欢迎任何有意义的反馈。

标签: springvalidationjaxbmarshallingwebservicetemplate

解决方案


推荐阅读