2009-08-12 21 views
1

同じサーバー上にいくつかのJAX-WS Webサービスがホストされています。彼らは同じエンティティオブジェクトを使用しますが、Webサービスがクライアントによって消費される場合、反映されたエンティティオブジェクトはWebサービス間で常に異なります。異なるJAX-WS Webサービス間で共通エンティティ・クラスを使用する

どのようにして、すべてのクライアントが複数のWebサービスで同じデータ型になるようにエンティティオブジェクトを識別させるのですか?

すなわち

ウェブサービスClassAdministrationためのウェブサービスStudentAdministration とwebservice.Studentクラスのwebservice.Studentクラス

消費者の視点の両方で異なるオブジェクトです。 Webサービスを公開するようにWebサービスを変更するにはどうすればいいですか?異なるWebサービスから公開されているにもかかわらず、両方が同じエンティティタイプであることを消費者に知らせるためのクラスです。

答えて

1

あなたがここで説明するように、単一のXMLスキーマで共通のエンティティを定義する必要があります。その場合は

https://jax-ws.dev.java.net/guide/Compiling_multiple_WSDLs_that_share_a_common_schema.html

+0

、消費者生成されたクラスを引き起こす可能性があり、Webサービス側で何かをすることが可能ですWebサービスの数が同じであることを確認しますか? 私は、http://forums.java.net/jive/thread.jspa?threadID=28673の最後の投稿は、私がやりたいことと関連があると思っていましたが、どうやって作成者がantの中に述べている2つのファイルを含めてください – pkchukiss

+0

これは、各サービスのWSDLが同じスキーマを参照する必要がある方法です。 WSDLから各サービスのスタブを生成すると、共通スキーマに基づいて同じクラスが生成されます。これらの同一のクラスは、各消費者が共有することができます。それは意味をなさないか、私は何かを逃したか? –

+0

エンドポイントクラスに基づいてJAX-WSによってWSDLが自動的に生成される場合はどうなりますか?我々は、共通のエンティティを共有する複数のエンドポイントを持つ類似の状況があります。 wsimportは、各クラスのセット(各エンドポイント用)を別々のパッケージに入れますが、共通のクラスを別の「共通」パッケージにしたいと思います。 – GaZ

関連する問題