3 JWSアノテーション・リファレンス
WebLogic Webサービスのプログラミング・モデルは、JSR-175で指定されているJDK メタデータ・アノテーション機能を使用します。JSR-175は、JavaTMプログラミング言語のメタデータ機能で、WebLogic固有のJWSアノテーションを提供します。
この章の内容は以下のとおりです。
- JWSアノテーション・タグの概要
メタデータ・アノテーション・プログラミング・モデルでは、アノテーション付きのJavaファイルを作成し、Antタスクを使用してそのファイルをJavaソース・コードにコンパイルし、関連するアーティファクトをすべて生成します。 - Webサービス・メタデータ・アノテーション(JSR-181)
Webサービスの形態と動作を指定するためにJWSファイルで使用できる標準JSR-181アノテーションについて理解します。 - JAX-WSアノテーション(JSR-224)
Webサービスの形態と動作を指定するためにJWSファイルで使用できるJAX-WS (JSR-224)アノテーションについて理解します。 - JAXBアノテーション(JSR-222)
Webサービスの形態と動作を指定するためにJWSファイルで使用できるJAXB (JSR-222)アノテーションについて理解します。 - Jakartaアノテーション(JSR-250)
Webサービスの形態と動作を指定するためにJWSファイルで使用できるJavaプラットフォーム向けJakartaアノテーション(JSR-250)について理解します。 - WebLogic固有のアノテーション
WebLogic Webサービスでは、JSR-181の標準JWSアノテーションに加え、さらに動作と機能を指定するのに使用できるJWSアノテーションのセットが定義されます。
JWSアノテーション・タグの概要
メタデータ・アノテーション・プログラミング・モデルでは、アノテーション付きのJavaファイルを作成し、Antタスクを使用してそのファイルをJavaソース・コードにコンパイルし、関連するアーティファクトをすべて生成します。
アノテーション付きのJava Webサービス(JWS)ファイルは、Webサービスの中核部分です。このファイルにはWebサービスの動作を決定するJavaコードが含まれています。JWSファイルは、アノテーションを使用してWebサービスの形式や特性を指定した、通常のJavaクラス・ファイルです。
サポートされているJWSアノテーションは、Webサービスによって異なります。JAX-WSのWebサービスのアノテーション・サポートは次のとおりです:
JWSアノテーションは、JWSファイルのクラス、メソッド、またはパラメータのいずれかのレベルでターゲット指定できます。アノテーションの中には、複数のレベルでターゲット指定できるものもあります。たとえば、@SecurityRoles
は、クラスとメソッドの両方のレベルでターゲット指定できます。
次に、標準JSR-181(boldで表示)を使用した簡単なJWSファイルの例を挙げます。
package examples.webservices.complex; // Import the standard JWS annotation interfaces import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; // Import the BasicStruct JavaBean import examples.webservices.complex.BasicStruct; // Standard JWS annotation that specifies that the portType name of the Web // Service is "ComplexPortType", its public service name is "ComplexService", // and the targetNamespace used in the generated WSDL is "http://example.org" @WebService(serviceName="ComplexService", name="ComplexPortType", targetNamespace="http://example.org") // Standard JWS annotation that specifies this is a document-literal-wrapped // Web Service @SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL, parameterStyle=SOAPBinding.ParameterStyle.WRAPPED) /** * This JWS file forms the basis of a WebLogic Web Service. The Web Services * has two public operations: * * - echoInt(int) * - echoComplexType(BasicStruct) * * The Web Service is defined as a "document-literal" service, which means * that the SOAP messages have a single part referencing an XML Schema element * that defines the entire body. * */ public class ComplexImpl { // Standard JWS annotation that specifies that the method should be exposed // as a public operation. Because the annotation does not include the // member-value "operationName", the public name of the operation is the // same as the method name: echoInt. // // The WebResult annotation specifies that the name of the result of the // operation in the generated WSDL is "IntegerOutput", rather than the // default name "return". The WebParam annotation specifies that the input // parameter name in the WSDL file is "IntegerInput" rather than the Java // name of the parameter, "input". @WebMethod() @WebResult(name="IntegerOutput", targetNamespace="http://example.org/complex") public int echoInt( @WebParam(name="IntegerInput", targetNamespace="http://example.org/complex") int input) { System.out.println("echoInt '" + input + "' to you too!"); return input; } // Standard JWS annotation to expose method "echoStruct" as a public operation // called "echoComplexType" // The WebResult annotation specifies that the name of the result of the // operation in the generated WSDL is "EchoStructReturnMessage", // rather than the default name "return". @WebMethod(operationName="echoComplexType") @WebResult(name="EchoStructReturnMessage", targetNamespace="http://example.org/complex") public BasicStruct echoStruct(BasicStruct struct) { System.out.println("echoComplexType called"); return struct; } }
次の項では、サポートされるJWSアノテーションについて説明します。
親トピック: JWSアノテーション・リファレンス
Webサービス・メタデータ・アノテーション(JSR-181)
Webサービスの形態と動作を指定するためにJWSファイルで使用できる標準JSR-181アノテーションについて理解します。
次の表に、これらのアノテーションを示します。これらはjavax.jws
(https://jakarta.ee/specifications/web-services-metadata/2.1/apidocs/javax/jws/package-summary
)またはjavax.jws.soap
パッケージ(https://jakarta.ee/specifications/web-services-metadata/2.1/apidocs/javax/jws/soap/package-summary
)で使用できます。詳細は、Jakarta Webサービス・メタデータ(JSR-181)仕様(http://www.jcp.org/en/jsr/detail?id=181
)を参照してください。
表3-1 標準JSR-181 JWSアノテーション
このアノテーションは... | 次を指定します |
---|---|
|
クラス・レベルで、JWSファイルがWebサービスを実装すること。詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』の「JWSファイルがWebサービスを実装することの指定( |
|
JWSファイルのメソッドをWebサービスのパブリック操作として公開する必要があること。詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』の「JWSメソッドをパブリック操作として公開することの指定( |
|
操作が呼出し側アプリケーションに値を戻さないこと。詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』の「JWSメソッドをパブリック操作として公開することの指定( |
|
Webサービス操作の入力パラメータと生成されたWSDLファイルの要素のマッピング、およびパラメータの動作。詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』の「操作のパラメータとWSDL要素のマッピングのカスタマイズ(@WebParamアノテーション)」を参照してください。 |
|
Webサービス操作の戻り値と生成されたWSDLファイルの対応する要素のマッピング。詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』の「操作の戻り値とWSDL要素のマッピングのカスタマイズ( |
|
外部ハンドラ・チェーン。詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』の「SOAPメッセージ・ハンドラの作成と使用」を参照してください。 |
|
クラス・レベルでWebサービスのSOAPバインディング( |
親トピック: JWSアノテーション・リファレンス
JAX-WSアノテーション(JSR-224)
javax.xml.ws
パッケージ(https://javaee.github.io/metro-jax-ws/
)で使用できます。詳細は、JSR 224 (JAX-WS)アノテーション(https://javaee.github.io/metro-jax-ws/doc/user-guide/ch03.html#jsr-224-jax-ws-annotations-outline
)を参照してください。
ノート:
JAX-WS JWSアノテーションは、JAX-WS Webサービスにのみ関連します。
表3-2 JAX-WS (JSR-224)アノテーション
このアノテーションは... | 次を指定します |
---|---|
|
WS-Addressing |
|
Webサービスの実装クラスに使用するバインディング。『Oracle WebLogic Server JAX-WS Webサービスの開発』のエンドポイントに使用するバインディング・タイプの指定(@BindingTypeアノテーション)に関する項を参照してください。 |
|
WS-Addressing |
|
実行時にエンドポイント・インタフェースのメソッドに使用されるリクエスト・ラッパーBean。 |
|
実行時にエンドポイント・インタフェースのメソッドに使用されるレスポンス・ラッパーBean。 |
|
プロバイダ実装がプロトコル・メッセージ全体を対象とするのか、ペイロードのみを対象にするのか。 |
|
生成されたサービス・インタフェースの |
|
フォールト要素のローカルおよびネームスペース名、フォールトBeanの名前をそれぞれカスタマイズするためのサーバー固有の例外クラス。 |
|
生成されたサービス・インタフェース。 |
|
プロバイダ実装クラス。 |
|
Webサービスへの参照。『Oracle WebLogic Server JAX-WS Webサービスの開発』の@WebServiceRefアノテーションを使用したWebサービス参照の定義に関する項を参照してください。 |
親トピック: JWSアノテーション・リファレンス
JAXBアノテーション(JSR-222)
次の表に、これらのJAXBアノテーションをまとめます。これらはjavax.xml.bind.annotation
パッケージ(https://jakarta.ee/specifications/xml-binding/3.0/apidocs/jakarta.xml.bind/jakarta/xml/bind/annotation/package-summary
)で使用できます。詳細な説明は、『Oracle WebLogic Server JAX-WS Webサービスの開発』のJAXBアノテーションを使用したJava-to-XMLスキーマ・マッピングのカスタマイズに関する項またはJAXB (JSR-222)仕様(http://jcp.org/en/jsr/detail?id=222
)を参照してください。
ノート:
JAXB JWSアノテーションは、JAX-WS Webサービスにのみ関連します。
表3-3 JAXBマッピング・アノテーション(JSR-222)
このアノテーションは... | 次を指定します |
---|---|
|
デフォルトでフィールドまたはプロパティをシリアライズするかどうか。『Oracle WebLogic Server JAX-WS Webサービスの開発』のフィールドおよびプロパティのデフォルト・シリアライゼーションの指定(@XmlAccessorType)に関する項を参照してください。 |
|
クラスに格納されているプロパティを、格納しているクラスがマップされているXMLスキーマの複合型のローカル要素へマップすること。『Oracle WebLogic Server JAX-WS Webサービスの開発』のプロパティとローカル要素とのマッピング(@XmlElement)に関する項を参照してください。 |
|
WebサービスのWSDLによって使用されるXMLスキーマのグローバル要素に最上位クラスをマップすること。『Oracle WebLogic Server JAX-WS Webサービスの開発』の最上位クラスとグローバル要素のマッピング(@XmlRootElement)に関する項を参照してください。 |
|
現在のクラスをバインドするときにバインドする他のクラス。『Oracle WebLogic Server JAX-WS Webサービスの開発』の複数のクラスのバインディング(@XmlSeeAlso)に関する項を参照してください。 |
|
クラス型または列挙型をXMLスキーマ型にマップすること。『Oracle WebLogic Server JAX-WS Webサービスの開発』の値クラスとスキーマ型のマッピング(@XmlType)に関する項を参照してください。 |
親トピック: JWSアノテーション・リファレンス
Jakartaアノテーション(JSR-250)
javax.annotation
パッケージ(https://jakarta.ee/specifications/annotations/1.3/apidocs/
)で使用できます。詳細は、Javaプラットフォーム向けJakartaアノテーション(JSR-250)仕様(http://jcp.org/en/jsr/detail?id=250
)を参照してください。
表3-4 Jakartaアノテーション(JSR-250)
このアノテーションは... | 次を指定します |
---|---|
|
アプリケーションが必要とするリソース。アノテーションは、アプリケーション・コンポーネント・クラス、コンポーネント・クラスのフィールドまたはメソッドに適用できます。 |
|
依存関係インジェクションが完了した後に、初期化を実行するために呼び出す必要のあるメソッド。 |
|
コンテナがインスタンスを削除しようとしていることを知らせるコールバック通知を受信するメソッド。 |
親トピック: JWSアノテーション・リファレンス
WebLogic固有のアノテーション
表3-5 WebLogic固有のアノテーション
このアノテーションは... | 指定内容 |
---|---|
Webサービス・クライアントがSOAP over JMSトランスポート接続プロトコルをサポートすること。 |
|
WebサービスがSOAP over JMSトランスポート接続プロトコルをサポートすること。 |
|
|
|
デジタル署名、暗号化、またはWebサービスの信頼性のあるメッセージングに関する情報を格納しているWS-PolicyファイルをリクエストまたはレスポンスSOAPメッセージに適用するように指定します。 |
|
Webサービスで使用するWebサービス・セキュリティ構成の名前。 |
|
ポリシー構成プロパティのオーバーライド。 このアノテーションを |
|
|
|
Oracle Web Services Manager (OWSM)のセキュリティ・ポリシーがWebサービスまたはクライアントにアタッチされること。 |
|
|
|
デジタル署名または暗号化に関する情報を格納しているOracle Web Services Manager (Oracle WSM) WS-PolicyファイルをリクエストまたはレスポンスSOAPメッセージに適用するように指定します。 |
|
アノテーション付きのクラスまたはメソッドをWebサービス原子性トランザクション内で実行するかどうか。 |
- com.oracle.webservices.api.jms.JMSTransportClient
- com.oracle.webservices.api.jms.JMSTransportService
- weblogic.jws.Policies
- weblogic.jws.Policy
- weblogic.jws.security.WssConfiguration
- weblogic.wsee.jws.jaxws.owsm.Property
- weblogic.wsee.jws.jaxws.owsm.SecurityPolicies
- weblogic.wsee.jws.jaxws.owsm.SecurityPolicy
- weblogic.wsee.jws.jaxws.owsm.SecurityPolicies
- weblogic.wsee.jws.jaxws.owsm.SecurityPolicy
- weblogic.wsee.wstx.wsat.Transactional
親トピック: JWSアノテーション・リファレンス
com.oracle.webservices.api.jms.JMSTransportClient
ターゲット: クラス
JAX-WS Webサービス・クライアントについて、SOAP over JMSトランスポートを有効化および構成します。
SOAP over JMSトランスポートを使用し、HTTP接続ではなくJMSの宛先によりWebサービスおよびクライアントが通信を行う場合、次のような利点があります。
-
信頼性
-
スケーラビリティ
-
サービス品質
SOAP over JMSトランスポートの使用方法の詳細は、Oracle WebLogic Server JAX-WS Webサービスの開発の接続プロトコルとしてのSOAP Over JMSトランスポートの使用を参照してください。
属性
オプションで、@JMSTransportClient
アノテーションを使用して、次のJMSトランスポート・プロパティを構成できます。プロパティの詳細は、Oracle WebLogic Server JAX-WS Webサービスの開発のJMSトランスポートのプロパティの構成を参照してください。
-
destinationName
-
destinationType
-
enabled
-
jmsHeaderProperty
-
jmsMessageProperty
-
jndiConnectionFactoryName
-
jndiContextParameters
-
jndiInitialContextFactory
-
jndiURL
-
messageType
-
priority
-
replyToName
-
targetService
-
timeToLive
ノート:
『Oracle WebLogic Server JAX-WS Webサービスの開発』で説明されているように、SOAP over JMSトランスポートをWebサービスの信頼できるメッセージングまたはストリーミングSOAPアタッチメントと一緒には使用できません。
例
次のサンプル・スニペットでは、クライアント・ファイル内で@JMSTransportClient
アノテーションを使用してSOAP over JMSトランスポートを有効にする方法を示しています。
... import javax.xml.ws.WebServiceClient; import com.oracle.webservices.api.jms.JMSTransportClient; ... @WebServiceClient(name = "WarehouseService", targetNamespace = "http://oracle.com/samples/", wsdlLocation="WarehouseService.wsdl") @JMSTransportClient ( destinationName="myQueue", replyToName="myReplyToQueue", jndiURL="t3://localhost:7001", jndiInitialContextFactory="weblogic.jndi.WLInitialContextFactory" , jndiConnectionFactoryName="weblogic.jms.ConnectionFactory" , deliveryMode="PERSISTENT", timeToLive="1000", priority="1", messageType="TEXT" ) public class WarehouseService extends Service { ... }
親トピック: WebLogic固有のアノテーション
com.oracle.webservices.api.jms.JMSTransportService
ターゲット: クラス
JAX-WS Webサービスについて、SOAP over JMSトランスポートを有効化および構成します。
SOAP over JMSトランスポートを使用し、HTTP接続ではなくJMSの宛先によりWebサービスおよびクライアントが通信を行う場合、次のような利点があります。
-
信頼性
-
スケーラビリティ
-
サービス品質
SOAP over JMSトランスポートの使用方法の詳細は、Oracle WebLogic Server JAX-WS Webサービスの開発の接続プロトコルとしてのSOAP Over JMSトランスポートの使用を参照してください。
ノート:
SOAP over JMSトランスポートは、信頼性のあるメッセージングおよびHTTPトランスポート固有のセキュリティのWebサービス機能とは互換性がありません。
属性
オプションで、@JMSTransportService
アノテーションを使用してJMSトランスポートのプロパティを構成できます。プロパティの詳細は、Oracle WebLogic Server JAX-WS Webサービスの開発のJMSトランスポートのプロパティの構成を参照してください。
例
次のサンプル・スニペットでは、JWSファイル内で@JMSTransportService
アノテーションを使用してSOAP over JMSトランスポートを有効にする方法を示しています。@ActivationConfigProperty
は、サービス側のMDB構成プロパティの設定に使用されています。
import javax.jws.WebService; import com.oracle.webservices.api.jms.JMSTransportService; import com.sun.xml.ws.binding.SOAPBindingImpl; import javax.ejb.ActivationConfigProperty; @WebService(name="NotifyServicePortType", serviceName="NotifyService", targetNamespace="http://examples.org/") @JMSTransportService(destinationName="myQueue", activationConfig = { @ActivationConfigProperty( propertyName = "destinationType", propertyValue = "javax.jms.Topic"), @ActivationConfigProperty( propertyName = "subscriptionDurability", propertyValue = "Durable"), @ActivationConfigProperty(propertyName = "topicMessagesDistributionMode", propertyValue = "One-Copy-Per-Application")}) @BindingType(SOAPBindingImpl.SOAP11_JMS_BINDING) public class NotifyServiceImpl {..}
親トピック: WebLogic固有のアノテーション
weblogic.jws.Policies
以降の項では、アノテーションを詳細に説明します。
親トピック: WebLogic固有のアノテーション
説明
ターゲット: クラス、メソッド
@weblogic.jws.Policy
アノテーションの配列を指定します。
このアノテーションは、複数のWS-PolicyファイルをJWSファイルのクラスまたはメソッドにアタッチする場合に使用します。アタッチするWS-Policyファイルが1つだけの場合は、@weblogic.jws.Policy
を単独で使用できます。
このJWSアノテーションには、属性はありません。
親トピック: weblogic.jws.Policies
例
@Policies({ @Policy(uri="policy:firstPolicy.xml"), @Policy(uri="policy:secondPolicy.xml") })
親トピック: weblogic.jws.Policies
weblogic.jws.Policy
以降の項では、アノテーションを詳細に説明します。
親トピック: WebLogic固有のアノテーション
説明
ターゲット: クラス、メソッド
デジタル署名、暗号化、またはWebサービスの信頼性のあるメッセージングに関する情報を格納しているWS-PolicyファイルをリクエストまたはレスポンスSOAPメッセージに適用するように指定します。
このアノテーションを単独で使用すると、単一のWS-Policyファイルをクラスまたはメソッドに適用できます。複数のWS-Policyファイルをクラスまたはメソッドに適用する場合は、@weblogic.jws.Policies
アノテーションを使用し、WS-Policyファイルをまとめて適用します。
このアノテーションをクラス・レベルで指定した場合、WS-Policyファイル(1つまたは複数)はWebサービスのあらゆるパブリック操作に適用されます。アノテーションをメソッド・レベルで指定した場合、WS-Policyファイルは、対応する操作にのみ適用されます。
デフォルトでは、WS-Policyファイルはリクエスト(インバウンド)とレスポンス(アウトバウンド)の両方のSOAPメッセージに適用されます。このデフォルトの動作は、direction
属性を使用して変更できます。
デフォルトではまた、指定したWS-Policyファイルは、Webサービス用に生成されてパブリッシュされたWSDLファイルにアタッチされるので、コンシューマは、WebサービスのWS-Policyに関するすべての要件を確認できます。このデフォルトの動作を変更するには、attachToWsdl
属性を使用します。
親トピック: weblogic.jws.Policy
属性
表3-6 weblogic.jws.Policy JWSアノテーション・タグの属性
名前 | 説明 | データ型 | 必須? |
---|---|---|---|
|
WS-Policyファイルを検索する場所を指定します。 Web上のWS-PolicyファイルのURLを指定するには、 WS-PolicyファイルがWebLogic ServerのWebサービス・アーカイブ・ファイルまたは共有可能なJakarta EEライブラリにパッケージ化されていることを指定する場合は、次の例のように @Policy(uri="policy:MyPolicyFile.xml") Webサービス・アーカイブ形式でWS-Policyファイルをパブリッシュする場合は、EJB JARファイル(EJB実装のWebサービスの場合)の ライブラリ内のWS-Policyファイルのパブリッシュについては、『Oracle WebLogic Serverアプリケーションの開発』の共有Jakarta EEライブラリおよびオプション・パッケージの作成を参照してください。 |
String |
はい |
|
ポリシーをインバウンド・リクエストSOAPメッセージに対して適用するか、アウトバウンド・レスポンスSOAPメッセージに対して適用するか、またはその両方(デフォルト)に対して適用するかを指定します。 この属性の有効な値は次のとおりです:
デフォルト値は |
enum |
いいえ |
|
Webサービスを記述するWSDLにWS-Policyファイルをアタッチするかどうかを指定します。 有効な値は、 |
ブール |
いいえ |
親トピック: weblogic.jws.Policy
例
@Policy(uri="policy:myPolicy.xml", attachToWsdl=true, direction=Policy.Direction.outbound)
親トピック: weblogic.jws.Policy
weblogic.jws.security.WssConfiguration
以降の項では、アノテーションを詳細に説明します。
親トピック: WebLogic固有のアノテーション
説明
ターゲット: クラス
Webサービスで使用するWebサービス・セキュリティ構成の名前を指定します。JWSファイルでこのアノテーションを指定しなかった場合、デフォルトのセキュリティ構成(default_wss
)をドメインで作成済であれば、Webサービスは、そのセキュリティ構成に関連付けられます。
@WssConfiguration
アノテーションは、Webサービスでメッセージ・レベルのセキュリティ(暗号化およびデジタル署名)が構成されている場合にのみ有効です。このアノテーションを使用してWebサービスに関連付けられたセキュリティ構成では、アイデンティティの認証にX.509証明書を使用するかどうか、パスワード・ダイジェストを使用するかどうか、暗号化やデジタル署名にキーストアを使用するかどうかなどを指定します。
WebLogic Webサービスは、必ずしもセキュリティ構成と関連付ける必要はありません。Webサービスのセキュリティ・ランタイムのデフォルトの動作が十分なものであれば、追加の構成は不要です。しかし、Webサービスでデフォルトとは異なる動作が必要とされる場合(アイデンティティの認証に、デフォルトのユーザー名/パスワードのトークンではなくX.509証明書を使用する場合など)は、Webサービスにセキュリティ構成を関連付ける必要があります。
メッセージ・レベルのセキュリティの概要は、Oracle WebLogic Server WebLogic Webサービスの保護のメッセージ・レベルのセキュリティの構成を参照してください。
ノート:
@WssConfiguration
アノテーションを使用する場合、単一のWebアプリケーションにパッケージ化されているすべてのWebLogic Webサービスは同じセキュリティ構成に関連付けられている必要があります。たとえば、特定のWebアプリケーションに含まれるWebサービスを実装するすべてのJWSファイルに@WssConfiguration
アノテーションが存在している場合は、各@WssConfiguration
のvalue
属性が同じでなければなりません。
jwsc
Antタスクを使用してJWSファイルをWebサービスにコンパイルするときに複数のWebサービスが単一のWebアプリケーションに含まれていることを指定するには、単一の<module>
要素で対応する<jws>
要素をグループ化します。
属性
表3-7 weblogic.jws.security.WssConfiguration JWSアノテーション・タグの属性
名前 | 説明 | データ型 | 必須? |
---|---|---|---|
|
このWebサービスに関連付けられたWebサービス・セキュリティ構成の名前を指定します。デフォルト構成名は |
String |
はい |
例
以下の例では、Webサービスがmy_security_configuration
セキュリティ構成に関連付けられるように指定する方法を示します。ここでは、関連するJavaコードのみを示します。
package examples.webservices.wss_configuration; import javax.jws.WebService; ... import weblogic.jws.security.WssConfiguration; @WebService(... ... @WssConfiguration(value="my_security_configuration") public class WssConfigurationImpl { ...
weblogic.wsee.jws.jaxws.owsm.Property
以降の項では、アノテーションを詳細に説明します。
親トピック: WebLogic固有のアノテーション
説明
ターゲット: クラス
ポリシー構成プロパティのオーバーライドを指定します。
このアノテーションをweblogic.wsee.jws.jaxws.owsm.SecurityPolicy
アノテーションとともに使用すると、ポリシーをWebサービス・クライアントにアタッチするときに構成プロパティをオーバーライドできます。
ノート:
このアノテーションは、Webサービス・クライアント専用です。Webサービス(サーバー側)のポリシー・アタッチメントについては、サポートされていません。
このアノテーションの使用の詳細と例は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のアノテーションを使用したJava EE Webサービスおよびクライアントへのポリシーのアタッチを参照してください。
このJWSアノテーションには、属性はありません。
weblogic.wsee.jws.jaxws.owsm.SecurityPolicies
以降の項では、アノテーションを詳細に説明します。
親トピック: WebLogic固有のアノテーション
説明
ターゲット: クラス
@weblogic.wsee.jws.jaxws.owsm.SecurityPolicies
アノテーションの配列を指定します。
このアノテーションは、複数のOWSMセキュリティ・ポリシーをJWSファイルのクラスにアタッチする場合に使用します。OWSMセキュリティ・ポリシーを1つのみアタッチする場合は、@weblogic.wsee.jws.jaxws.owsm.SecurityPolicy
アノテーションを使用できます。
このアノテーションの使用の詳細と例は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のアノテーションを使用したJava EE Webサービスおよびクライアントへのポリシーのアタッチを参照してください。
このJWSアノテーションには、属性はありません。
weblogic.wsee.jws.jaxws.owsm.SecurityPolicy
以降の項では、アノテーションを詳細に説明します。
親トピック: WebLogic固有のアノテーション
説明
ターゲット: クラス
OWSMセキュリティ・ポリシー・ファイルをWebサービスまたはクライアントにアタッチします。
このアノテーションを単独で使用すると、単一のOWSMセキュリティ・ポリシーをクラスに適用できます。複数のOWSMセキュリティ・ポリシーをクラスにアタッチする場合は、@weblogic.wsee.jws.jaxws.owsm.SecurityPolicies
アノテーションを使用し、OWSMセキュリティ・ポリシーをまとめてアタッチします。
このアノテーションの使用の詳細と例は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のアノテーションを使用したJava EE Webサービスおよびクライアントへのポリシーのアタッチを参照してください。
属性
表3-8 weblogic.wsee.jws.jaxws.owsm.SecurityPolicy JWSアノテーション・タグの属性
名前 | 説明 | データ型 | 必須? |
---|---|---|---|
|
OWSMセキュリティ・ポリシーの名前を指定します。 OWSMポリシーがOWSMポリシー・リポジトリにパッケージ化されていることを指定する場合は、次の例のように @SecurityPolicy(uri="policy:oracle/wss_saml20_token_over_ssl_service_policy") OWSMリポジトリの詳細は、Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理のOWSMリポジトリの管理を参照してください。 |
String |
はい |
|
ノート: この属性は、Webサービス・クライアントに対してのみ指定できます。Webサービス(サーバー側)のポリシー・アタッチメントについては、この属性はサポートされていません。 ポリシー構成オーバーライド情報を指定します。 |
String |
いいえ |
|
OWSMポリシー・ファイルが有効かどうかを指定します。 有効な値は、 |
ブール |
いいえ |
例
次の例では、wss_saml20_token_over_ssl_service_policy
をWebサービスにアタッチする方法を示します。
@SecurityPolicy(uri="policy:oracle/wss_saml20_token_over_ssl_service_policy", enabled=true)
次の例では、wss10_message_protection_client_policy
をWebサービス・クライアントにアタッチしてkeystore.recipient.alias構成プロパティをオーバーライドする方法を示します。
@SecurityPolicy(uri="policy:oracle/wss10_message_protection_client_policy", properties = { @Property(name="keystore.recipient.alias", value="mykey") }, enabled=true)
weblogic.wsee.jws.jaxws.owsm.SecurityPolicies
以降の項では、アノテーションを詳細に説明します。
親トピック: WebLogic固有のアノテーション
説明
ターゲット: クラス、メソッド
@weblogic.wsee.jws.jaxws.owsm.SecurityPolicy
アノテーションの配列を指定します。
このアノテーションは、複数のOracle Web Services Manager (Oracle WSM) WS-PolicyファイルをJWSファイルのクラスまたはメソッドにアタッチする場合に使用します。アタッチするOracle WSM WS-Policyファイルが1つのみの場合は、@weblogic.wsee.jws.jaxws.owsm.SecurityPolicy
を単独で使用できます。
このアノテーションの使用の詳細および例は、Oracle WebLogic Server WebLogic Webサービスの保護のOracle Webサービス・セキュリティ・ポリシーの使用を参照してください。
このJWSアノテーションには、属性はありません。
weblogic.wsee.jws.jaxws.owsm.SecurityPolicy
以降の項では、アノテーションを詳細に説明します。
親トピック: WebLogic固有のアノテーション
説明
ターゲット: クラス、メソッド
デジタル署名または暗号化に関する情報を格納しているOracle Web Services Manager (Oracle WSM) WS-PolicyファイルをリクエストまたはレスポンスSOAPメッセージに適用するように指定します。
このアノテーションを単独で使用すると、単一のOracle WSM WS-Policyファイルをクラスまたはメソッドに適用できます。複数のOracle WSM WS-Policyファイルをクラスまたはメソッドに適用する場合は、@weblogic.wsee.jws.jaxws.owms.SecurityPolicies
アノテーションを使用し、Oracle WSM WS-Policyファイルをまとめて適用します。
このアノテーションをクラス・レベルでのみ指定すると、Oracle WSM WS-Policyファイル(1つまたは複数)はWebサービスのあらゆるパブリック操作に適用されていることを示します。
Oracle WSM WS-SecurityポリシーはWebLogic Server JAX-WS WebサービスのWSDLに公開されません。(通常、Webサービスに関連付けられたポリシー・ファイルはそのWSDLにアタッチされます。Webサービス・クライアント・ランタイムはこれを読み取り、クライアント・アプリケーションから呼び出された操作からのSOAPメッセージ・リクエストのデジタル署名やデジタル暗号化を行うかどうかを判別したり、行う場合はその方法を判別したりします。)
このアノテーションの使用の詳細および例は、Oracle WebLogic Server WebLogic Webサービスの保護のOracle Webサービス・セキュリティ・ポリシーの使用を参照してください。
属性
表3-9 weblogic.jws.SecurityPolicy JWSアノテーション・タグ属性
名前 | 説明 | データ型 | 必須? |
---|---|---|---|
uri |
Oracle WSM WS-Policyファイルを取得する場所を指定します。 Web上のOracle WSM WS-PolicyファイルのURLを指定するには、 Oracle WSM WS-PolicyファイルがWebLogic ServerのWebサービス・アーカイブ・ファイルまたは共有可能なJakarta EEライブラリにパッケージ化されていることを指定する場合は、次の例のように @SecurityPolicy(uri= "policy:oracle/wss10_username_token_with_message_protection_server_policy") |
String |
はい |
weblogic.wsee.wstx.wsat.Transactional
以降の項では、アノテーションを詳細に説明します。
親トピック: WebLogic固有のアノテーション
説明
ターゲット: クラス、メソッド
アノテーション付きのクラスまたはメソッドをWebサービス原子性トランザクション内で実行するかどうかを指定します。
Webサービス・クラス・レベルで@Transactional
アノテーションを指定すると、サービス・エンドポイント・インタフェースで定義されたすべての双方向同期メソッドに設定が適用されます。フロー・タイプの値はメソッド・レベルでオーバーライドできますが、バージョンはトランザクション全体で一致している必要があります。
WebLogic Webサービスでは、次の仕様をサポートすることで、WebSphere、JBoss、Microsoft .NETなどの外部トランザクション処理システムとの相互運用性を実現しています。
-
WS-AtomicTransaction (WS-AT)バージョン1.0、1.1および1.2:
http://docs.oasis-open.org/ws-tx/wstx-wsat-1.2-spec-cs-01/wstx-wsat-1.2-spec-cs-01.html
-
WS-Coordinationバージョン1.0、1.1および1.2:
http://docs.oasis-open.org/ws-tx/wstx-wscoor-1.2-spec-cs-01/wstx-wscoor-1.2-spec-cs-01.html
属性
表3-10 weblogic.wsee.wstx.wsat.Transactionalアノテーションの属性
名前 | 説明 | データ型 | 必須? |
---|---|---|---|
|
Webサービスおよびクライアントに対して使用されるWebサービス原子性トランザクション調整コンテキストのバージョン。クライアントの場合、アウトバウンド・メッセージに使用されるバージョンのみを指定します。指定した値は、トランザクション全体で一致している必要があります。 有効な値は、 たとえば: @Transactional(version=Transactional.Version.WSAT10]) |
String |
いいえ |
|
Webサービス原子性トランザクション調整コンテキストがトランザクション・フローとともに渡されるかどうか。有効な値は、表3-11を参照してください。 |
String |
いいえ |
次の表は、フロー・タイプの有効な値と、Webサービスおよびクライアントでのそれらの意味をまとめたものです。この表では、@TransactionAttribute
アノテーションを使用するEJB型のWebサービスに対してWebサービス原子性トランザクションを構成する際の有効な値の組合せも示しています。
表3-11 フロー・タイプの値
値 | Webサービス・クライアント | Webサービス | EJB @TransactionAttributeの有効な値 |
---|---|---|---|
|
トランザクション調整コンテキストをエクスポートしません。 |
トランザクション調整コンテキストをインポートしません。 |
|
|
トランザクションがある場合は、トランザクション調整コンテキストをエクスポートします。 |
トランザクション調整コンテストがメッセージに存在する場合は、それをインポートします。 |
|
|
トランザクション調整コンテキストをエクスポートします。アクティブなトランザクションがない場合は、例外がスローされます。 |
トランザクション調整コンテキストをインポートします。アクティブなトランザクションがない場合は、例外がスローされます。 |
|