@TargetSE(valueSE={TYPESE,METHODSE,FIELDSE}) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE @RepeatableSE(valueSE=WebServiceRefs.class) public @interface WebServiceRef
WebServiceRef アノテーションは、Web サービスへの参照と(オプションで)そのインジェクションターゲットを定義するために使用されます。これは、サービスインスタンスとプロキシインスタンスの両方を挿入するために使用できます。これらの挿入された参照はスレッドセーフではありません。参照が複数のスレッドによってアクセスされる場合、通常の同期技術を使用して複数のスレッドをサポートできます。Web サービス参照は、Jakarta EE の意味でのリソースです。メタアノテーション WebServiceFeatureAnnotation でアノテーションが付けられたアノテーション(たとえば、Addressing)は、WebServiceRef と組み合わせて使用できます。作成された参照は、アノテーションの Web サービス機能を使用して構成する必要があります。
例: 以下のコードでは、挿入された StockQuoteProvider プロキシで、Addressing アノテーションで指定されている WS-Addressing を有効にする必要があります。
public class MyClient {
@Addressing
@WebServiceRef(StockQuoteService.class)
private StockQuoteProvider stockQuoteProvider;
...
}
Jakarta XML Web Services 実装で、WebServiceRef で指定された WebServiceFeatureAnnotation でアノテーションが付けられた、サポートされていない、認識されないアノテーションが検出された場合、エラーを指定する必要があります。
WebServiceFeatureAnnotation| 修飾子と型 | オプションの要素と説明 |
|---|---|
StringSE | lookup ターゲット Web サービス参照に解決されるポータブル JNDI ルックアップ名。 |
StringSE | mappedName このリソースをマップする必要がある製品固有の名前。 |
StringSE | name リソースの JNDI 名。 |
ClassSE<?> | type リソースの Java 型。 |
ClassSE<? extends Service> | value サービスクラス、常に jakarta.xml.ws.Service を継承する型。 |
StringSE | wsdlLocationWeb サービスの WSDL ドキュメントを指す URL。 |
public abstract StringSE name
java:comp/env 名前空間からの相対名にすることができます。public abstract ClassSE<?> type
public abstract StringSE mappedName
name エレメントで定義されているか、デフォルトで設定されており、リソースを使用するアプリケーションコンポーネントに対してローカルな名前です。(相対 JNDI 名が指定されている場合、JNDI java:comp/env 名前空間内の名前です)多くのアプリケーションサーバーは、これらのローカル名をアプリケーションサーバーが認識しているリソースの名前にマップする方法を提供します。このマップされた名前は、多くの場合、 グローバル JNDI 名ですが、任意の形式の名前にすることができます。アプリケーションサーバーは、特定の形式または型のマップ名をサポートする必要はなく、マップ名を使用する機能も必要ありません。マップされた名前は製品に依存し、多くの場合インストールに依存します。マップされた名前を使用することはできません。
public abstract StringSE wsdlLocation
public abstract StringSE lookup
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.