私の(単純化された)状況:
サービス@WebService
コンテナー getContainer() @WebMethod
コンテナー
void setObjects( ContainableObjects[] オブジェクト )
ContainableObjects[] getObjects()
ContainableObjects [抽象]
void setName(String name)
String getName()
void doSomething()
ContainedString [ContainableObjects を拡張]
void setValue(String value)
String getValue()
void doSomethingElse()
ContainedInt [ContainableObject を拡張]
void setValue(int 値)
int getValue()
void doAnotherThing()
これらの POJO オブジェクトは既に存在します。Eclipse ツールを使用して CXF コードを生成しています。
現時点では、Service.getContainer がコンテナーの表現を提供します。ただし、CXF は、ContainableObject オブジェクトに含まれる以上の情報を送信しません。したがって、クライアントはサブクラスに格納されている値情報を受け取りません。
この単純化は、サブクラスを使用する理由を完全には示していませんが、この理由が存在することを保証します。
明らかに、サブクラスを実装していることを CXF に伝える必要があります。しかし、どうすればそれを行うことができますか?