gpt4 book ai didi

java - minOccurs 和 maxOccurs

转载 作者:太空宇宙 更新时间:2023-11-04 09:54:41 25 4
gpt4 key购买 nike

我使用的是apache cxf 3.1.8,wsdl是由cxf引擎自动生成的。我想为字段 ProductId 设置 minOccurs 和 maxOccurs,如下所示:

预计:

<xs:element minOccurs="0" maxOccurs="1" name="ProductId" type="xs:int"/> 

实际:

 <xs:element minOccurs="0" name="ProductId" type="xs:int"/>

换句话说,我希望元素 ProductId 在我的请求中只能出现一次。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:v1="http://nameSpace/">
<soapenv:Header/>
<soapenv:Body>
<getProductService>
<arg0>
<ProductDate>2016-04-01</ProductDate>
<ProductId>prod1</ProductId>
##<ProductId>prod1</ProductId>##
</arg0>
</getProductService>
</soapenv:Body>
</soapenv:Envelope>

我的产品类定义如下:

public class Product{
private static final long serialVersionUID = 1L;
@XmlElement(name = "ProductId")
protected int productId;
@XmlElement(name = "OperationType")
protected String operationType;
}

感谢您的帮助。

最佳答案

您至少需要在服务器端启用 XML 架构验证,如果您还想检测来自服务器的格式错误的响应,则可能需要在客户端启用 XML 架构验证。

在 CXF 中,您可以使用 jaxws 客户端或端点(服务器端)上的 schema-validation-enabled 属性启用架构验证,如 CXF FAQ 中所述。 。此外,从 CXF 2.3 开始,您可以在代码中使用 SchemaValidation 注释。

Glen Mazza 博客上的更多示例: https://glenmazza.net/blog/entry/soap-xml-schema-validation

关于java - minOccurs 和 maxOccurs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54314588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com