0

ドライバー、その関数、およびその引数を含むプロジェクトがあります。簡略化:

コントローラ

@WebService  
Device[] getDevices() @WebMethod  

デバイス

String getName() @WebMethod  
Function[] getFunctions() @WebMethod

関数

String getName() @WebMethod  
Argument[] getArguments() @WebMethod

口論

...

これらの POJO オブジェクトは既に存在します。Eclipse ツールを使用して CXF コードを生成しています。

現在、Controller.getDevices はデバイスのリストを返しています。ただし、これらのオブジェクトにはフィールド「名前」しか含まれていません。関数参照は完全に削除されます。

このテーマに関する (限られた?) 情報を読んだ結果、XMLRootElement でクラスに注釈を付ける必要があることがわかりました。ただし、これは何も変わりません。それとも、すべてのクラスを独自の WebService にする必要がありますか?

CXF でこのようなシステムを正しく実装する方法に関する情報またはドキュメントへのポインタを探しています。私は正しい道を進んでいることを願っていますが、そうでない場合は、実行可能な設計パターンへのポインタも非常に役立ちます!

4

1 に答える 1

0

まず、@WebMethod アノテーションは、各 pojo オブジェクトではなく、実際のサービスでのみ必要です。

2 番目の問題については、Device に関数の getter メソッドと setter メソッドの両方があることを確認してください。また、Function オブジェクトにデフォルトのコンストラクターがあることを確認してください。

于 2012-07-26T14:12:15.030 に答える