4

私は Java Web Services にかなり慣れていませんが、適切な説明がどこにも見つかりません。

NetBeans 内に 2 つの Java Web プロジェクトがあります。
1 つは Web サービスとして、もう 1 つはその Web サービスのクライアントとして。
「Person」と呼ばれる独自のクラスも作成しました。これには、名前、生年月日など、期待どおりのものがあります。

「Person」オブジェクトの配列を返す「ListPeople()」という Web サービス メソッドが必要です。

両方のプロジェクトにそのクラスが必要ですか?
最初にオブジェクトをシリアル化する必要がありますか?
JAXB を使用する必要がある場合、どこから始めればよいですか?

n00b の質問で申し訳ありませんが、混乱しています。
これを達成する通常の方法は何ですか?

前もって感謝します

4

1 に答える 1

2
  1. 両方のプロジェクトにそのクラスが必要ですか? はい。
  2. 最初にオブジェクトをシリアル化する必要がありますか? いいえ。
  3. JAXB を使用する必要がある場合、どこから始めればよいですか? わたしは・・・しないだろう。私は JAXB が好きではないので、javax.oxm インターフェースを好みますが、それは個人的な意見です。

私の個人的な好みは、Spring Web サービスを使用することです。もしあなたがたまたま Spring ユーザーなら、それが最善の方法だと思います。そうでない場合でも、おそらくドキュメントは明確にするのに役立ちます。

私があなたのアプローチが好きではない理由を経験しています.サービスとクライアントの両方であり、クラスとOXMコードに依存しています. 完全に同期して、両方の場所に配置する必要があります。1 つを変更すると、両方を変更する必要があります。

可能であれば、依存関係を最小限に抑えるようにしています。

この場合、XML をやり取りすれば可能です。XSD スキーマから始めます。Java オブジェクトの代わりに、クライアントとサービスがそれを処理できるようにします。あなたのサービスは、Java ではないクライアントでも使用できます。

このアプローチをとれば、サーバー側の OXM だけを気にする必要があります。XML リクエストを受け取り、選択した Java オブジェクトにマーシャリングして、処理のためにサービス層 (注: Web サービス層ではない) に渡します。応答オブジェクトを XML 応答ストリームに変換すると、Bob が叔父になります。クライアントに対処させてください。

于 2009-08-22T11:34:15.993 に答える