【问题标题】:Possibility of validation of required parameters?验证所需参数的可能性?
【发布时间】:2011-03-23 11:26:07
【问题描述】:

我正在使用 jaxws 开发 web 服务,因此我通过 wsgen 从带注释的 java 类生成 wsdl 和 xsd 文件。 我正在寻找自动验证通过服务器端注释@XmlElement(required = true) 标记为必需的参数的可能性。

我找到的都是@SchemaValidation。但这不符合问题。

该类的文档说:“针对 XML 模式验证 WebService 的所有请求和响应消息有效负载 (SOAP:Body)。”

但显然这不包括required 检查。

有什么想法吗?

【问题讨论】:

  • 您是否考虑过使用 jsr-303 bean 验证,它需要您添加更多注释,但它将解组与验证分开,我发现它更灵活。

标签: java jaxb jax-ws


【解决方案1】:

在标准 JAXB 中,XmlElementrequired 属性仅在从您的代码生成 XML Schema 文档时使用。它不在运行时用于数据验证。

如果要执行声明式数据验证,则需要使用架构验证。我不知道你为什么反对它——它比任何基于 java 的约束都强大得多。

【讨论】:

  • 我正在使用 jaxws 开发 Web 服务。 (因此我只设置了 jaxws 标签。)所以 wsdl 和 xsd 文件将通过 wsgen 生成。我所需要的只是所需的参数不为空。
  • @Michael:JAX-WS 使用 JAXB 执行其 XML 绑定和验证。
  • 好的。那么我必须做什么才能获得 NotNull 验证?
  • @Michael:使用模式验证,就像我说的那样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-26
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
  • 2018-11-30
相关资源
最近更新 更多