24.3.2. 必要なアノテーション
概要 リンクのコピーリンクがクリップボードにコピーされました!
Java コードからサービスを作成するには、コードに 1 つのアノテーションを追加するだけで済みます。@WebService アノテーションを SEI と実装クラスの両方に追加する必要があります。
@WebService アノテーション リンクのコピーリンクがクリップボードにコピーされました!
@WebService アノテーションは javax.jws.WebService インターフェイスによって定義され、サービスとして使用されるインターフェイスまたはクラスに配置されます。@WebService には、表24.1「@WebService プロパティー」 で説明されているプロパティーがあります。
| プロパティー | 説明 |
|---|---|
|
サービスインターフェイスの名前を指定します。このプロパティーは、WSDL コントラクトのサービスのインターフェイスを定義する | |
| サービスが定義されているターゲット名前空間を指定します。このプロパティーが指定されていない場合、ターゲット名前空間はパッケージ名から派生します。 | |
|
公開されたサービスの名前を指定します。このプロパティーは、公開されたサービスを定義する | |
| サービスの WSDL コントラクトが保存されている URL を指定します。これは、相対 URL を使用して指定する必要があります。デフォルトは、サービスがデプロイされている URL です。 | |
| 実装クラスが実装する SEI のフルネームを指定します。このプロパティーは、属性がサービス実装クラスで使用される場合にのみ指定されます。 | |
|
サービスが公開されるエンドポイントの名前を指定します。このプロパティーは、公開されたサービスのエンドポイントの詳細を指定する | |
[a]
SEI から WSDL を生成する場合、実装クラスの名前の代わりにインターフェイスの名前が使用されます。
| |
@WebService アノテーションのプロパティーに値を指定する必要はありません。ただし、できるだけ多くの情報を提供することをお勧めします。
SEI に注釈を付ける リンクのコピーリンクがクリップボードにコピーされました!
SEI では、@WebService アノテーションを追加する必要があります。SEI はサービスを定義するコントラクトなので、@WebService アノテーションのプロパティーにサービスの詳細をできるだけ多く指定する必要があります。
例24.3「@WebService アノテーションあるインターフェイス」は、@WebService アノテーションにより 例24.1「シンプルな SEI」 で定義したインターフェイスを示しています。
例24.3 @WebService アノテーションあるインターフェイス
例24.3「@WebService アノテーションあるインターフェイス」 の @WebService アノテーションは以下を行います。
サービスインターフェイスを定義する wsdl:portType 要素の name 属性の値が quoteUpdater であることを指定します。
サービスのターゲット名前空間が http:\\demos.redhat.com であることを指定します。
公開されたサービスを定義する wsdl:service 要素の name の値が updateQuoteService であることを指定します。
サービスが WSDL コントラクトを http:\\demos.redhat.com\quoteExampleService?wsdl で公開することを指定します。
サービスを公開するエンドポイントを定義する wsdl:port 要素の name 属性の値が updateQuotePort であることを指定します。
サービス実装に注釈を付ける リンクのコピーリンクがクリップボードにコピーされました!
また、SEI に @WebService アノテーションを付ける必要があります。また、サービス実装クラスに @WebService アノテーションを付ける必要があります。アノテーションをサービス実装クラスに追加する場合は、endpointInterface プロパティーのみを指定する必要があります。例24.4「アノテーション付きサービス実装クラス」 に示すようにプロパティーは、SEI のフルネームに設定する必要があります。
例24.4 アノテーション付きサービス実装クラス