java - Soap:如何验证空元素

标签 java soap jaxb jax-ws cxf

如何验证 Soap-Request 中的元素必须存在并且必须包含值? 我有一个 Web 服务,用于接收包含强制值的 Soap 请求。这些值不能为空,并且必须存在于 xml 文档中。

如果我使用

@XmlElement(nillable=false, required=true)

为了实现这一点,我可以验证该元素必须存在,并且如果该元素具有该属性,则它可能不为空

xsi:nil="true"

但是如果客户端不添加 nil 属性而只是发送一个空元素(例如

)怎么办?
<element/>

我如何定义这是禁止的?换句话说:我如何定义只有像

这样的元素
<element>value</element> 

允许吗?

谢谢!

最佳答案

JAXB facets声称这一点

the generated WSDL file describing the service interface will contain an XSD declaration

这是用注释定义的。
如果您使用代码优先方法,则可以生成 WSDL 并部署 WS,而不是为 JAX-WS 运行时生成 WSLD。

关于java - Soap:如何验证空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21453968/

相关文章:

java - 语法错误,while/do 表达式,

c# - SOAP 客户端没有完成它的工作或者可能没有返回任何东西?

c# - WCF 中的FaultException 与异常

java - 如何通过非 Spring 配置文件配置 Apache CXF 以使用单个 JAXBContext?

java - 通过 JaxB JXC 为 XSD 序列生成数组

java - 有没有办法在 JAXB 中配置渲染深度?

java - 发送邮件前在 header 中设置 MessageId

java - 解释 Wicket 调试栏输出

java - 如何在 JAR 文件中隐藏密码

ruby - 如何使用 Savon 将属性添加到 header 标签?