JAXB-WS:XmlElement和WebParam

时间:2015-02-18 14:15:19

标签: java soap jaxb wsdl

我正在尝试创建一个Web方法参数。我正在使用JAXB2.2,所以我可以在params上使用XmlElement注释。问题是在生成的wsdl中我仍然可以使用minOccurs = 0。

@WebMethod(operationName = "retrieve")
@WebResult(name = "response")
public RetrieveWrapper retrieve(@WebParam(name = "name") @XmlElement(nillable=false, required=true) String name) {

在生成的wsdl中我有这个:

<xs:complexType name="retrieve">
    <xs:sequence>
        <xs:element name="name" type="ns1:String" minOccurs="0"/>
    </xs:sequence>
</xs:complexType>

有什么建议吗?我缺少什么?

1 个答案:

答案 0 :(得分:0)

complexType“retrieve”中的“name”是可选的。 您可能有一个Class,它对应于“retrieve”,其中包含一个字段“name”,您没有在其中定义“required = true”。但那不是你想要的。

我认为你的wsdl对你想要的是正确的,检查你应该拥有的wsdl以及与你的webparam相对应的其他元素“name”(不是“minoccurs”)。