无法制作@webparam强制性jax-ws



我试图使用(@XmlElement(required=true)强制执行@webparam,但生成的XSD仍然显示为minOccurs="0"。还尝试设置nillable=false但仍无法正常工作。

这是我的网络方法:

@WebMethod
@WebResult(name = "Biller")
public Biller getBiller(@XmlElement(required=true) @WebParam(name = "billerId") Integer billerId){}

请建议。

在评论中指定的是 - 要么您需要将Integer变量包装到某些Java Pojo中,并应用该POJO中的特定字段或更改为原始类型,因为 - 参考类型始终是可以使包装类型的可选但组成域需要或可选。总是需要原始类型。

请参阅此答案

然后出现有关默认值的问题 - 为此,请参考此问题和摘要的答案 - 如果未指定任何指定 -

minoccurs和maxoccurs默认为1

现在,为什么您的呼叫使用SOAP UI成功 - 您的XSD是正确的,并且SOAP UI认识到这是我的猜测是客户端可能会在丢失时附加一些默认值。我没有使用肥皂UI。尝试检查您的请求,然后查看值是否真的缺少。如果请求中确实缺少值,请尝试检查为什么验证没有启动。

相关内容

  • 没有找到相关文章

最新更新