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。しかし、それはまったく役に立ちませんでした。
どなたか、掘る方向を教えてください。これがどのように機能するのかまったく理解していないからです。ありがとう!