Cosminexus V11 アプリケーションサーバ SOAPアプリケーション開発の手引
目次
用語
索引
前へ
2 / 388
次へ
表紙
前書き
変更内容
はじめに
第1編 概要
1. Application Serverで実現するSOAPアプリケーションの概要
1.1 マニュアルの説明,プレフィクスと名前空間URI
1.2 Webサービスの概要
1.3 SOAPアプリケーションの概要
1.4 SOAPアプリケーションを支える技術
1.4.1 SOAPの概要
1.4.2 WSDLの概要
1.4.3 UDDIの概要
1.5 SOAPアプリケーション開発支援機能の特長
1.5.1 開発支援コマンドを使用して効率良く開発できる
1.5.2 既存のJavaプログラムを有効活用できる
1.6 JAX-WS仕様に対応したWebサービスを開発する場合の注意事項
2. SOAPアプリケーションを開発する前に
2.1 SOAPアプリケーションの形態の選択
2.1.1 RPC形態のSOAPアプリケーション
2.1.2 メッセージング形態のSOAPアプリケーション
2.2 SOAPアプリケーションの前提環境
2.2.1 開発時および実行時の前提環境
2.2.2 .NET Frameworkを使用する場合の前提環境
2.2.3 コネクションプーリング利用時の注意事項
2.3 SOAPアプリケーション開発支援機能およびSOAP通信基盤の設定
2.3.1 J2EEサーバ用オプション定義ファイルの定義内容
2.3.2 直接編集する場合
2.3.3 Management Serverの運用管理ポータルを利用する場合
2.3.4 Smart Composer機能を利用する場合
第2編 開発と実行
3. RPC形態のSOAPアプリケーションの開発
3.1 RPC形態のSOAPアプリケーション開発の流れ
3.1.1 SOAPアプリケーションを新規に開発する場合
3.1.2 既存のJavaクラスを利用してSOAPアプリケーションを開発する場合
3.1.3 既存のEJBを利用してSOAPアプリケーションを開発する場合
3.1.4 添付ファイルを使用してSOAPアプリケーションを開発する場合
3.1.5 DIIを使用してSOAPアプリケーションを開発する場合
3.1.6 .NET Frameworkを使用してSOAPアプリケーションのクライアントを開発する場合
3.2 Javaインタフェースの作成とJavaクラスの利用
3.2.1 Javaインタフェース作成の概要
3.2.2 リモートインタフェース作成時の規則
3.2.3 リモートインタフェースで使用できる型とクラス
3.2.4 ユーザ定義のデータ型クラス作成時の規則
3.2.5 HolderクラスによるINOUTパラメタの格納
3.2.6 リモートインタフェースおよびユーザ定義のデータ型クラスでの配列の使用
3.2.7 既存のJavaクラスおよびEJBの利用
3.3 WSDLの生成と定義
3.3.1 サービスロケーションの指定
3.3.2 WSDLのスタイルの指定
3.3.3 生成されるWSDLの例
3.3.4 WSDLの構文
3.3.5 WSDL定義で使用できる文字
3.3.6 XML Schemaのインポート
3.3.7 XML Schemaのインクルード
3.3.8 WSDLのインポート
3.3.9 WSDLの生成時および定義時の注意事項
3.4 document/literalに対応したSOAPアプリケーションの開発
3.4.1 document/literal使用時のWSDLの生成
3.4.2 document/literal使用時のソースコードの生成
3.4.3 document/literal使用時のサービスデプロイ定義の生成
3.4.4 document/literal使用時のSOAPメッセージの送信
3.5 RPC形態の添付ファイルの使用
3.5.1 添付できるファイル
3.5.2 添付ファイルに使用できるJava型
3.5.3 添付ファイルのJavaインスタンス生成とデータ取得
3.5.4 添付ファイル使用時のWSDLの生成
3.5.5 添付ファイル使用時のソースコードの生成
3.6 例外処理の実装
3.6.1 Java例外の種類
3.6.2 Java例外からWSDLへのマッピング
3.6.3 WSDLからJava例外へのマッピング
3.6.4 Java例外からSOAP Faultへのマッピング
3.6.5 SOAP FaultからJava例外へのマッピング
3.7 クライアントの開発
3.7.1 スタブの使用
3.7.2 ManagementクラスとClientIDクラスの使用
3.8 DIIを使用したクライアントの開発
3.8.1 DIIの使用時にWSDLに必要な情報
3.8.2 DIIのクライアント側の処理を実装する
3.8.3 DIIでのユーザ定義のデータ型クラスの使用
3.8.4 WSDLのキャッシュ
3.8.5 WSDL解析とJavaソース生成のタイムアウト
3.9 アーカイブ(WARファイル)の作成
3.9.1 サービスデプロイ定義ファイル(server-config.xml)の格納
3.9.2 DD(web.xml)の記述
3.9.3 アーカイブ(WARファイル)作成時の注意事項
3.10 .NET Frameworkに対応したSOAPアプリケーションの開発
3.10.1 .NET Framework使用時の前提条件
3.10.2 .NET Framework使用時のWSDLの生成
3.10.3 .NET Framework使用時のソースコードの生成
3.10.4 .NET Framework使用時のサービスデプロイ定義の生成
3.10.5 .NET Framework使用時の注意事項
3.11 RPC形態のSOAPアプリケーション開発時の注意事項
3.11.1 SOAPアプリケーションのサービス名に関する注意
3.11.2 WSDL定義とHolderクラスの対応について
3.11.3 anyType型のデータ型の送信に関する注意
3.11.4 GETプロトコルを使用したWSDLファイルの取得に関する注意
3.11.5 LITERAL指定時のSOAPメッセージに関する注意
3.11.6 ENCODED指定時のSOAPメッセージに関する注意
3.11.7 リテラルエンコーディングと多重参照オプション(do_multirefs)に関する注意
3.11.8 DeployScopeを「Session」にしたSOAPアプリケーションに関する注意
3.11.9 クッキーについて
3.11.10 クッキーの有効期限について
3.11.11 WSDLで定義されたpartアクセサ要素が存在しないSOAPメッセージに関する注意
3.12 EJB利用時の注意事項
3.12.1 JNDI名前空間の指定について
3.12.2 EJBからSOAPサービスを呼び出す場合の注意事項
3.12.3 EJBをSOAPサービスのエンドポイントとして利用する場合の注意事項
3.12.4 ラウンドロビンポリシーによるCORBAネーミングサービスの検索機能を使用する場合の注意事項
3.12.5 EJBHomeオブジェクトリファレンスの別名付与(ユーザ指定名前空間機能)を使用する場合の注意事項
3.12.6 DeployScopeに関する注意事項
4. RPC形態のSOAPアプリケーションの開発例
4.1 新規に開発する場合
4.1.1 SOAPアプリケーションを設計する
4.1.2 Javaインタフェースを作成する
4.1.3 WSDLを生成する
4.1.4 スケルトンおよびサービスデプロイ定義を生成する
4.1.5 サーバ側の処理を実装する
4.1.6 アーカイブ(WARファイル)を作成する
4.1.7 スタブを生成する
4.1.8 クライアント側の処理を実装する
4.2 既存のJavaクラスを利用して開発する場合
4.2.1 SOAPアプリケーションを設計する
4.2.2 サービスデプロイ定義を生成する
4.2.3 アーカイブ(WARファイル)を作成する
4.2.4 WSDLを生成する
4.2.5 スタブを生成する
4.2.6 クライアント側の処理を実装する
4.3 既存のEJBを利用して開発する場合
4.3.1 SOAPアプリケーションを設計する
4.3.2 EJB呼び出し環境を設定する
4.3.3 サービスデプロイ定義を生成する
4.3.4 アーカイブ(WARファイル)を作成する
4.3.5 WSDLを生成する
4.3.6 スタブを生成する
4.3.7 クライアント側の処理を実装する
4.4 添付ファイルを使用して開発する場合
4.4.1 SOAPアプリケーションを設計する
4.4.2 Javaインタフェースを作成する
4.4.3 WSDLを生成する
4.4.4 スケルトンおよびサービスデプロイ定義を生成する
4.4.5 サーバ側の処理を実装する
4.4.6 アーカイブ(WARファイル)を作成する
4.4.7 スタブを生成する
4.4.8 クライアント側の処理を実装する
4.5 DIIを使用して開発する場合
4.5.1 WSDLをインポートしない場合
4.5.2 WSDLをインポートする場合
4.5.3 INOUTパラメタを使用する場合
4.5.4 ユーザ定義のデータ型クラスを使用する場合
4.5.5 配列を使用する場合
5. メッセージング形態のSOAPアプリケーションの開発
5.1 メッセージング形態のSOAPアプリケーション開発の流れ
5.2 メッセージング形態での添付ファイルの使用
5.2.1 添付できるファイル
5.2.2 添付ファイル付きSOAPメッセージの実装
5.3 XML Processorを使用したSOAPメッセージの送受信
5.3.1 XML Processorを使用した送信メッセージの生成
5.3.2 XML Processorを使用した受信メッセージの解析
5.4 SAAJを使用したSOAPアプリケーション開発時の注意事項
5.4.1 SOAPアプリケーションのサービス名に関する注意
5.4.2 複数個のAttachmentPartオブジェクトを追加する場合の注意
5.4.3 setPropertyメソッドで指定するプロパティのデフォルト値
5.4.4 setPropertyメソッドで指定するプロパティ値に関する注意
5.4.5 MimeHeaderオブジェクトで指定できる文字コードに関する注意
5.4.6 各メソッドで発生する例外
5.4.7 SOAPPartクラスのsetContentメソッドの引数に関する注意
5.4.8 AttachmentPartオブジェクトのContent-Typeヘッダがtext/plainの場合の上限サイズ
5.4.9 クッキーについて
5.4.10 クッキーの有効期限について
5.4.11 マルチスレッドでの動作について
5.4.12 受信電文のSOAPヘッダおよびSOAPボディの子孫ノードにテキストノードが存在する場合の注意
5.4.13 名前空間に属さない要素を追加する場合の注意
5.4.14 SOAPメッセージの要素の名前空間プレフィクスに関する注意
5.4.15 setPropertyメソッドで指定したエンコード方式に関する注意
5.4.16 SOAPPartクラスから取得したMimeHeaderに関する注意
5.4.17 MIMEヘッダに関する注意
5.4.18 SOAPFaultクラスのsetFaultCodeメソッドの引数に関する注意
5.4.19 AttachmentPartクラスのsetContentメソッドの引数に関する注意
5.4.20 名前空間プレフィクスを引数として渡すメソッドを発行した場合の注意
5.4.21 引数にnullオブジェクトを指定した場合の注意
5.4.22 CHARACTER_SET_ENCODINGプロパティの値の取得に関する注意
5.4.23 SOAPMessageクラスのsaveChangesメソッドおよびsaveRequiredメソッドの発行に関する注意
5.4.24 SOAPMessageクラスのwriteToメソッドの発行に関する注意
5.4.25 NodeクラスのdetachNodeメソッドの発行に関する注意
5.4.26 添付ファイルの削除に関する注意
5.4.27 引数の名前空間URIまたは名前空間プレフィクスの指定に関する注意
5.4.28 SOAPElementクラスのaddChildElementメソッドの指定に関する注意
5.4.29 SOAPHeaderクラスのexamineHeaderElementsメソッドおよびextractHeaderElementsメソッドの実行に関する注意
5.4.30 MessageFactoryクラスのcreateMessageメソッドの引数に関する注意
5.4.31 SOAPElementクラスのgetVisibleNamespacePrefixesメソッドの指定に関する注意
5.4.32 添付オブジェクトに対応するContent-Typeヘッダの設定に関する注意
5.4.33 MIMEヘッダまたはSOAPヘッダを取得するメソッドに関する注意
5.4.34 送信メッセージのHTTPヘッダについて
5.4.35 Managementクラスの使用に関する注意事項
5.4.36 toStringメソッドの使用に関する注意事項
6. メッセージング形態のSOAPアプリケーションの開発例
6.1 SOAPアプリケーションを設計する
6.2 サーバ側の処理を実装する
6.3 サービスデプロイ定義を生成する
6.4 アーカイブ(WARファイル)を作成する
6.5 クライアント側の処理を実装する
7. SOAPアプリケーションの実行と運用
7.1 SOAPアプリケーションの開始と停止
7.2 SOAPサービスの表示
7.3 コマンドラインを利用したSOAPアプリケーションの実行
7.3.1 コマンドライン利用時の設定
7.3.2 コマンドラインの実行
7.3.3 コマンドライン利用時の注意事項
7.4 コネクションプーリング
7.4.1 コネクションプーリングの概要
7.4.2 コネクションプーリングに関する設定
7.4.3 コネクションが維持された状態でのHTTP Serverの終了方法
7.4.4 コネクションの再利用条件
7.5 SOAPアプリケーション運用時の注意事項
7.5.1 他社製品と接続する場合の多重配列送受信形式の確認
7.5.2 SOAP Faultに関する注意事項
7.5.3 不正リクエストメッセージ受信時の動作について
7.5.4 エラーページ委任機能を使用する場合の注意事項
7.5.5 サーブレットのデフォルトマッピングについて
7.5.6 リロード機能について
7.5.7 異常発生時のアプリケーションログ出力機能について
7.5.8 DD(web.xml)ファイルの記述内容について
7.5.9 旧バージョンの環境の移行について
7.5.10 受信時サイズチェック機能について
7.5.11 SOAPメッセージのエンコードに関する注意
8. UDDIクライアントの開発と実行
8.1 UDDIクライアントライブラリとは
8.2 UDDIクライアントの開発手順
8.2.1 開発手順の詳細
8.3 UDDIクライアント実行時の環境設定
8.3.1 環境設定の詳細
8.4 UDDIクライアントの実行
8.4.1 実行手順の詳細
8.5 UDDIインタフェースおよびクラス
8.5.1 JAXRのパッケージ
8.5.2 JAXR APIの一覧
8.6 UDDIクライアント開発,実行時の注意事項
8.6.1 APIリファレンスについて
8.6.2 Associationでbooleanを返すメソッドについて
8.6.3 findCallerAssociationsメソッドのfindQualifiersパラメタについて
8.6.4 findServiceBindingsメソッドのclassificationsパラメタについて
8.6.5 Collectionを返すメソッドについて
8.6.6 SOAPアプリケーションを運用する場合の注意
第3編 リファレンス
9. 開発支援コマンド
9.1 Java2WSDLコマンド(WSDLの生成)
9.2 WSDL2Javaコマンド(ソースコードの生成)
9.3 Java2WSDDコマンド(サービスデプロイ定義の生成)
9.4 開発支援コマンドに関する注意事項
9.4.1 バッチファイル実行時の注意
9.4.2 環境変数CLASSPATHについて
9.4.3 開発支援コマンドの最大入力文字数について
9.4.4 Windows使用時の注意
9.4.5 トレースとコンソール画面の出力内容に関する注意
9.4.6 INFORMATIONメッセージおよびWARNメッセージの出力について
10. 動作定義ファイルおよび実行時オプションの設定項目
10.1 動作定義ファイルの記述規則
10.2 サーバ定義ファイルの設定
10.3 クライアント定義ファイルの設定
10.4 共通定義ファイルの設定
10.5 動作定義ファイル設定時の注意事項
10.6 実行時オプションの設定項目
10.6.1 多重参照オプション
10.6.2 データ型定義オプション
10.6.3 HTTPセッションに関するオプション
10.6.4 SOAPヘッダの名前修飾に関するオプション
10.6.5 SOAPAction値の扱いに関するオプション
10.6.6 プロキシオプション
10.6.7 ソケットタイムアウト値オプション
10.6.8 送受信データのサイズチェックオプション
10.6.9 SOAPメッセージのコードに関するオプション
11. SOAPアプリケーションで扱うデータ型
11.1 WSDL定義とソースコードのデータ型の関係
11.2 WSDLからソースコードを生成する場合のデータ型の関係
11.2.1 メソッド引数の入出力種別が「IN」,およびメソッド戻り値の場合
11.2.2 メソッド引数の入出力種別が「OUT」および「INOUT」の場合
11.3 JavaクラスからWSDLを生成する場合のデータ型の関係
11.4 データ型についての注意事項
12. 標準仕様との対応
12.1 SOAP 1.1との対応
12.2 WSDL 1.1との対応
12.2.1 WSDL 1.1仕様のサポート範囲
12.2.2 Javaの基本データ型のサポート範囲
12.2.3 XML Schemaのデータ型のサポート範囲
12.2.4 XML Schemaのサポート範囲
12.2.5 soapencoding型のサポート範囲
12.2.6 DII使用時のサポート範囲
12.2.7 .NET Framework使用時のサポート範囲
12.2.8 XML Schema記述時の注意事項
12.3 SAAJ 1.2との対応
12.4 JAXR 1.0との対応
12.5 WS-I Attachments Profile - Version 1.0との対応
13. SOAP通信基盤が提供するAPI
13.1 インタフェースおよびクラスの一覧
13.2 C4Faultクラス(SOAP Fault情報の保持)
C4Fault
getFaultActor
getFaultCode
getFaultDetails
getFaultString
13.3 C4Propertyクラス(実行時オプションの設定)
getInstance
getProperty
setProperty
13.4 C4QNameクラス(名前空間の保持)
C4QName
equals
getLocalPart
getNamespaceURI
hashCode
toString
13.5 C4Sessionクラス(セッションの管理)
invalidate
13.6 Callインタフェース(サービス呼び出しの情報取得)
getParameterClassByName
13.7 Callインタフェース(サービスの呼び出し)
getOutputParams
getOutputValues
invoke
removeProperty
13.8 ClientIDクラス(クライアント識別子)
13.9 JAXRPCExceptionクラス(JAX-RPCに関する例外)
getLinkedCause
13.10 Managementクラス(クライアントの開始,終了)
initializeClient
connectClientIDtoCurrentThread
disconnectClientIDtoCurrentThread
finalizeClient
13.11 ReqResListenerインタフェース(SAAJを利用したSOAPアプリケーションの実装)
onMessage
13.12 Serviceインタフェース(サービスインタフェース)
createCall
13.13 ServiceExceptionクラス(サービスに関する例外)
13.14 ServiceFactoryクラス(サービスのファクトリクラス)
createService
newInstance
第4編 トラブルシュート
14. 障害対策
14.1 障害対策の流れ
14.2 障害発生時に取得する資料
14.3 問題発生個所の切り分け
14.4 トレースファイル
14.4.1 トレースファイルに出力される内容
14.4.2 トレースファイルの出力先
14.4.3 トレースファイル出力の重要度
14.4.4 トレースファイルの見積もり方法
14.5 アプリケーションログ
14.5.1 アプリケーションログに出力される内容
14.5.2 アプリケーションログ出力の重要度
14.6 異常発生時のアプリケーションログの出力
14.6.1 アプリケーションログに出力される内容
14.6.2 異常発生時のアプリケーションログの出力方法
14.7 性能解析トレース
14.7.1 トレース取得ポイント
14.7.2 性能解析トレースの利用方法
14.7.3 性能解析トレース使用時の注意事項
14.8 FAQ
14.8.1 アプリケーションログが出力されません。どのように対処すればよいですか?
14.8.2 クライアントからSOAPメッセージが正しく出力されません。どのように対処すればよいですか?
14.8.3 SOAPメッセージがサーバに届きません。原因として何が考えられますか?
14.8.4 SOAPサービスでメッセージを処理できません。どのように対処すればよいですか?
14.8.5 サーバから返信用SOAPメッセージが正しく出力されていません。原因として何が考えられますか?
14.8.6 クライアントへ返信用SOAPメッセージが届いていません。どのように対処すればよいですか?
14.8.7 クライアントで返信用メッセージを処理できません。どのように対処すればよいですか?
14.8.8 Application Serverで提供しているSOAPクライアント以外のクライアントから通信できません。原因として何が考えられますか?
14.8.9 プロキシサーバを越えて外部のSOAPサービスを利用できますか?
14.8.10 他社製品と接続するときにHTTPヘッダ中のSOAPAction値の設定が必要なケースがあります。Application ServerのSOAPクライアントでSOAPAction値は設定できますか?
14.8.11 SOAPサービスを呼び出す時にユーザ認証が必要な場合,どのようにユーザIDやパスワードを設定すればよいですか?
14.8.12 SOAPメッセージで要素の省略を含んだ配列を使用するにはどのようにしたらよいですか?
14.8.13 SOAPクライアントからSSLを使用してSOAPサービスに接続するにはどのようにすればよいですか?
14.8.14 性能解析トレースが出力されません。どのように対処すればよいですか?
付録
付録A SOAPアプリケーションの移行
付録A.1 互換モードで動作するSOAPアプリケーションを移行する場合の注意事項
付録B 添付ファイル使用時に作成される退避ファイル
付録B.1 退避ファイルの詳細
付録B.2 退避ファイルの生成と削除
付録B.3 退避ファイルのディスク使用量の見積もり方法
付録C WS-I Basic Profileに適合したシステムを構築するための注意事項
付録C.1 WS-I Basic Profileについて
付録C.2 新しくSOAPアプリケーションを開発する場合
付録C.3 WS-I Basic Profile 1.0aに対応するための注意事項
付録D SOAP通信基盤が返すHTTPステータスコード
付録E 用語解説
ページの先頭へ