HITACHI Inspire The Next

Cosminexus V9 アプリケーションサーバ Webサービス開発ガイド

手引書

3020-3-Y23-60


目  次

前書き
変更内容
はじめに
第1編 概要
1. Webサービスの開発および実行の概要
1.1 JAX-WS・JAX-RS仕様の対応バージョン,プレフィクスおよび名前空間URI
1.2 Webサービスの開発の概要
1.2.1 SOAP Webサービスの開発の概要
1.2.2 RESTful Webサービスの開発の概要
1.3 Webサービスの開発時および実行時に使用する機能
1.3.1 SOAP Webサービスの機能
1.3.2 RESTful Webサービスの機能
1.4 Webサービスの開発および実行の前提条件
1.4.1 前提となる構成ソフトウェア
1.4.2 機能および仕様に関する前提条件
1.5 Webサービスとクライアントの形態
1.5.1 Webサービスの形態
1.5.2 クライアントの形態
1.6 JAX-WSエンジンとJAX-RSエンジンの設定
2. 開発の流れ
2.1 SOAP Webサービス開発の流れ
2.1.1 WSDLを起点とした開発の流れ
2.1.2 SEIを起点とした開発の流れ
2.1.3 SEIを起点とした開発の流れ(cjwsgenコマンドを使用する場合)
2.1.4 プロバイダを起点とした開発の流れ
2.2 Webサービスクライアント開発の流れ
2.2.1 スタブベースのWebサービスクライアントの開発の流れ
2.2.2 ディスパッチベースのWebサービスクライアントの開発の流れ
2.3 RESTful Webサービスの開発の流れ
第2編 開発と実行
3. SOAP Webサービス開発のポイント
3.1 WSDLの作成
3.2 WSDLとJavaソースのマッピング
3.2.1 WSDLからJavaソースへのマッピング例
3.2.2 JavaソースからWSDLへのマッピング例
3.3 Webサービス実装クラスおよびプロバイダ実装クラスの作成
3.4 web.xmlの作成
3.5 アーカイブの作成
3.5.1 WARファイルの構成
3.5.2 EJB JARファイルの構成
3.5.3 EARファイルの作成
3.5.4 EJBのWebサービスの設定用WARファイルの作成
3.6 Webサービスクライアントの実装
3.6.1 スタブベースの実装例
3.6.2 ディスパッチベースの実装例
3.6.3 JAX-WS APIを使用する場合の実装例
3.6.4 注意事項
3.6.5 アドレッシング機能を使用したWebサービスにアクセスする場合の注意事項
4. WSDLを起点とした開発の例
4.1 開発例の構成(WSDL起点)
4.2 開発例の流れ(WSDL起点)
4.3 Webサービスの開発例(WSDL起点)
4.3.1 WSDLファイルを作成する
4.3.2 SEIを生成する
4.3.3 Webサービス実装クラスを作成する
4.3.4 Webサービス実装クラスをコンパイルする
4.3.5 web.xmlを作成する
4.3.6 application.xmlを作成する
4.3.7 EARファイルを作成する
4.4 デプロイと開始の例(WSDL起点)
4.4.1 EARファイルをデプロイする
4.4.2 Webサービスを開始する
4.5 Webサービスクライアントの開発例(WSDL起点)
4.5.1 サービスクラスを生成する
4.5.2 Webサービスクライアントの実装クラスを作成する
4.5.3 Webサービスクライアントの実装クラスをコンパイルする
4.6 Webサービスの実行例(WSDL起点)
4.6.1 Javaアプリケーション用オプション定義ファイルを作成する
4.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
4.6.3 Webサービスクライアントを実行する
5. SEIを起点とした開発の例
5.1 開発例の構成(SEI起点)
5.2 開発例の流れ(SEI起点)
5.3 Webサービスの開発例(SEI起点)
5.3.1 Webサービス実装クラスを作成する
5.3.2 Webサービス実装クラスをコンパイルする
5.3.3 web.xmlを作成する
5.3.4 application.xmlを作成する
5.3.5 WSDLファイルを作成する(任意)
5.3.6 EARファイルを作成する
5.4 デプロイと開始の例(SEI起点)
5.4.1 EARファイルをデプロイする
5.4.2 Webサービスを開始する
5.5 Webサービスクライアントの開発例(SEI起点)
5.5.1 サービスクラスを生成する
5.5.2 Webサービスクライアントの実装クラスを作成する
5.5.3 Webサービスクライアントの実装クラスをコンパイルする
5.6 Webサービスの実行例(SEI起点)
5.6.1 Javaアプリケーション用オプション定義ファイルを作成する
5.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
5.6.3 Webサービスクライアントを実行する
6. SEIを起点とした開発の例(cjwsgenコマンドを使用する場合)
6.1 開発例の構成(SEI起点・cjwsgenコマンド)
6.2 開発例の流れ(SEI起点・cjwsgenコマンド)
6.3 Webサービスの開発例(SEI起点・cjwsgenコマンド)
6.3.1 コンパイル済みのクラスファイルを保存する
6.3.2 Javaソースを生成する
6.3.3 web.xmlを作成する
6.3.4 application.xmlを作成する
6.3.5 EARファイルを作成する
6.4 デプロイと開始の例(SEI起点・cjwsgenコマンド)
6.4.1 EARファイルをデプロイする
6.4.2 Webサービスを開始する
6.5 Webサービスクライアントの開発例(SEI起点・cjwsgenコマンド)
6.5.1 サービスクラスを生成する
6.5.2 Webサービスクライアントの実装クラスを作成する
6.5.3 Webサービスクライアントの実装クラスをコンパイルする
6.6 Webサービスの実行例(SEI起点・cjwsgenコマンド)
6.6.1 Javaアプリケーション用オプション定義ファイルを作成する
6.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
6.6.3 Webサービスクライアントを実行する
7. SEIを起点とした開発の例(カスタマイズする場合)
7.1 開発例の構成(SEI起点・カスタマイズ)
7.2 開発例の流れ(SEI起点・カスタマイズ)
7.3 Webサービスの開発例(SEI起点・カスタマイズ)
7.3.1 Webサービス実装クラスを作成する
7.3.2 Webサービス実装クラスをコンパイルする
7.3.3 web.xmlを作成する
7.3.4 application.xmlを作成する
7.3.5 EARファイルを作成する
7.4 デプロイと開始の例(SEI起点・カスタマイズ)
7.4.1 EARファイルをデプロイする
7.4.2 Webサービスを開始する
7.5 Webサービスクライアントの開発例(SEI起点・カスタマイズ)
7.5.1 サービスクラスを生成する
7.5.2 Webサービスクライアントの実装クラスを作成する
7.5.3 Webサービスクライアントの実装クラスをコンパイルする
7.6 Webサービスの実行例(SEI起点・カスタマイズ)
7.6.1 Javaアプリケーション用オプション定義ファイルを作成する
7.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
7.6.3 Webサービスクライアントを実行する
8. SEIを起点とした開発の例(EJBのWebサービスの場合)
8.1 開発例の構成(SEI起点・EJBのWebサービス)
8.2 開発例の流れ(SEI起点・EJBのWebサービス)
8.3 Webサービスの開発例(SEI起点・EJBのWebサービス)
8.3.1 Webサービス実装クラスを作成する
8.3.2 Webサービス実装クラスをコンパイルする
8.3.3 application.xmlを作成する
8.3.4 WSDLファイルを作成する(任意)
8.3.5 EARファイルを作成する
8.4 デプロイと開始の例(SEI起点・EJBのWebサービス)
8.4.1 EARファイルをデプロイする
8.4.2 Webサービスを開始する
8.5 Webサービスクライアントの開発例(SEI起点・EJBのWebサービス)
8.5.1 サービスクラスを生成する
8.5.2 Webサービスクライアントの実装クラスを作成する
8.5.3 Webサービスクライアントの実装クラスをコンパイルする
8.6 Webサービスの実行例(SEI起点・EJBのWebサービス)
8.6.1 Javaアプリケーション用オプション定義ファイルを作成する
8.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
8.6.3 Webサービスクライアントを実行する
9. プロバイダを起点とした開発の例(SAAJを利用した場合)
9.1 開発例の構成(プロバイダ起点・SAAJ)
9.2 開発例の流れ(プロバイダ起点・SAAJ)
9.3 Webサービスの開発例(プロバイダ起点・SAAJ)
9.3.1 プロバイダ実装クラスを作成する
9.3.2 Javaソースを生成する
9.3.3 web.xmlを作成する
9.3.4 application.xmlを作成する
9.3.5 EARファイルを作成する
9.4 デプロイと開始の例(プロバイダ起点・SAAJ)
9.4.1 EARファイルをデプロイする
9.4.2 Webサービスを開始する
9.5 Webサービスクライアントの開発例(プロバイダ起点・SAAJ)
9.5.1 Webサービスクライアントの実装クラスを作成する
9.5.2 Webサービスクライアントの実装クラスをコンパイルする
9.6 Webサービスの実行例(プロバイダ起点・SAAJ)
9.6.1 Javaアプリケーション用オプション定義ファイルを作成する
9.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
9.6.3 Webサービスクライアントを実行する
10. JAX-WS機能の設定と動作
10.1 動作定義ファイル
10.1.1 動作定義ファイルの記述規則
10.1.2 共通定義ファイルの設定項目
10.1.3 プロセス別の定義ファイルの設定
10.2 JAX-WSエンジンの動作
10.2.1 JAX-WSエンジンの動作とサポート範囲
10.2.2 ディスカバリとディスパッチ
10.3 cosminexus-jaxws.xmlによるカスタマイズ
10.3.1 cosminexus-jaxws.xmlのファイル名と格納先
10.3.2 cosminexus-jaxws.xmlの書式
10.4 フォルトと例外の処理
10.4.1 Webサービス側のフォルトおよび例外の処理
10.4.2 Webサービスクライアント側のフォルトの処理
10.4.3 Java例外の伝搬
10.4.4 例外をフォルトにバインディングする場合のHTTPステータスコード
10.4.5 エラーページをカスタマイズする場合の注意事項
10.5 インタフェースの透過性
10.6 メタデータの発行
10.7 Webサービスの情報表示
10.8 使用できるHTTPメソッド
10.9 Webサービスの初期化と破棄
10.10 プロキシサーバ経由の接続
10.11 SSLプロトコルによる接続
10.12 ベーシック認証による接続
10.13 SOAPのバージョン選択
10.13.1 SOAPのバージョン選択(Webサービス開発時)
10.13.2 SOAPのバージョン選択(Webサービスクライアント開発時)
10.13.3 SOAPのバージョン選択(実行時)
10.14 コマンドラインを利用したクライアントアプリケーションの実行
10.14.1 コマンドライン利用時の設定
10.14.2 コマンドラインの実行
10.14.3 コマンドライン利用時の注意事項
10.15 HTTPステータスコード
10.16 HTTPヘッダ
10.17 HTTPリクエストボディのgzip圧縮
10.18 HTTPレスポンス圧縮機能との連携
10.19 EJBのWebサービス呼び出し
10.20 sun.net.www.http.HttpClientによるリクエスト再送抑止
10.21 インジェクション
10.21.1 サービスクラスおよびポートのインジェクション
10.21.2 Webサービスコンテキストのインジェクション
10.22 one-wayオペレーション
10.22.1 one-wayオペレーションの注意事項
10.23 ラッパbeanの動的生成機能
10.24 MIME Multipart/Related構造のSOAPメッセージの受信
10.24.1 一時ファイル
11. RESTful Webサービス開発のポイント
11.1 ルートリソースクラスの作成
11.2 web.xmlの作成
11.3 アーカイブの作成
11.3.1 WARファイルの構成
11.3.2 EARファイルの作成
11.4 RESTful Webサービス用クライアントAPIを使用するクライアントの実装
11.4.1 Webリソースクライアントのユースケース
11.4.2 RESTful Webサービス用クライアントAPIの仕組み
11.4.3 プロパティとフィーチャの設定
11.4.4 HTTPヘッダの設定
11.4.5 注意事項
12. RESTful Webサービス開発の例
12.1 開発例の構成
12.2 開発例の流れ
12.3 Webリソースの開発例
12.3.1 ルートリソースクラスを作成する
12.3.2 Javaソースをコンパイルする
12.3.3 web.xmlを作成する
12.3.4 application.xmlを作成する
12.3.5 EARファイルを作成する
12.4 デプロイと開始の例
12.4.1 EARファイルをデプロイする
12.4.2 Webサービスを開始する
12.5 Webリソースクライアントの開発例
12.5.1 Webリソースクライアントの実装クラスを作成する(クライアントAPIを利用する)
12.5.2 Webリソースクライアントの実装クラスを作成する(java.net.HttpURLConnectionを利用する)
12.5.3 Webリソースクライアントの実装クラスをコンパイルする
12.6 Webリソースの呼び出し例
12.6.1 Javaアプリケーション用オプション定義ファイルを作成する
12.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
12.6.3 Webリソースクライアントを実行する
13. JAX-RS機能の設定と動作
13.1 動作定義ファイル
13.1.1 動作定義ファイルの記述規則
13.1.2 共通定義ファイルの設定項目
13.1.3 プロセス別の定義ファイルの設定(JAX-RS)
13.2 JAX-RSエンジンの動作
13.2.1 ディスカバリとディスパッチ
13.3 メタデータの発行
13.4 プロキシサーバ経由の接続
13.5 SSLプロトコルによる接続
13.6 ベーシック認証による接続
13.7 トラブルシュート
13.7.1 Webリソース初期化時の構文チェック(KDJJ20003-WとKDJJ10006-E)
13.7.2 受信したHTTPリクエストの処理で検出されるエラー
13.7.3 例外マッピングプロバイダで処理できる例外
13.7.4 J2EEサーバへの例外のスロー
13.7.5 クライアントAPIの使用時に発生する例外(KDJJ18888-E)
第3編 リファレンス
14. コマンド
14.1 cjwsimportコマンド
14.2 cjaptコマンド
14.3 cjwsgenコマンド
14.4 UACが有効なWindowsでコマンドラインインタフェースを使用する場合の注意事項
14.4.1 管理者がコマンドラインインタフェースを使用する場合
14.4.2 管理者以外がコマンドラインインタフェースを使用する場合
15. WSDLからJavaへのマッピング
15.1 WSDLからJavaへのデフォルトマッピング
15.1.1 名前空間からパッケージ名へのマッピング
15.1.2 ポートタイプからSEI名へのマッピング
15.1.3 オペレーションからメソッド名へのマッピング
15.1.4 メッセージのパートからパラメタおよび戻り値へのマッピング(wrapperスタイルの場合)
15.1.5 メッセージのパートからパラメタおよび戻り値へのマッピング(non-wrapperスタイルの場合)
15.1.6 スキーマ型からJava型へのマッピング
15.1.7 フォルトから例外クラスへのマッピング
15.1.8 バインディング拡張要素からパラメタへのマッピング
15.1.9 サービスおよびポートからサービスクラスへのマッピング
15.1.10 スケルトンクラスへのマッピング
15.1.11 WSDLからJavaへのマッピングに関する注意事項
15.2 WSDLからJavaへのマッピングのカスタマイズ
15.2.1 埋め込みによるバインディング宣言でのカスタマイズ
15.2.2 外部バインディングファイルによるカスタマイズ
15.2.3 埋め込みによるバインディング宣言と外部バインディングファイルの同時指定
15.2.4 jaxws:bindings要素に指定できる値
15.2.5 カスタマイズ対象となった要素の値
15.2.6 名前衝突時の対応
15.2.7 jaxws:provider要素を記述した場合の動作
15.2.8 SEI名をカスタマイズする場合の注意事項
15.2.9 jaxws:parameter要素でinoutパラメタ名をカスタマイズする場合の注意事項
15.2.10 SEI名をjaxws:class要素でカスタマイズした場合のスケルトンクラス名
16. JavaからWSDLへのマッピング
16.1 JavaからWSDLへのデフォルトマッピング
16.1.1 パッケージ名から名前空間へのマッピング
16.1.2 Webサービス実装クラスからSEIへのマッピング
16.1.3 SEI名からポートタイプへのマッピング
16.1.4 SEIのメソッド名からオペレーションへのマッピング
16.1.5 パラメタおよび戻り値からメッセージのパートへのマッピング(wrapperスタイルの場合)
16.1.6 パラメタおよび戻り値からメッセージのパートへのマッピング(non-wrapperスタイルの場合)
16.1.7 Javaのラッパ例外クラスからフォルトへのマッピング
16.1.8 SEIからバインディングへのマッピング
16.1.9 Webサービス実装クラスからサービスおよびポートへのマッピング
16.1.10 JavaからWSDLへのマッピングに関する注意事項
16.2 JavaからWSDLへのマッピングのカスタマイズ
16.2.1 アノテーション一覧
16.2.2 com.sun.xml.ws.developer.StreamingAttachmentアノテーション
16.2.3 javax.jws.HandlerChainアノテーション
16.2.4 javax.jws.Onewayアノテーション
16.2.5 javax.jws.soap.SOAPBindingアノテーション
16.2.6 javax.jws.WebMethodアノテーション
16.2.7 javax.jws.WebParamアノテーション
16.2.8 javax.jws.WebResultアノテーション
16.2.9 javax.jws.WebServiceアノテーション
16.2.10 javax.xml.bind.annotation.XmlElementアノテーション
16.2.11 javax.xml.bind.annotation.XmlMimeTypeアノテーション
16.2.12 javax.xml.bind.annotation.XmlTypeアノテーション
16.2.13 javax.xml.ws.Actionアノテーション
16.2.14 javax.xml.ws.BindingTypeアノテーション
16.2.15 javax.xml.ws.FaultActionアノテーション
16.2.16 javax.xml.ws.RequestWrapperアノテーション
16.2.17 javax.xml.ws.ResponseWrapperアノテーション
16.2.18 javax.xml.ws.ServiceModeアノテーション
16.2.19 javax.xml.ws.soap.Addressingアノテーション
16.2.20 javax.xml.ws.soap.MTOMアノテーション
16.2.21 javax.xml.ws.WebFaultアノテーション
16.2.22 javax.xml.ws.WebServiceProviderアノテーション
17. Webリソースとプロバイダ
17.1 リソースクラス
17.1.1 ルートリソースクラス
17.1.2 エンティティパラメタ
17.1.3 戻り値
17.1.4 パラメタ型
17.1.5 例外のマッピング
17.1.6 URIテンプレート
17.1.7 サブリソースクラス
17.1.8 例外ハンドリング
17.1.9 メディアタイプ宣言
17.1.10 URLデコードの無効化
17.1.11 アノテーションの継承
17.2 プロバイダ
17.2.1 エンティティプロバイダ
17.2.2 例外マッピングプロバイダ
18. JSON POJOマッピング
18.1 JSON POJOマッピングの設定
18.1.1 サーバ側
18.1.2 クライアント側
18.2 POJOからJSONへのマッピング
18.2.1 マッピング要件
18.2.2 指定できるデータ型
18.2.3 例外ハンドリング
18.3 JSONからPOJOへのマッピング
18.3.1 マッピング要件
18.3.2 指定できるデータ型
18.3.3 例外ハンドリング
18.4 マッピング中に発生する例外
19. JAX-WS仕様のサポート範囲
19.1 JAX-WS 2.2仕様のサポート範囲
19.1.1 JAX-WS 2.2仕様の機能のサポート範囲
19.1.2 Conformanceへの対応
19.2 APIのサポート範囲
19.2.1 インタフェースおよびクラスの一覧(JAX-WS)
19.2.2 クライアントAPI
19.2.3 サービスAPI
19.2.4 コアAPI
19.2.5 メッセージコンテキストの使用
19.3 アノテーションのサポート範囲
19.3.1 javax.xml.ws.WebServiceRefアノテーション
19.4 ハンドラチェイン設定ファイルのサポート範囲
19.4.1 javaee:handler-chains要素
19.4.2 javaee:handler-chain要素
19.4.3 javaee:handler要素
19.4.4 javaee:handler-name要素
19.4.5 javaee:handler-class要素
19.4.6 javaee:soap-header要素
19.4.7 javaee:soap-role要素
20. WSDL仕様のサポート範囲
20.1 WSDL 1.1仕様のサポート範囲
20.1.1 wsdl:definitions要素
20.1.2 wsdl:import要素
20.1.3 wsdl:types要素
20.1.4 wsdl:message要素
20.1.5 wsdl:part要素
20.1.6 wsdl:portType要素
20.1.7 wsdl:operation要素(wsdl:portType要素の子要素の場合)
20.1.8 wsdl:input要素(wsdl:portType要素の孫要素の場合)
20.1.9 wsdl:output要素(wsdl:portType要素の孫要素の場合)
20.1.10 wsdl:fault要素(wsdl:portType要素の孫要素の場合)
20.1.11 wsdl:binding要素
20.1.12 wsdl:operation要素(wsdl:binding要素の子要素の場合)
20.1.13 wsdl:input要素(wsdl:binding要素の孫要素の場合)
20.1.14 wsdl:output要素(wsdl:binding要素の孫要素の場合)
20.1.15 wsdl:fault要素(wsdl:binding要素の孫要素の場合)
20.1.16 wsdl:service要素
20.1.17 wsdl:port要素
20.1.18 wsdl:documentation要素
20.1.19 soap:binding要素
20.1.20 soap:operation要素
20.1.21 soap:body要素
20.1.22 soap:header要素
20.1.23 soap:fault要素
20.1.24 soap:address要素
20.1.25 soap12:operation要素
20.1.26 soap12:binding要素
20.1.27 soap12:body要素
20.1.28 soap12:header要素
20.1.29 soap12:fault要素
20.1.30 soap12:address要素
20.1.31 xsd:schema要素
20.2 WSDL作成時の注意事項
21. XML Catalogs 1.1のサポート範囲
21.1 XML Catalogs 1.1仕様のサポート範囲の一覧
21.2 XML Catalogs 1.1仕様のサポート範囲の詳細
21.2.1 er:catalog要素
21.2.2 er:public要素
21.2.3 er:system要素
22. SAAJ仕様のサポート範囲
22.1 SAAJ 1.3仕様のサポート範囲
22.1.1 Detailインタフェース
22.1.2 Nodeインタフェース
22.1.3 SOAPBodyインタフェース
22.1.4 SOAPElementインタフェース
22.1.5 SOAPEnvelopeインタフェース
22.1.6 SOAPFaultインタフェース
22.1.7 SOAPHeaderインタフェース
22.1.8 SOAPHeaderElementインタフェース
22.1.9 AttachmentPartクラス
22.1.10 MessageFactoryクラス
22.1.11 MimeHeaderクラス
22.1.12 MimeHeadersクラス
22.1.13 SAAJResultクラス
22.1.14 SOAPFactoryクラス
22.1.15 SOAPMessageクラス
22.1.16 SOAPPartクラス
22.1.17 添付ファイルを使用する場合のサポート範囲
23. WS-RM仕様のサポート範囲
23.1 WS-RM 1.2仕様のサポート範囲
23.2 WS-RM Policy 1.2仕様のサポート範囲
23.3 com.sun.xml.ws.Closeableクラス
23.4 WS-Policyによる設定
24. JAX-RS仕様のサポート範囲
24.1 JAX-RS 1.1仕様のサポート範囲
24.2 APIのサポート範囲
24.2.1 HttpHeadersインタフェース
24.2.2 PathSegmentインタフェース
24.2.3 Requestインタフェース
24.2.4 SecurityContextインタフェース
24.2.5 UriInfoインタフェース
24.2.6 Cookieクラス
24.2.7 EntityTagクラス
24.2.8 MediaTypeクラス
24.2.9 NewCookieクラス
24.2.10 Responseクラス
24.2.11 Response.ResponsBuilderクラス
24.2.12 UriBuilderクラス
24.2.13 Providerアノテーション
24.3 アノテーション
24.3.1 インジェクション用アノテーション
24.3.2 ビルトイン要求メソッド識別子
24.3.3 パス指定用アノテーション
24.3.4 メディアタイプ宣言用アノテーション
24.4 コンテキスト
24.4.1 javax.ws.rs.core.UriInfo
24.4.2 javax.ws.rs.core.HttpHeaders
24.4.3 javax.ws.rs.core.Request
24.4.4 javax.ws.rs.core.SecurityContext
24.4.5 javax.ws.rs.core.ext.Providers
24.4.6 javax.servlet.ServletConfig
24.4.7 javax.servlet.ServletContext
24.4.8 javax.servlet.http.HttpServletRequest
24.4.9 javax.servlet.http.HttpServletResponse
25. RESTful Webサービス用クライアントAPIのサポート範囲
25.1 クライアントAPIのインタフェースおよびクラスのサポート範囲
25.1.1 サポートするプロパティとフィーチャ
25.1.2 ClientRequestクラスとWebリソースクラスに含まれる情報
25.2 Clientクラスのメソッド仕様と注意事項
create()メソッド
create(ClientConfig cc)メソッド
destroy()メソッド
getProperties()メソッド
handle(ClientRequest request)メソッド
resource(String u)メソッド
resource(URI u)メソッド
setChunkedEncodingSize(Integer chunkSize)メソッド
setConnectTimeout(Integer interval)メソッド
setFollowRedirects(Boolean redirect)メソッド
setReadTimeout(Integer interval)メソッド
25.3 ClientHandlerExceptionクラスのメソッド仕様と注意事項
25.4 ClientRequestクラスのメソッド仕様と注意事項
clone()メソッド
create()メソッド
getEntity()メソッド
getHeaders()メソッド
getHeaderValue(Object headerValue)メソッド
getMethod()メソッド
getProperties()メソッド
getPropertyAsFeature(String name)メソッド
getPropertyAsFeature(String name, boolean defaultValue)メソッド
getURI()メソッド
setEntity(Object entity)メソッド
setMethod(String method)メソッド
setURI(java.net.URI uri)メソッド
25.5 ClientRequest.Builderクラスのメソッド仕様と注意事項
accept(MediaType... types)メソッド
accept(String... types)メソッド
acceptLanguage(Locale... locales)メソッド
acceptLanguage(String... locales)メソッド
build(URI uri, String method)メソッド
cookie(Cookie cookie)メソッド
entity(Object entity)メソッド
entity(Object entity, MediaType type)メソッド
entity(Object entity, String type)メソッド
header(String name, Object value)メソッド
type(MediaType type)メソッド
type(String type)メソッド
25.6 ClientResponseクラスのメソッド仕様と注意事項
bufferEntity()メソッド
close()メソッド
getAllow()メソッド
getClient()メソッド
getClientResponseStatus()メソッド
getCookies()メソッド
getEntity(Class<T> c)メソッド
getEntity(GenericType<T> gt)メソッド
getEntityInputStream()メソッド
getEntityTag()メソッド
getHeaders()メソッド
getLanguage()メソッド
getLastModified()メソッド
getLength()メソッド
getLocation()メソッド
getResponseDate()メソッド
getStatus()メソッド
getType()メソッド
hasEntity()メソッド
25.7 ClientResponse.Statusクラスの列挙型定数とメソッドの仕様
ClientResponse.Statusクラスの列挙型定数
fromStatusCode(int statusCode)メソッド
getFamily()メソッド
getReasonPhrase()メソッド
getStatusCode()メソッド
toString()メソッド
valueOf(String name)メソッド
values()メソッド
25.8 GenericTypeクラスのコンストラクタおよびメソッド仕様と注意事項
GenericType()コンストラクタ
GenericType(Type genericType)コンストラクタ
getRawClass()メソッド
getType()メソッド
25.9 UniformInterfaceExceptionクラスのメソッド仕様と注意事項
getResponse()メソッド
25.10 WebResourceクラスのメソッド仕様と注意事項
accept(MediaType... types)メソッド
accept(String... types)メソッド
acceptLanguage(Locale... locales)メソッド
acceptLanguage(String... locales)メソッド
cookie(Cookie cookie)メソッド
delete()メソッド
delete(Class<T> c)メソッド
delete(Class<T> c, Object requestEntity)メソッド
delete(GenericType<T> gt)メソッド
delete(GenericType<T> gt, Object requestEntity)メソッド
delete(Object requestEntity)メソッド
entity(Object entity)メソッド
entity(Object entity, MediaType type)メソッド
entity(Object entity, String type)メソッド
get(Class<T> c)メソッド
get(GenericType<T> gt)メソッド
getRequestBuilder()メソッド
getURI()メソッド
getUriBuilder()メソッド
head()メソッド
header(String name, Object value)メソッド
method(String method)メソッド
method(String method, Class<T> c)メソッド
method(String method, Class<T> c, Object requestEntity)メソッド
method(String method, GenericType<T> gt)メソッド
method(String method, GenericType<T> gt, Object requestEntity)メソッド
method(String method, Object requestEntity)メソッド
options(Class<T> c)メソッド
options(GenericType<T> gt)メソッド
path(String path)メソッド
post()メソッド
post(Class<T> c)メソッド
post(Class<T> c, Object requestEntity)メソッド
post(GenericType<T> gt)メソッド
post(GenericType<T> gt, Object requestEntity)メソッド
post(Object requestEntity)メソッド
put()メソッド
put(Class<T> c)メソッド
put(Class<T> c, Object requestEntity)メソッド
put(GenericType<T> gt)メソッド
put(GenericType<T> gt, Object requestEntity)メソッド
put(Object requestEntity)メソッド
queryParam(String key, String value)メソッド
queryParams(MultivaluedMap<String, String> params)メソッド
type(MediaType type)メソッド
type(String type)メソッド
uri(java.net.URI uri)メソッド
25.11 WebResource.Builderクラスのメソッド仕様と注意事項
accept(MediaType... types)メソッド
accept(String... types)メソッド
acceptLanguage(Locale... locales)メソッド
acceptLanguage(String... locales)メソッド
cookie(Cookie cookie)メソッド
delete()メソッド
delete(Class<T> c)メソッド
delete(Class<T> c, Object requestEntity)メソッド
delete(GenericType<T> gt)メソッド
delete(GenericType<T> gt, Object requestEntity)メソッド
delete(Object requestEntity)メソッド
entity(Object entity)メソッド
entity(Object entity, MediaType type)メソッド
entity(Object entity, String type)メソッド
get(Class<T> c)メソッド
get(GenericType<T> gt)メソッド
head()メソッド
header(String name, Object value)メソッド
method(String method)メソッド
method(String method, Class<T> c)メソッド
method(String method, Class<T> c, Object requestEntity)メソッド
method(String method, GenericType<T> gt)メソッド
method(String method, GenericType<T> gt, Object requestEntity)メソッド
method(String method, Object requestEntity)メソッド
options(Class<T> c)メソッド
options(GenericType<T> gt)メソッド
post()メソッド
post(Class<T> c)メソッド
post(Class<T> c, Object requestEntity)メソッド
post(GenericType<T> gt)メソッド
post(GenericType<T> gt, Object requestEntity)メソッド
post(Object requestEntity)メソッド
put()メソッド
put(Class<T> c)メソッド
put(Class<T> c, Object requestEntity)メソッド
put(GenericType<T> gt)メソッド
put(GenericType<T> gt, Object requestEntity)メソッド
put(Object requestEntity)メソッド
type(MediaType type)メソッド
type(String type)メソッド
25.12 DefaultClientConfigクラスの定数およびメソッドの仕様と注意事項
PROPERTY_BUFFER_RESPONSE_ENTITY_ON_EXCEPTION定数
PROPERTY_CHUNKED_ENCODING_SIZE定数
PROPERTY_CONNECT_TIMEOUT定数
PROPERTY_FOLLOW_REDIRECTS定数
PROPERTY_READ_TIMEOUT定数
getPropertyAsFeature(String featureName)メソッド
getFeatures()メソッド
getFeature(String featureName)メソッド
getProperties()メソッド
getProperty(String propertyName)メソッド
25.13 HTTPSPropertiesクラスの定数,コンストラクタおよびメソッドの仕様と注意事項
PROPERTY_HTTPS_PROPERTIES定数
HTTPSProperties()コンストラクタ
HTTPSProperties(HostnameVerifier hv)コンストラクタ
HTTPSProperties(HostnameVerifier hv, SSLContext c)コンストラクタ
getHostnameVerifier()メソッド
getSSLContext()メソッド
25.14 MultivaluedMapImplクラスのコンストラクタおよびメソッド仕様と注意事項
25.15 使用できるJavaの型とMIMEメディアタイプの組み合わせ
25.15.1 HTTPリクエストのエンティティに使用できるJavaの型とMIMEメディアタイプの組み合わせ
25.15.2 HTTPレスポンスのエンティティに使用できるJavaの型とMIMEメディアタイプの組み合わせ
25.16 RESTful Webサービス用クライアントAPIのスレッドセーフ性
第4編 拡張機能
26. WSDLインポート機能
26.1 WSDLインポート機能とは
26.2 インポートできるWSDL定義
26.3 wsdl:import要素の書式
27. カタログ機能
27.1 カタログ機能とは
27.2 カタログ機能の利用(Webサービスクライアントの開発時)
27.3 カタログ機能の利用(Webサービスクライアントの実行時)
27.4 カタログ機能の性能
27.5 カタログ機能利用時の注意事項
27.6 カタログファイル
27.6.1 カタログファイルの構文
27.6.2 カタログファイルの配置
27.6.3 カタログファイルの記述例
28. 添付ファイル機能(wsi:swaRef形式)
28.1 添付ファイル機能とは(wsi:swaRef形式)
28.2 添付ファイルのJavaインタフェース(wsi:swaRef形式)
28.3 添付ファイルのWSDL(wsi:swaRef形式)
28.3.1 添付ファイル使用時のWSDLの記述(wsi:swaRef形式)
28.3.2 添付ファイルのJava型とWSDLのマッピング(wsi:swaRef形式)
28.3.3 WSDLから添付ファイルのJava型へのマッピング(wsi:swaRef形式)
28.4 添付ファイル付きSOAPメッセージ(wsi:swaRef形式)
28.4.1 添付ファイルからSOAPメッセージへのマッピング(wsi:swaRef形式)
28.4.2 添付ファイルからSOAPメッセージへのマッピングの注意事項(wsi:swaRef形式)
28.4.3 SOAPメッセージから添付ファイルへのマッピング(wsi:swaRef形式)
28.5 添付ファイルのJavaインスタンスの生成と取得(wsi:swaRef形式)
28.5.1 添付ファイルのインスタンスを生成する方法(wsi:swaRef形式)
28.5.2 添付ファイルデータを取得する方法(wsi:swaRef形式)
28.6 MIME Multipart/Related構造のSOAPメッセージの受信
29. SEIを起点とした開発の例(wsi:swaRef形式の添付ファイル使用時)
29.1 開発例の構成(SEI起点・wsi:swaRef形式の添付ファイル)
29.2 開発例の流れ(SEI起点・wsi:swaRef形式の添付ファイル)
29.3 Webサービスの開発例(SEI起点・wsi:swaRef形式の添付ファイル)
29.3.1 Webサービス実装クラスを作成する
29.3.2 Webサービス実装クラスをコンパイルする
29.3.3 web.xmlを作成する
29.3.4 application.xmlを作成する
29.3.5 EARファイルを作成する
29.4 デプロイと開始の例(SEI起点・wsi:swaRef形式の添付ファイル)
29.4.1 EARファイルをデプロイする
29.4.2 Webサービスを開始する
29.5 Webサービスクライアントの開発例(SEI起点・wsi:swaRef形式の添付ファイル)
29.5.1 サービスクラスを生成する
29.5.2 Webサービスクライアントの実装クラスを作成する
29.5.3 Webサービスクライアントの実装クラスをコンパイルする
29.6 Webサービスの実行例(SEI起点・wsi:swaRef形式の添付ファイル)
29.6.1 Javaアプリケーション用オプション定義ファイルを作成する
29.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
29.6.3 Webサービスクライアントを実行する
30. 添付ファイル機能(MTOM/XOP)
30.1 添付ファイル機能とは(MTOM/XOP)
30.2 添付ファイルのJavaインタフェース(MTOM/XOP)
30.3 添付ファイルのWSDL(MTOM/XOP)
30.3.1 non-wrapperスタイルでのMTOM/XOP仕様形式の添付ファイル(MTOM/XOP)
30.4 JAX-WSエンジンの動作
30.4.1 Webサービス側JAX-WSエンジンの動作
30.4.2 Webサービスクライアント側JAX-WSエンジンの動作
30.5 MTOM/XOP仕様形式の添付ファイルのSOAPメッセージ
30.5.1 添付ファイルからSOAPメッセージへのマッピング(MTOM/XOP)
30.5.2 添付ファイルからSOAPメッセージへのマッピングの注意事項(MTOM/XOP)
30.5.3 SOAPメッセージから添付ファイルへのマッピング(MTOM/XOP)
30.6 注意事項
30.7 添付ファイルで使用できるJava型と送受信できるデータ(MTOM/XOP形式)
30.7.1 送信するデータごとのJavaオブジェクトの生成方法
30.7.2 受信したデータの取得方法
30.8 MIME Multipart/Related構造のSOAPメッセージの受信
31. SEIを起点とした開発の例(MTOM/XOP仕様形式の添付ファイル使用時)
31.1 開発例の構成(SEI起点・MTOM/XOP仕様形式の添付ファイル)
31.2 開発例の流れ(SEI起点・MTOM/XOP仕様形式の添付ファイル)
31.3 Webサービスの開発例(SEI起点・MTOM/XOP仕様形式の添付ファイル)
31.3.1 Webサービス実装クラスを作成する
31.3.2 Webサービス実装クラスをコンパイルする
31.3.3 web.xmlを作成する
31.3.4 application.xmlを作成する
31.3.5 EARファイルを作成する
31.4 デプロイと開始の例(SEI起点・MTOM/XOP仕様形式の添付ファイル)
31.4.1 EARファイルをデプロイする
31.4.2 Webサービスを開始する
31.5 Webサービスクライアントの開発例(SEI起点・MTOM/XOP仕様形式の添付ファイル)
31.5.1 サービスクラスを生成する
31.5.2 Webサービスクライアントの実装クラスを作成する
31.5.3 Webサービスクライアントの実装クラスをコンパイルする
31.6 Webサービスの実行例(SEI起点・MTOM/XOP仕様形式の添付ファイル)
31.6.1 Javaアプリケーション用オプション定義ファイルを作成する
31.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
31.6.3 Webサービスクライアントを実行する
32. ストリーミング
32.1 ストリーミングとは
32.2 ストリーミングの使用方法
32.2.1 Webサービス側
32.2.2 Webサービスクライアント側
32.2.3 parseEagerlyによる変化
32.2.4 ストリーミングされた添付ファイルの操作
32.3 一時ファイル(ストリーミング)
32.3.1 命名規則
32.3.2 出力と削除
32.3.3 見積もり方法
33. SEIを起点とした開発の例(ストリーミング使用時)
33.1 開発例の構成(SEI起点・ストリーミング)
33.2 開発例の流れ(SEI起点・ストリーミング)
33.3 Webサービスの開発例(SEI起点・ストリーミング)
33.3.1 Webサービス実装クラスを作成する
33.3.2 Webサービス実装クラスをコンパイルする
33.3.3 web.xmlを作成する
33.3.4 application.xmlを作成する
33.3.5 EARファイルを作成する
33.4 デプロイと開始の例(SEI起点・ストリーミング)
33.4.1 EARファイルをデプロイする
33.4.2 Webサービスを開始する
33.5 Webサービスクライアントの開発例(SEI起点・ストリーミング)
33.5.1 サービスクラスを生成する
33.5.2 Webサービスクライアントの実装クラスを作成する
33.5.3 Webサービスクライアントの実装クラスをコンパイルする
33.6 Webサービスの実行例(SEI起点・ストリーミング)
33.6.1 Javaアプリケーション用オプション定義ファイルを作成する
33.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
33.6.3 Webサービスクライアントを実行する
34. WS-RM 1.2機能
34.1 WS-RM 1.2機能とは
34.2 WS-RM 1.2機能を使用したメッセージの流れ
34.3 WS-RM 1.2機能の送達保証
34.4 WS-RM Policyの追加方法
35. WSDLを起点とした開発の例(WS-RM 1.2機能使用時)
35.1 開発例の構成(WSDL起点・WS-RM 1.2)
35.2 開発例の流れ(WSDL起点・WS-RM 1.2)
35.3 Webサービスの開発例(WSDL起点・WS-RM 1.2)
35.3.1 WSDLファイルを作成する
35.3.2 WSDLファイルにWS-RM Policyを追加する
35.3.3 SEIを生成する
35.3.4 Webサービス実装クラスを作成する
35.3.5 Webサービス実装クラスをコンパイルする
35.3.6 web.xmlを作成する
35.3.7 application.xmlを作成する
35.3.8 EARファイルを作成する
35.4 デプロイと開始の例(WSDL起点・WS-RM 1.2)
35.4.1 EARファイルをデプロイする
35.4.2 Webサービスを開始する
35.5 Webサービスクライアントの開発例(WSDL起点・WS-RM 1.2)
35.5.1 サービスクラスを生成する
35.5.2 Webサービスクライアントの実装クラスを作成する
35.5.3 Webサービスクライアントの実装クラスにシーケンス終了処理を追加する
35.5.4 Webサービスクライアントの実装クラスをコンパイルする
35.6 Webサービスの実行例(WSDL起点・WS-RM 1.2)
35.6.1 Javaアプリケーション用オプション定義ファイルを作成する
35.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
35.6.3 Webサービスクライアントを実行する
36. ハンドラフレームワーク
36.1 ハンドラフレームワークとは
36.2 Webサービスセキュリティ機能を使用する場合の注意事項
36.3 EJBのWebサービスに適用する場合の注意事項
36.4 ハンドラの型
36.5 ハンドラチェインの編成と実行順序
36.5.1 handleMessageメソッドの処理
36.5.2 handleFaultメソッドの処理
36.5.3 closeメソッドの処理
36.6 ハンドラの初期化と破棄
36.7 SOAPヘッダが含まれる場合のハンドラの動作と設定
36.7.1 SOAPヘッダが含まれる場合のハンドラの動作(Webサービス側)
36.7.2 SOAPヘッダが含まれる場合のハンドラの動作(Webサービスクライアント側)
36.7.3 処理できるSOAPヘッダの設定方法
36.8 ハンドラの配置
36.9 ハンドラチェインの設定
36.9.1 Webサービス側のハンドラチェインの設定
36.9.2 Webサービスクライアント側のハンドラチェインの設定
37. アドレッシング機能
37.1 アドレッシング機能とは
37.1.1 同期通信
37.1.2 非同期通信
37.2 WSDLの拡張要素と拡張属性
37.2.1 WSDLの拡張要素
37.2.2 WSDLの拡張属性
37.3 アドレッシング機能で使用するアノテーションの注意事項
37.4 フォルトメッセージ
37.4.1 サポートしていないサブサブコード
37.4.2 フォルトメッセージの注意事項
37.5 Webサービス側のJAX-WSエンジンの動作(アドレッシング機能使用時)
37.5.1 リクエストメッセージ受信時の動作
37.5.2 レスポンスメッセージ
37.5.3 wsaw:Anonymous要素指定時の動作
37.5.4 Addressingアノテーション指定時の動作
37.5.5 Actionアノテーション指定時の動作
37.5.6 wsa:Action要素指定時の動作
37.5.7 wsa:MessageID要素を指定していない場合の動作
37.6 Webサービスクライアント側のJAX-WSエンジンの動作(アドレッシング機能使用時)
37.6.1 メッセージ送受信時の動作
37.6.2 AddressingFeatureクラスと匿名URI
37.6.3 wsaw:Action属性およびwsam:Action属性の注意事項
37.6.4 wsa:Action要素の注意事項
37.6.5 SEIの取得に関する注意事項
38. SEIを起点とした開発の例(アドレッシング機能使用時)
38.1 開発例の構成(SEI起点・アドレッシング)
38.2 開発例の流れ(SEI起点・アドレッシング)
38.3 Webサービスの開発例(SEI起点・アドレッシング)
38.3.1 Webサービス実装クラスを作成する
38.3.2 Webサービス実装クラスをコンパイルする
38.3.3 web.xmlを作成する
38.3.4 application.xmlを作成する
38.3.5 EARファイルを作成する
38.4 デプロイと開始の例(SEI起点・アドレッシング)
38.4.1 EARファイルをデプロイする
38.4.2 Webサービスを開始する
38.5 Webサービスクライアントの開発例(SEI起点・アドレッシング)
38.5.1 サービスクラスを生成する
38.5.2 Webサービスクライアントの実装クラスを作成する
38.5.3 Webサービスクライアントの実装クラスをコンパイルする
38.6 Webサービスの実行例(SEI起点・アドレッシング)
38.6.1 Javaアプリケーション用オプション定義ファイルを作成する
38.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する
38.6.3 Webサービスクライアントを実行する
第5編 トラブルシュート
39. 障害対策
39.1 障害の種類と対策
39.1.1 プログラムの実行中に異常終了する場合
39.1.2 プログラムが意図したとおりに動作しない場合
39.1.3 期待した性能が出ない場合
39.2 障害発生時に取得する資料
39.3 ログ
39.3.1 ログの種類
39.3.2 ログファイルのローテーション
39.3.3 ログの出力先
39.3.4 ログの重要度と出力条件
39.3.5 ログのフォーマット
39.3.6 ログの設定方法
39.3.7 ログの見積もり
39.4 性能解析トレース(PRF)
39.4.1 性能解析トレースの取得レベル
39.4.2 性能解析トレースのトレース出力情報
39.4.3 性能解析トレースによる性能解析方法
付録
付録A 旧バージョンからの移行
付録A.1 バージョンアップインストール
付録A.2 旧バージョンで作成したWSDLの互換性
付録B POJOのWebサービスからEJBのWebサービスへの移行
付録C JAX-WSエンジンのメモリ使用量の算出
付録C.1 アプリケーション起動時のメモリ使用量
付録C.2 1リクエスト当たりのメモリ使用量
付録C.3 添付ファイル使用時の1リクエスト当たりのメモリ使用量
付録C.4 単位時間当たりのメモリ使用量の算出
付録D 用語解説
索引