JAX-WS WSDL没有创建set方法

5
我创建了一个基于WSDL的Web服务,但不知何故我的其中一个元素只有Get方法,没有Set方法。
<xs:element name="Request">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="ns1:source_system"/>
                    <xs:element ref="ns1:target_system"/>
                    <xs:element ref="ns1:message_id"/>
                    <xs:element ref="ns1:message_send_timestamp"/>
                    <xs:element ref="ns1:request_type"/>
                    <xs:element ref="ns1:crm_customer_id"/>
                    <xs:element ref="ns1:crm_request_id"/>
                    <xs:element ref="ns1:donor_id"/>
                    <xs:element ref="ns1:identification_value"/>
                    <xs:element ref="ns1:identification_value_2" minOccurs="0"/>
                    <xs:element ref="ns1:identification_value_3" minOccurs="0"/>
                    <xs:element ref="ns1:dn_number_item" maxOccurs="unbounded"/>
                </xs:sequence>
            </xs:complexType>
</xs:element>

现在在我的程序中,我只有 request.getDnNumberItem() 方法,而没有 request.setDnNumberItem() 方法。对于所有其他参数,我都有 set 和 get 方法。

这种情况以前也发生过,不知何故自行解决了。


可能是为什么JAXB不为列表生成设定器的重复问题。 - bdoughan
1个回答

4
因为dnNumberItem是一个集合属性(maxOccurs="unbounded"),所以它的setter方法没有被生成,而其他属性则有。您可以通过getter方法访问并修改List

谢谢你的回答。你说的“通过getter访问List进行修改”,是指手动从getter方法中添加set方法吗? - susparsy
@susparsy - 我的意思是你可以通过getter访问List,然后使用List的添加和删除API来修改它。 - bdoughan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接