我已经为 SOAP Web 服务创建了一个客户端,但是在生成的代码中,一些类缺少 setter 方法。
对象的 WSDL 如下所示:
<xsd:complexType name="UserDefinedFieldArray">
<xsd:sequence>
<xsd:element name="userDefinedField" minOccurs="0" maxOccurs="unbounded"
type="ns0:UserDefinedField"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UserDefinedField">
<xsd:sequence>
<xsd:element name="fieldName" type="xsd:string"/>
<xsd:element name="fieldValue" type="xsd:string"/>
<xsd:element name="listId" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
这些对象只有 setXXX(),Java Docs 坚持这一点:
“此访问器方法返回对活动列表的引用,而不是快照。因此,您对返回列表所做的任何修改都将出现在 JAXB 对象中。这就是为什么 testSuiteUdfs 属性没有 set 方法的原因。例如,要添加新项目,请执行以下操作: getTestSuiteUdfs().add(newItem); "
虽然我的逻辑告诉我,更新的列表在你发送到服务器之前无法到达服务器?
我设法找到的唯一相关内容:http ://www-01.ibm.com/support/docview.wss?uid=swg21440294 。但这根本没有帮助。
谁能告诉我用什么方法挖?因为我根本不明白这应该如何工作。谢谢!