PUSHモデルでは、クライアントシステムの送信アプリケーションがSOAPメッセージを送信し、サーバシステム(受信サーバ)の受信アプリケーションがそのSOAPメッセージを受け取って処理を行います。
以下にアプリケーション間で必要な合意事項を示します。
PUSH送信側(クライアントシステム) | PUSH受信側(サーバシステム) |
---|---|
メッセージ種別ID | メッセージ種別ID |
受信サーバID | 受信サーバID |
送信クライアントID | 送信クライアントID |
送信クライアントの鍵ペア | 送信クライアントから入手した公開鍵 |
受信サーバから入手した公開鍵 | 受信サーバの鍵ペア |
PUSHモデルの受信サーバを登録したURL | PUSHモデルの受信サーバを登録したURL |
それぞれのIDは事前に合意を取り、Webサービス情報の登録時に指定してください。また、否認防止(署名オプション)機能を使用する場合は、SOAP電子署名検証に用いる鍵ペアをそれぞれ用意し、送信クライアント、および受信サーバの公開鍵を事前に交換しておく必要があります。
受信サーバ、送信クライアントの環境に、それぞれ別に送信アプリケーション、受信アプリケーションを配置し、それぞれのアプリケーションのWebサービス情報を登録する必要があります。
以下に、否認防止(署名オプション)機能を使用する場合の手順を示します。
ここの例では、Interstage証明書環境を使用する場合のコマンドを記述しています。詳細については“11.6 証明書の管理”を参照してください。
旧バージョンの証明書環境を使用する場合は“B.2.2 旧証明書環境またはクライアントパッケージの証明書環境の構築”を参照してください。
受信サーバの鍵ペアを用意します。鍵ペアはSOAP電子署名と同じです。
以下は受信サーバ側の鍵ペアを生成する際のコマンド実行例です。
scsmakeenv -n serverkey -f filename |
次に送信クライアントの公開鍵の準備を行います。否認防止機能を使用する場合は、送信クライアント側にも受信サーバの公開鍵が必要となるため、同時にそれぞれの公開鍵を交換します。
以下は送信クライアントから何らかの方法で入手した公開鍵ファイルを取り込むコマンド実行例です。
scsenter -n clientkey -f clientkeyfile -p password -e |
公開鍵を交換する場合は、必ず信頼性のある方法(手渡し、暗号化送信など)で交換を行ってください。ここで正しい公開鍵の交換ができていないと、否認の防止ができなくなる可能性があります。
受信アプリケーションのディプロイメントは、サーバシステム環境のWebサービス情報編集ツールを使用して行います。
Webサービス情報編集ツールの起動方法については、Interstage V9.1.0の“SOAPサービス ユーザーズガイド”の“GUIによるWebサービス情報の管理”を参照してください。
Webサービス情報編集ツールを起動すると、以下のような入力画面が表示されます。
Webサービス識別名
受信アプリケーションの識別名です。
受信アプリケーションのクラス名
受信アプリケーションのJavaクラス名をフルパッケージ名で指定します。
クラスファイルは環境変数CLASSPATHに設定したパスに配置します。
受信サーバID
送信クライアントと合意した受信サーバを表すIDを指定します。
受信サーバIDの記述形式はXMLの“NMTOKEN”に従い、かつファイル名、ディレクトリ名に使用可能な文字である必要があります。マシン名、ユーザ名とは無関係な名前でも構いません。
1つのサーバシステム内で使用する送達保証機能では、すべてのSOAPメッセージ、送り先で共通の受信サーバIDを指定してください。複数のサーブレット・コンテナが1つのサーバシステムで動作する場合も、共通の受信サーバIDとしてください。
メッセージ種別ID
送信クライアントと合意したメッセージの種別を表すIDを指定します。
メッセージ種別IDの記述形式はXMLの“NMTOKEN”に従い、かつファイル名、ディレクトリ名に使用可能な文字である必要があります。1つのサーバシステム内で一意の名前を付ける必要があります。
送信者ID(送信クライアントID)
送信クライアントと合意したPUSHモデルの送信クライアントのIDを指定します。
送信クライアントIDの記述形式はXMLの“NMTOKEN”に従い、かつファイル名、ディレクトリ名に使用可能な文字である必要があります。1つのメッセージ種別IDに対しては、一意のIDを付ける必要があります。
SOAP署名検証ID
デフォルトは“なし”です。
否認防止(署名の検証)を行う場合、送信クライアントの公開鍵の別名を指定します。公開鍵の別名は、“ (1)受信サーバで用いる鍵ペア、公開鍵の準備”で、送信クライアントから入手した公開鍵を格納する際に指定したものを選択します。
“追加”ボタン
同じメッセージ種別IDのPUSHモデルのSOAPメッセージを送信する、送信クライアントの設定を追加します。
受信サーバにアクセス制限をかける場合、1つのメッセージ種別に対しては、1つの送信クライアントのみを登録してください。アクセス制限に関しては、Interstage V9.1.0の“SOAPサービス ユーザーズガイド”の“送達保証機能の実装”の“送達保証機能のアクセス制限”を参照してください。
最後に“確認”ボタンを押すと、送達保証機能が有効となり、受信サーバが送達保証メッセージを受信可能な状態となります。
受信サーバID、送信クライアントID、メッセージ種別IDは、送達保証メッセージの格納用ディレクトリ名、およびファイル名として使用します。そのため、使用するOSで、ディレクトリ名、ファイル名として使用可能な文字を指定してください。ディレクトリ名、ファイル名として使用できない文字を指定した場合、送達保証機能の実行時にエラーとなります。
以下に、否認防止(署名オプション)機能を使用する場合の手順を示します。
ここの例では、クライアントパッケージの証明書環境を使用する場合のコマンドを記述しています。詳細については“B.2.2 旧証明書環境またはクライアントパッケージの証明書環境の構築”を参照してください。Interstage証明書環境を使用する場合については“11.6 証明書の管理”を参照してください。
送信クライアントの鍵ペアを用意します。鍵ペアはSOAP電子署名と同じです。
以下は送信クライアント側の鍵ペアを生成する際のコマンド実行例です。
soapSetSecurity -p password -alias clientkey |
次に、PUSHモデル受信サーバの公開鍵の準備を行います。否認防止機能を使用する際は、PUSHモデル受信サーバ側にも送信クライアントの公開鍵が必要となりますので、同時にそれぞれの公開鍵を交換します。
以下は送信クライアント側の公開鍵をファイルに出力するコマンド実行例です。
soapMngSecurity -export -alias clientkey -f clientkeyfile -p password |
このコマンドで出力したファイルを、何らかの方法で受信サーバに渡してください。
以下は受信サーバから何らかの方法で入手した公開鍵ファイルを取り込むコマンド実行例です。
soapMngSecurity -import -alias serverkey -f serverkeyfile -p password |
公開鍵の交換の際には、必ず信頼性のある方法(手渡し、暗号化送信など)で交換を行ってください。ここで正しい公開鍵の交換ができていないと、否認の防止ができなくなる可能性があります。
送信アプリケーションのディプロイメントは、クライアントシステム環境のWebサービス情報編集ツールを使用して行います。
[スタート]-[プログラム]-[Interstage]-[SOAPサービス]-[Webサービス情報編集ツール]を選択してWebサービス情報編集ツールを起動します。
Webサービス情報編集ツールを起動すると、以下のような入力画面が表示されます。
Webサービス識別名
ディプロイメントしたWebサービス情報を識別する名前です。
システムで一意の名前である必要があります。
送信クライアントID
受信サーバと合意した送信クライアントを表すIDを指定します。
送信クライアントIDの記述形式はXMLの“NMTOKEN”に従い、かつファイル名、ディレクトリ名に使用可能な文字である必要があります。マシン名、ユーザ名とは無関係な名前でも構いません。
1つのクライアントシステム内で、すべてのSOAPメッセージ、送り先で共通の送信クライアントIDを指定してください。複数のJavaアプリケーションを起動するなど、複数のJavaVMが1つのクライアント上で動作する場合も、共通の送信クライアントIDとしてください。
メッセージ種別ID
受信サーバと合意したメッセージの種別を表すIDを指定します。
メッセージ種別IDの記述形式はXMLの“NMTOKEN”に従い、かつファイル名、ディレクトリ名に使用可能な文字である必要があります。1つのクライアントシステムで一意の名前を付ける必要があります。
受信者ID(受信サーバID)
受信サーバと合意したPUSHモデルの受信サーバのIDを指定します。
受信サーバIDの記述形式はXMLの“NMTOKEN”に従い、かつファイル名、ディレクトリ名に使用可能な文字である必要があります。1つのメッセージ種別IDに対しては、一意のIDを付ける必要があります。
受信者サーバURL(受信サーバURL)
受信サーバが設定したURLを指定します。“ (2)受信アプリケーションのディプロイメント”で指定したWebサービス識別名に対応するURLを入力してください。
URLの決定方法の詳細については、Interstage V9.1.0の“SOAPサービス ユーザーズガイド”の“Webサービス識別名とURL”の“サーバシステムのディプロイメントで指定するWebサービス識別名とURL”を参照してください。
SOAP署名検証ID
デフォルトは“なし”です。
否認の防止(署名の検証)を行う場合、受信サーバの公開鍵の別名を指定します。公開鍵の別名は、“ (3)送信クライアントで用いる鍵ペア、公開鍵の準備”で、受信サーバから入手した公開鍵を格納する際に指定したものを選択します。
再送間隔、再送回数
SOAPメッセージの送信に失敗した場合、再送を行う間隔および回数を指定します。指定された再送回数内に送信が成功しなかった場合にはSOAPメッセージの送信タイムアウトになります。
“追加”ボタン
同じメッセージ種別IDのPUSHモデルのSOAPメッセージを受信する、受信サーバの設定を追加します。
受信サーバに対してアクセス制限をかける場合、1つのメッセージ種別IDに対しては、1つの送信クライアントのみを登録してください。アクセス制限に関しては、Interstage V9.1.0の“SOAPサービス ユーザーズガイド”の“送達保証機能の実装”の“送達保証機能のアクセス制限”を参照してください。
最後に“確認”ボタンを押すと、送達保証機能が有効となり、送信クライアントが送達保証メッセージを送信可能な状態となります。
Windowsの[スタート]メニューの表示はシステムにより多少異なることがあります。
受信サーバID、送信クライアントID、メッセージ種別IDは、送達保証メッセージの格納用ディレクトリ名、およびファイル名として使用します。そのため、使用するOSで、ディレクトリ名、ファイル名として使用可能な文字を指定してください。ディレクトリ名、ファイル名として使用できない文字を指定した場合、送達保証機能の実行時にエラーとなります。