spring - 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);
如果“名称”字段为空/未在响应中设置,则会触发违规。
欢迎任何有意义的反馈。
解决方案
推荐阅读
- python - 为什么我的市价单在使用 Coinbase API 时没有通过?我仍然在美元钱包中看到我的资金。对不起,我对这个 API 很陌生
- c# - 如何检查 UWP 应用程序是否刚刚更新?
- javascript - node.js 按键排序JSON,日期格式
- javascript - 更改在 Github Pages 中托管网站的帐户
- java - 在 MacOS 上调整 Java 内部框架的大小
- linux - 当安装在 docker 和 windows 子系统 for linux 中时,'~' 扩展到哪里?
- reactjs - Uncaught (in promise) TypeError: Cannot read property 'fields' of undefined (React + Contentful)
- javascript - 如何在 PHP 中的 JavaScript 对象中使用 base64_decode()?
- perl - perl 以人类可读的方式打印十六进制
- javascript - 如何在 Deno 中下载大文件?