(57)【要約】【課題】  モバイル機器等のリクエスタ１１において、リクエスト用ＳＯＡＰメッセージの処理時間を短縮する。【解決手段】  順番規定手段２６は、ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージ（親ＳＯＡＰメッセージ）をＳＯＡＰヘッダ２１及びＳＯＡＰボディ２２の区分に分割する。区分作成手段２７は、親ＳＯＡＰメッセージのＳＯＡＰボディ２２の区分及び親ＳＯＡＰメッセージのＳＯＡＰヘッダ２１の区分をその順番に作成する。送信手段２８は、区分作成手段２７の作成処理と並行して送信処理を行い、各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を割り当て、各子ＳＯＡＰメッセージを作成順番に従い前記プロバイダへ送信する。【選択図】      図６
2005301527.tif 000002
【特許請求の範囲】
【請求項１】
リクエスタ及びプロバイダが、インターネットを介してそれぞれＷＥＢサービスに係るリクエスト及びレスポンスをＳＯＡＰメッセージにより相手方へ発信するＷＥＢサービス・システムにおいて、
前記リクエスタから前記プロバイダへのＳＯＡＰメッセージを中継するＳＯＡＰメッセージ用中間処理装置を有し、
前記リクエスタは、
ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する順番規定手段、
前記規定順番に従い前記親ＳＯＡＰメッセージの各区分の内容を作成する区分作成手段、及び
前記区分作成手段の作成処理と並行して送信処理を行うものであって各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（以下、「子ＳＯＡＰメッセージ」という。）を割り当て、各子ＳＯＡＰメッセージを作成順番に従い前記プロバイダへ送信する送信手段、
を有し、
前記ＳＯＡＰメッセージ用中間処理装置が、
１個の親ＳＯＡＰメッセージに係る子ＳＯＡＰメッセージを前記リクエスタから受信する受信手段、
前記１個の親ＳＯＡＰメッセージに係る全部の子ＳＯＡＰメッセージを受信してからこれら子ＳＯＡＰメッセージに基づき親ＳＯＡＰメッセージを生成する親ＳＯＡＰメッセージ生成手段、及び
生成した親ＳＯＡＰメッセージを前記プロバイダへ送信する送信手段、
を有していることを特徴とするＷＥＢサービス・システム。
【請求項２】
リクエスタ及びプロバイダが、インターネットを介してそれぞれＷＥＢサービスに係るリクエスト及びレスポンスをＳＯＡＰメッセージにより相手方へ発信するＷＥＢサービス・システムにおいて、
前記プロバイダから前記リクエスタへのＳＯＡＰメッセージを中継するＳＯＡＰメッセージ用中間処理装置を有し、
前記ＳＯＡＰメッセージ用中間処理装置は、
ＷＥＢサービスに係る１個のレスポンスとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する順番規定手段、
各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（以下、「子ＳＯＡＰメッセージ」という。）を割り当て各子ＳＯＡＰメッセージを生成する子ＳＯＡＰメッセージ生成手段、及び
各子ＳＯＡＰメッセージを、それに対応する区分についての前記規定順番に従い前記リクエスタへ送信する送信手段、
を有し、
前記リクエスタは、
前記子ＳＯＡＰメッセージを受信する受信手段、及び
前記受信手段の受信処理と並行して解読処理を行うものであって各子ＳＯＡＰメッセージをその受信順番に従い解読する解読処理手段、
を有していることを特徴とするＷＥＢサービス・システム。
【請求項３】
インターネットを経由してＷＥＢサービスに係るリクエストをプロバイダへ送信し、前記インターネットを経由して前記プロバイダからＷＥＢサービスに係るレスポンスを受信するリクエスタにおいて、
ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する順番規定手段、
前記規定順番に従い前記親ＳＯＡＰメッセージの各区分の内容を作成する区分作成手段、及び
前記区分作成手段の作成処理と並行して送信処理を行うものであって各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（以下、「子ＳＯＡＰメッセージ」という。）を割り当て、各子ＳＯＡＰメッセージを作成順番に従い前記プロバイダへ送信する送信手段、
を有していることを特徴とするリクエスタ。
【請求項４】
前記所定の分割基準とは、前記親ＳＯＡＰメッセージのヘッダ及びボディをそれぞれ少なくとも１個の区分にするものであることを特徴とする請求項３記載のリクエスタ。
【請求項５】
前記順番規定手段は、前記親ＳＯＡＰメッセージのヘッダのみ及びボディのみを範囲とする区分をそれぞれヘッダ区分及びボディ区分として、前記規定順番においてヘッダ区分をボディ区分より後にすることを特徴とする請求項３記載のリクエスタ。
【請求項６】
前記親ＳＯＡＰメッセージは、ＷＥＢサービス・セキュリティを適用されたＳＯＡＰメッセージであることを特徴とする請求項３記載のリクエスタ。
【請求項７】
インターネットを経由してＷＥＢサービスに係るリクエストをプロバイダへ送信し、前記プロバイダから前記インターネットを経由してＷＥＢサービスに係るレスポンスを受信するリクエスタにおいて、
ＷＥＢサービスに係る１個のレスポンスとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を所定の分割基準により複数の区分に分割した各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（以下、「子ＳＯＡＰメッセージ」という。）を割り当ててある各子ＳＯＡＰメッセージを所定の規定順番に従い受信する受信手段、及び
前記受信手段の受信処理と並行して解読処理を行うものであって各子ＳＯＡＰメッセージをその受信順番に従い解読する解読処理手段、
を有していることを特徴とするリクエスタ。
【請求項８】
前記所定の分割基準とは、親ＳＯＡＰメッセージのヘッダ及びボディをそれぞれ少なくとも１個の区分にするものであることを特徴とする請求項７記載のリクエスタ。
【請求項９】
前記所定の規定順番とは、前記親ＳＯＡＰメッセージのヘッダのみ及びボディのみを範囲とする区分をそれぞれヘッダ区分及びボディ区分として、前記規定順番においてヘッダ区分をボディ区分より先にすることを特徴とする請求項７記載のリクエスタ。
【請求項１０】
前記親ＳＯＡＰメッセージは、ＷＥＢサービス・セキュリティを適用されたＳＯＡＰメッセージであることを特徴とする請求項７記載のリクエスタ。
【請求項１１】
リクエスタ及びプロバイダが、インターネットを介してそれぞれＷＥＢサービスに係るリクエスト及びレスポンスをＳＯＡＰメッセージにより相手方へ発信し、ＳＯＡＰメッセージ用中間処理装置が前記リクエスタから前記プロバイダへのＳＯＡＰメッセージを中継し、前記ＳＯＡＰメッセージ用中間処理装置において、
ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を複数の区分に分割してある各区分に対しその内容を収めた各ＳＯＡＰメッセージ（以下、「子ＳＯＡＰメッセージ」という。）を前記リクエスタから受信する受信手段、
前記１個の親ＳＯＡＰメッセージに係る全部の子ＳＯＡＰメッセージを受信してからこれら子ＳＯＡＰメッセージに基づき親ＳＯＡＰメッセージを生成する親ＳＯＡＰメッセージ生成手段、及び
生成した親ＳＯＡＰメッセージを前記プロバイダへ送信する送信手段、
を有していることを特徴とするＳＯＡＰメッセージ用中間処理装置。
【請求項１２】
前記ＳＯＡＰメッセージ用中間処理装置は、前記リクエスタと前記インターネットとの間に介在するゲートウェイであることを特徴とする請求項１１記載のＳＯＡＰメッセージ用中間処理装置。
【請求項１３】
前記ＳＯＡＰメッセージ用中間処理装置は、前記プロバイダに装備されていることを特徴とする請求項１１記載のＳＯＡＰメッセージ用中間処理装置。
【請求項１４】
リクエスタ及びプロバイダが、インターネットを介してそれぞれＷＥＢサービスに係るリクエスト及びレスポンスをＳＯＡＰメッセージにより相手方へ発信し、ＳＯＡＰメッセージ用中間処理装置が前記プロバイダから前記リクエスタへのＳＯＡＰメッセージを中継し、前記ＳＯＡＰメッセージ用中間処理装置において、
前記プロバイダから前記リクエスタへ宛てた１個のレスポンスとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を所定の分割基準により複数の区分に分割したときの各区分の順番を規定順番として規定する順番規定手段、
各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（以下、「子ＳＯＡＰメッセージ」という。）を生成する子ＳＯＡＰメッセージ生成手段、及び
各子ＳＯＡＰメッセージを、それに対応する区分についての前記規定順番に従い前記リクエスタへ送信する送信手段、
を有していることを特徴とするＳＯＡＰメッセージ用中間処理装置。
【請求項１５】
前記ＳＯＡＰメッセージ用中間処理装置は、前記リクエスタと前記インターネットとの間に介在するゲートウェイであることを特徴とする請求項１４記載のＳＯＡＰメッセージ用中間処理装置。
【請求項１６】
前記ＳＯＡＰメッセージ用中間処理装置は、前記プロバイダに装備されていることを特徴とする請求項１４記載のＳＯＡＰメッセージ用中間処理装置。
【請求項１７】
インターネットを経由してＷＥＢサービスに係るリクエストをプロバイダへ送信し、前記プロバイダから前記インターネットを経由してＷＥＢサービスに係るレスポンスを受信するリクエスタのリクエスト用ＳＯＡＰメッセージ処理方法において、
ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定するステップ、
前記規定順番に従い前記親ＳＯＡＰメッセージの各区分の内容を作成するステップ、及び
各区分の内容を作成する処理と並行して送信処理を行うものであって各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（以下、「子ＳＯＡＰメッセージ」という。）を割り当て、各子ＳＯＡＰメッセージを作成順番に従い前記プロバイダへ送信するステップ。
を有していることを特徴とするリクエスタのリクエスト用ＳＯＡＰメッセージ処理方法。
【請求項１８】
インターネットを経由してＷＥＢサービスに係るリクエストをプロバイダへ送信し、前記プロバイダから前記インターネットを経由してＷＥＢサービスに係るレスポンスを受信するリクエスタのレスポンス用ＳＯＡＰメッセージ処理方法において、
ＷＥＢサービスに係る１個のレスポンスとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を複数の区分に分割した各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（以下、「子ＳＯＡＰメッセージ」という。）を割り当ててある各子ＳＯＡＰメッセージを所定の規定順番に従い受信するステップ、及び
各子ＳＯＡＰメッセージを受信する前記ステップと並行して実行されるものであって各子ＳＯＡＰメッセージをその受信順番に従い解読するステップ、
を有していることを特徴とするリクエスタのレスポンス用ＳＯＡＰメッセージ処理方法。
【請求項１９】
リクエスタ及びプロバイダが、インターネットを介してそれぞれＷＥＢサービスに係るリクエスト及びレスポンスをＳＯＡＰメッセージにより相手方へ発信し、ＳＯＡＰメッセージ用中間処理装置が前記リクエスタから前記プロバイダへのＳＯＡＰメッセージを中継し、前記ＳＯＡＰメッセージ用中間処理装置のリクエスト用ＳＯＡＰメッセージ処理方法において、
ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を複数の区分に分割してある各区分に対しその内容を収めた各ＳＯＡＰメッセージ（以下、「子ＳＯＡＰメッセージ」という。）を前記リクエスタから受信するステップ、
前記１個の親ＳＯＡＰメッセージに係る全部の子ＳＯＡＰメッセージを受信してからこれら子ＳＯＡＰメッセージに基づき親ＳＯＡＰメッセージを生成するステップ、及び
生成した親ＳＯＡＰメッセージを前記プロバイダへ送信するステップ、
を有していることを特徴とするＳＯＡＰメッセージ用中間処理装置のリクエスト用ＳＯＡＰメッセージ処理方法。
【請求項２０】
リクエスタ及びプロバイダが、インターネットを介してそれぞれＷＥＢサービスに係るリクエスト及びレスポンスをＳＯＡＰメッセージにより相手方へ発信し、ＳＯＡＰメッセージ用中間処理装置が前記プロバイダから前記リクエスタへのＳＯＡＰメッセージを中継し、前記ＳＯＡＰメッセージ用中間処理装置のレスポンス用ＳＯＡＰメッセージ処理方法において、
前記プロバイダから前記リクエスタへ宛てた１個のレスポンスとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を所定の分割基準により複数の区分に分割したときの各区分の順番を規定順番として規定するステップ、
各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（以下、「子ＳＯＡＰメッセージ」という。）を生成するステップ、及び
各子ＳＯＡＰメッセージを、それに対応する区分についての前記規定順番に従い前記リクエスタへ送信するステップ、
を有していることを特徴とするＳＯＡＰメッセージ用中間処理装置のレスポンス用ＳＯＡＰメッセージ処理方法。
【請求項２１】
請求項３〜１０のいずれかに記載のリクエスタの各手段としてコンピュータを機能させるプログラム。
【請求項２２】
請求項１１〜１６のいずれかに記載のＳＯＡＰメッセージ用中間処理装置の各手段としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＯＡＰ（Simple Object Access Protocol）メッセージを取り扱うＷＥＢサービス・システム、リクエスタ、ＳＯＡＰメッセージ用中間処理装置、リクエスタのリクエスト用ＳＯＡＰメッセージ処理方法、リクエスタのレスポンス用ＳＯＡＰメッセージ処理方法、ＳＯＡＰメッセージ用中間処理装置のリクエスト用ＳＯＡＰメッセージ処理方法、ＳＯＡＰメッセージ用中間処理装置のレスポンス用ＳＯＡＰメッセージ処理方法、及びプログラムに係り、詳しくはリクエスタにおけるＳＯＡＰメッセージの処理を改善したＷＥＢサービス・システム、リクエスタ、ＳＯＡＰメッセージ用中間処理装置、リクエスタのリクエスト用ＳＯＡＰメッセージ処理方法、リクエスタのレスポンス用ＳＯＡＰメッセージ処理方法、ＳＯＡＰメッセージ用中間処理装置のリクエスト用ＳＯＡＰメッセージ処理方法、ＳＯＡＰメッセージ用中間処理装置のレスポンス用ＳＯＡＰメッセージ処理方法、及びプログラムに関するものである。
【背景技術】
【０００２】
ＷＥＢサービス・セキュリティは、ＳＯＡＰメッセージへの電子署名や暗号化の適用や、セキュリティ・トークンの伝播を目的とした仕様である（非特許文献１）。ＷＥＢサービス・セキュリティを適用したメッセージをモバイル機器からサーバーに送信し、サーバーから受信したメッセージをモバイル機器から受信する、というケースを考える。このときモバイル機器側の典型的な処理手順は、非特許文献２によれば、以下の通りである。
【０００３】
［メッセージの構築（生成）］
ステップ１：ＳＯＡＰメッセージを構築する。
ステップ２：ＳＯＡＰメッセージに電子署名や暗号化を適用する。
ステップ３：電子署名の検証、暗号値の復号化、などに必要な情報、及びセキュリティ・トークン、などを包括したＳＯＡＰヘッダを構築し、ＳＯＡＰメッセージに挿入する。
【０００４】
［通信］
ステップ１：サーバーとの通信を確立する。
ステップ２：サーバーにＳＯＡＰメッセージを送信する。
ステップ３：サーバーからのＳＯＡＰメッセージを受信する。
ステップ４：サーバーとの通信を閉じる。
【０００５】
［受信メッセージ解読］
ステップ１：受信したＳＯＡＰメッセージの中にあるＳＯＡＰヘッダを解読し、電子署名の検証や、暗号値の復号化などに必要な情報を蓄積する。
ステップ２：ＳＯＡＰヘッダの記述順に従って、電子署名の検証や、暗号値の復号化などを行う。
ステップ３：検証、復号化を終えたら、ＳＯＡＰメッセージの中から、サーバーからの返答を抽出して、アプリケーションに返す。
【非特許文献１】米国ＩＢＭ社、”Ｗｅｂサービス・セキュリティ（Web Services Security (WS-Security)）［online］、［平成１６年４月１日検索］、インターネット＜ URL ：http://www-106.ibm.com/developerworks/webservices/library/ws-secure/＞
【非特許文献２】寺口正義、山口裕美、西海聡子及び伊藤貴之著、「ＷｅｂサービスとＷｅｂサービス・セキュリティの逐次処理による軽量実装」、「暗号と情報セキュリティシンポジウム」学会２００４年講演原稿集、２００４年１月２７日、ｐ．１１９−１２４
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＷＥＢサービスの高速化は、モバイル機器だけでなくサーバー側でも重要な課題となっている。これを改善する従来技術として、非特許文献２にも提案されているＸＭＬ処理のストリーミングが考えられる。しかし、ＸＭＬ処理以外にも処理時間の大きい要素は残っているので、ＷＥＢサービスの高速化の問題は、まだ完全には解決していない。具体的にいうとセキュリティ演算処理の処理時間の中で、（ａ）メッセージ送信時の署名値算出、及び（ｂ）メッセージ受信時の鍵復号化は、非常に大きな割合を占める。また、ワイヤレス機器の場合、通信処理も非常に大きな割合を占める。
【０００７】
パーベイシブ(pervasive)機器によるセキュリティ処理は、ハードウェア上の制約及びプログラミング言語等の制約のために、計算時間が非常に大きくなることが多い。発明者らのパートナー部門の測定によると、特に（ａ）公開鍵方式を用いた送信側による署名値の算出、及び（ｂ）公開鍵方式を用いた受信側による暗号値の復号化には、１回あたり数秒の計算時間を要していることが分かっている。
【０００８】
また、ワイヤレス機器特有の問題として、通信に非常に時間がかかることが知られている。発明者自身による測定でも、サーバーとの通信の確立、メッセージの送信及び受信処理に、合計で数秒〜十数秒の処理時間を要することが分かっている。
【０００９】
これらの数値から単純計算すると、モバイル機器にＷＥＢサービス・セキュリティを適用すると、前述の［メッセージの構築（生成）］、［通信］及び［受信メッセージ解読］の処理手順に要する合計時間が１５〜３０秒程度を要することになり、その高速化が重要な課題となることが分かる。
【００１０】
本発明の目的は、モバイル機器等のリクエスタにおけるリクエスト用ＳＯＡＰメッセージの処理時間を短縮できるＷＥＢサービス・システム、リクエスタ、ＳＯＡＰメッセージ用中間処理装置、リクエスタのリクエスト用ＳＯＡＰメッセージ処理方法、リクエスタのレスポンス用ＳＯＡＰメッセージ処理方法、ＳＯＡＰメッセージ用中間処理装置のリクエスト用ＳＯＡＰメッセージ処理方法、ＳＯＡＰメッセージ用中間処理装置のレスポンス用ＳＯＡＰメッセージ処理方法、及びプログラムを提供することである。
【００１１】
本発明の他の目的は、モバイル機器等のリクエスタにおけるレスポンス用ＳＯＡＰメッセージの処理時間を短縮できるＷＥＢサービス・システム、リクエスタ、ＳＯＡＰメッセージ用中間処理装置、リクエスタのリクエスト用ＳＯＡＰメッセージ処理方法、リクエスタのレスポンス用ＳＯＡＰメッセージ処理方法、ＳＯＡＰメッセージ用中間処理装置のリクエスト用ＳＯＡＰメッセージ処理方法、ＳＯＡＰメッセージ用中間処理装置のレスポンス用ＳＯＡＰメッセージ処理方法、及びプログラムを提供することである。
【課題を解決するための手段】
【００１２】
本発明のリクエスト処理用ＷＥＢサービス・システムでは、リクエスタ及びプロバイダが、インターネットを介してそれぞれＷＥＢサービスに係るリクエスト及びレスポンスをＳＯＡＰメッセージにより相手方へ発信する。該リクエスト処理用ＷＥＢサービス・システムは、リクエスタからプロバイダへのＳＯＡＰメッセージを中継するＳＯＡＰメッセージ用中間処理装置を有している。
【００１３】
本発明のリクエスト処理用ＷＥＢサービス・システムのリクエスタは次の手段を有している。
ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する順番規定手段、
規定順番に従い親ＳＯＡＰメッセージの各区分の内容を作成する区分作成手段、及び
区分作成手段の作成処理と並行して送信処理を行うものであって各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（以下、「子ＳＯＡＰメッセージ」という。）を割り当て、各子ＳＯＡＰメッセージを作成順番に従いプロバイダへ送信する送信手段。
【００１４】
本発明のリクエスト処理用ＷＥＢサービス・システムのＳＯＡＰメッセージ用中間処理装置は次の手段を有している。
１個の親ＳＯＡＰメッセージに係る子ＳＯＡＰメッセージをリクエスタから受信する受信手段、
１個の親ＳＯＡＰメッセージに係る全部の子ＳＯＡＰメッセージを受信してからこれら子ＳＯＡＰメッセージに基づき親ＳＯＡＰメッセージを生成する親ＳＯＡＰメッセージ生成手段、及び
生成した親ＳＯＡＰメッセージをプロバイダへ送信する送信手段。
【００１５】
本発明のレスポンス処理用ＷＥＢサービス・システムでは、リクエスタ及びプロバイダが、インターネットを介してそれぞれＷＥＢサービスに係るリクエスト及びレスポンスをＳＯＡＰメッセージにより相手方へ発信する。該レスポンス処理用ＷＥＢサービス・システムは、プロバイダからリクエスタへのＳＯＡＰメッセージを中継するＳＯＡＰメッセージ用中間処理装置を有している。
【００１６】
本発明のレスポンス処理用ＷＥＢサービス・システムのＳＯＡＰメッセージ用中間処理装置は次のものを有している。
ＷＥＢサービスに係る１個のレスポンスとしての１個のＳＯＡＰメッセージ（＝親ＳＯＡＰメッセージ）を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する順番規定手段、
各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を割り当て各子ＳＯＡＰメッセージを生成する子ＳＯＡＰメッセージ生成手段、及び
各子ＳＯＡＰメッセージを、それに対応する区分についての規定順番に従いリクエスタへ送信する送信手段。
【００１７】
本発明のレスポンス処理用ＷＥＢサービス・システムのリクエスタは次のものを有している。
子ＳＯＡＰメッセージを受信する受信手段、及び
受信手段の受信処理と並行して解読処理を行うものであって各子ＳＯＡＰメッセージをその受信順番に従い解読する解読処理手段。
【００１８】
本発明のリクエスト用ＳＯＡＰメッセージ処理方法が適用されるリクエスタは、インターネットを経由してＷＥＢサービスに係るリクエストをプロバイダへ送信し、プロバイダからインターネットを経由してＷＥＢサービスに係るレスポンスを受信する。該リクエスタに適用する本発明のリクエスト用ＳＯＡＰメッセージ処理方法は次のステップを有している。
ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージ（＝親ＳＯＡＰメッセージ）を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定するステップ、
規定順番に従い親ＳＯＡＰメッセージの各区分の内容を作成するステップ、及び
各区分の内容を作成する処理と並行して送信処理を行うものであって各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を割り当て、各子ＳＯＡＰメッセージを作成順番に従いプロバイダへ送信するステップ。
【００１９】
本発明のレスポンス用ＳＯＡＰメッセージ処理方法が適用されるリクエスタは、インターネットを経由してＷＥＢサービスに係るリクエストをプロバイダへ送信し、プロバイダからインターネットを経由してＷＥＢサービスに係るレスポンスを受信する。該リクエスタに適用する本発明のレスポンス用ＳＯＡＰメッセージ処理方法は次のステップを有している。
ＷＥＢサービスに係る１個のレスポンスとしての１個のＳＯＡＰメッセージ（＝親ＳＯＡＰメッセージ）を複数の区分に分割した各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を割り当ててある各子ＳＯＡＰメッセージを所定の規定順番に従い受信するステップ、及び
各子ＳＯＡＰメッセージを受信するステップと並行して実行されるものであって各子ＳＯＡＰメッセージをその受信順番に従い解読するステップ。
【００２０】
本発明のリクエスト用ＳＯＡＰメッセージ処理方法が適用されるＳＯＡＰメッセージ用中間処理装置では、リクエスタ及びプロバイダが、インターネットを介してそれぞれＷＥＢサービスに係るリクエスト及びレスポンスをＳＯＡＰメッセージにより相手方へ発信し、該ＳＯＡＰメッセージ用中間処理装置がリクエスタからプロバイダへのＳＯＡＰメッセージを中継する。該ＳＯＡＰメッセージ用中間処理装置に適用する本発明のリクエスト用ＳＯＡＰメッセージ処理方法は次のステップを有している。
ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージ（＝親ＳＯＡＰメッセージ）を複数の区分に分割してある各区分に対しその内容を収めた各ＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）をリクエスタから受信するステップ、
１個の親ＳＯＡＰメッセージに係る全部の子ＳＯＡＰメッセージを受信してからこれら子ＳＯＡＰメッセージに基づき親ＳＯＡＰメッセージを生成するステップ、及び
生成した親ＳＯＡＰメッセージをプロバイダへ送信するステップ。
【００２１】
本発明のレスポンスリ用ＳＯＡＰメッセージ処理方法が適用されるＳＯＡＰメッセージ用中間処理装置では、リクエスタ及びプロバイダが、インターネットを介してそれぞれＷＥＢサービスに係るリクエスト及びレスポンスをＳＯＡＰメッセージにより相手方へ発信し、該ＳＯＡＰメッセージ用中間処理装置がプロバイダからリクエスタへのＳＯＡＰメッセージを中継する。該ＳＯＡＰメッセージ用中間処理装置に適用する本発明のレスポンス用ＳＯＡＰメッセージ処理方法は次のステップを有している。
プロバイダからリクエスタへ宛てた１個のレスポンスとしての１個のＳＯＡＰメッセージ（＝親ＳＯＡＰメッセージ）を所定の分割基準により複数の区分に分割したときの各区分の順番を規定順番として規定するステップ、
各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を生成するステップ、及び
各子ＳＯＡＰメッセージを、それに対応する区分についての規定順番に従いリクエスタへ送信するステップ。
【００２２】
本発明のプログラムは、前述した各リクエスタの各手段としてコンピュータを機能させる。本発明のプログラムは、また、前述のＳＯＡＰメッセージ用中間処理装置の各手段としてコンピュータを機能させる。
【発明の効果】
【００２３】
本発明によれば、ＷＥＢサービスにおける１個のリクエストとしての１個のＳＯＡＰメッセージ（＝親ＳＯＡＰメッセージ）が複数の区分に分割され、各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を割り当てる。そして、リクエスタは、親ＳＯＡＰメッセージを作成してから、プロバイダへ送信するのではなく、各区分の内容の作成に並行して、子ＳＯＡＰメッセージをその作成順番に従い送信することになるので、リクエスタにおけるリクエスト用ＳＯＡＰメッセージについてその作成開始から送信完了までの時間を短縮できる。
【００２４】
本発明によれば、プロバイダからのレスポンスとしての１個のＳＯＡＰメッセージ（＝親ＳＯＡＰメッセージ）が複数の区分に分割され、各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を割り当てる。そして、リクエスタは、親ＳＯＡＰメッセージを受信してから、解読するのではなく、子ＳＯＡＰメッセージを受信しつつ、受信済み又は受信中の子ＳＯＡＰメッセージについて、解読することになるので、リクエスタにおけるレスポンス用ＳＯＡＰメッセージについてその受信開始から処理完了までの時間を短縮できる。
【発明を実施するための最良の形態】
【００２５】
図１はＷＥＢサービス・システム１０の概略図である。例えば携帯電話機であるリクエスタ１１は、それが現在、位置する地域を担当しかつリクエスタ１１のユーザが契約している携帯電話機会社に属する基地局１２と無線を介してデータを送受する。典型的な携帯電話会社では、ゲートウェイ１３は、各基地局１２ごとに、又は複数個の基地局１２を１群とする、その群ごとに、設けられ、リクエスタ１１とインターネット１４とを相互に接続している。あるいは、第１段のゲートウェイ１３が基地局１２ごとに設けられるとともに、第２段のゲートウェイ１３が、複数個の基地局１２を１群とする、その群ごとに設けられ、リクエスタ１１は、複数段のゲートウェイ１３を経由してインターネット１４へ接続されることもあり得る。後述のＳＯＡＰメッセージ用中間処理装置２４（図４）は、各リクエスタ１１とインターネット１４との間に介在するどの段のゲートウェイ１３に実装されてもよい。サーバーとしてのＷＥＢサービスのプロバイダ１５は、ゲートウェイ１３とは別の箇所においてインターネット１４へ接続されている。
【００２６】
図２はＳＯＡＰメッセージ１８の送受に利用するトランスポート層のメッセージの構造図である。トランスポート層のメッセージ１６は、ＨＴＴＰ等のプロトコルのプロトコル・ヘッダ１７と、アプリケーション層のＳＯＡＰメッセージ１８とを含む。アプリケーション層のＳＯＡＰメッセージ１８は「ＳＯＡＰエンベロープ」ともいわれる。本発明において単に「ＳＯＡＰメッセージ」というときは、ＳＯＡＰエンベロープとしてのＳＯＡＰメッセージ１８を指すものとする。
【００２７】
図３はＳＯＡＰメッセージ１８の構造図である。ＳＯＡＰメッセージ１８はＳＯＡＰヘッダ２１とＳＯＡＰボディ２２とを含む。ＳＯＡＰヘッダ２１及びＳＯＡＰボディ２２は共にＸＭＬ（eXtensible Markup Language）で記述される。ＳＯＡＰヘッダ２１は、オプションであり、省略可能であるが、ＷＥＢサービス・セキュリティに対処するＳＯＡＰメッセージ１８では、セキュリティ・トークンやデジタル署名に係る情報がＳＯＡＰヘッダ２１に記述される。
【００２８】
図４はＳＯＡＰメッセージ用中間処理装置２４がゲートウェイ１３に装備される場合のＷＥＢサービス・システム１０の機能ブロック図、図５はＳＯＡＰメッセージ用中間処理装置２４がプロバイダ１５に装備される場合のＷＥＢサービス・システム１０の機能ブロック図である。ＷＥＢサービス・システム１０は、リクエスタ１１、プロバイダ１５及びＳＯＡＰメッセージ用中間処理装置２４を有している。リクエスタ１１及びプロバイダ１５は、インターネット１４を介してそれぞれＷＥＢサービスに係るリクエスト及びレスポンスをＳＯＡＰメッセージにより相手方へ発信する。ＳＯＡＰメッセージ用中間処理装置２４は、リクエスタ１１からプロバイダ１５へのＳＯＡＰメッセージ及びプロバイダ１５からリクエスタ１１へのＳＯＡＰメッセージを中継し、典型的にはゲートウェイ１３に装備されるが、プロバイダ１５に装備されることも可能である。
【００２９】
図６はＷＥＢサービス・システム１０の中でリクエスト処理に関わる部分の機能ブロック図である。リクエスタ１１は、順番規定手段２６、区分作成手段２７及び送信手段２８を有している。順番規定手段２６は、ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージ（＝親ＳＯＡＰメッセージ）を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する。区分作成手段２７は、規定順番に従い親ＳＯＡＰメッセージの各区分の内容を作成する。送信手段２８は、区分作成手段２７の作成処理と並行して送信処理を行うものであって各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を割り当て、各子ＳＯＡＰメッセージを作成順番に従いプロバイダ１５へ送信する。ＳＯＡＰメッセージ用中間処理装置２４は、受信手段３２、親ＳＯＡＰメッセージ生成手段３３及び送信手段３４を有している。受信手段３２は、１個の親ＳＯＡＰメッセージに係る子ＳＯＡＰメッセージをＷＥＢサービス・システム１０から受信する。親ＳＯＡＰメッセージ生成手段３３は、１個の親ＳＯＡＰメッセージに係る全部の子ＳＯＡＰメッセージを受信してから、これら子ＳＯＡＰメッセージに基づき親ＳＯＡＰメッセージを生成する。送信手段３４は、生成した親ＳＯＡＰメッセージをプロバイダ１５へ送信する。
【００３０】
リクエスト処理における１個の親ＳＯＡＰメッセージが、ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージである旨、述べたが、これは、１個の親ＳＯＡＰメッセージが、１個のリクエスト単位を構成することを意味する。したがって、１個の親ＳＯＡＰメッセージを複数個の区分に分割して、各区分に対してその内容を収めた１個の子ＳＯＡＰメッセージを割り当てているが、個々の子ＳＯＡＰメッセージは、それ単体では、１個のリクエスト単位を構成することはできないものである。
【００３１】
従来のリクエスタでは、親ＳＯＡＰメッセージを作成してから、親ＳＯＡＰメッセージを送信していたのに対し、リクエスタ１１では、親ＳＯＡＰメッセージが複数の区分に分割される結果、区分作成手段２７における区分作成と送信手段２８における子ＳＯＡＰメッセージの送信とが並列処理可能となり、リクエスタ１１におけるリクエストに係る処理時間が短縮される。
【００３２】
図７はＷＥＢサービス・システム１０の中でレスポンス処理に関わる部分の機能ブロック図である。ＳＯＡＰメッセージ用中間処理装置２４は、順番規定手段３９、子ＳＯＡＰメッセージ生成手段４０及び送信手段４１を有している。順番規定手段３９は、ＷＥＢサービスに係る１個のレスポンスとしての１個のＳＯＡＰメッセージ（＝親ＳＯＡＰメッセージ）を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する。子ＳＯＡＰメッセージ生成手段４０は、各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を割り当て、各子ＳＯＡＰメッセージを生成する。送信手段４１は、各子ＳＯＡＰメッセージを、それに対応する区分についての規定順番に従いリクエスタ１１へ送信する。リクエスタ１１は受信手段４５及び解読処理手段４６を有している。受信手段４５は、子ＳＯＡＰメッセージを受信する。解読処理手段４６は、受信手段４５の受信処理と並行して解読処理を行うものであって、各子ＳＯＡＰメッセージをその受信順番に従い解読する。
【００３３】
レスポンス処理における１個の親ＳＯＡＰメッセージが、ＷＥＢサービスに係る１個のレスポンスとしての１個のＳＯＡＰメッセージである旨、述べたが、これは、１個の親ＳＯＡＰメッセージが、１個のレスポンス単位を構成することを意味する。したがって、１個の親ＳＯＡＰメッセージを複数個の区分に分割して、各区分に対してその内容を収めた１個の子ＳＯＡＰメッセージを割り当てているが、個々の子ＳＯＡＰメッセージは、それ単体では、１個のレスポンス単位を構成することはできないものである。
【００３４】
従来のリクエスタでは、親ＳＯＡＰメッセージを受信してから、親ＳＯＡＰメッセージを解読処理していたのに対し、リクエスタ１１では、レスポンスに係るＳＯＡＰメッセージを分割した区分に対応する子ＳＯＡＰメッセージを単位に受信し、受信手段４５における子ＳＯＡＰメッセージの受信と解読処理手段４６おける子ＳＯＡＰメッセージの解読とが並列処理される。結果、リクエスタ１１におけるレスポンスに係る処理時間が短縮される。
【００３５】
以下は、ＷＥＢサービス・システム１０の一層の具体的な構成例の説明である。これら構成例は、前述のＷＥＢサービス・システム１０、リクエスタ１１及びＳＯＡＰメッセージ用中間処理装置２４へ任意の組み合わせで適用できる。
【００３６】
リクエスタ１１は、例えば、携帯電話、ＰＤＡ（Private Digital Assistant）、工場や家庭のロボット、情報家電及びカーナビゲーション装置である。リクエスタ１１は、一般的には、ＣＰＵの性能が不十分で、リクエストに係るＳＯＡＰメッセージを高速に処理することができない電気機器であって、プロバイダ１５へゲートウェイ１３を介して接続可能となっているあらゆる電気機器を含む。リクエスタ１１は、ノート型ＰＣ（パーソナルコンピュータ）であってもよい。リクエスタ１１は少なくともパーベイシブ(pervasive)機器を包摂する。
【００３７】
所定の分割基準とは、典型的には、親ＳＯＡＰメッセージを２個の区分に分割し、第１の区分はＳＯＡＰヘッダ２１の記述全部であり、第２の区分はＳＯＡＰボディ２２の記述部の全部である。しかし、親ＳＯＡＰメッセージのＳＯＡＰヘッダ２１及びＳＯＡＰボディ２２をそれぞれ少なくとも１個の区分とする計３個以上の区分とする分割基準で、親ＳＯＡＰメッセージを分割してもよい。リクエスト処理過程に関わるリクエスタ１１の順番規定手段２６（図６）における規定順番では、ＳＯＡＰヘッダ２１をＳＯＡＰボディ２２より後の順番にし、レスポンス処理過程に関わるＳＯＡＰメッセージ用中間処理装置２４の順番規定手段３９（図７）における規定順番では、ＳＯＡＰヘッダ２１をＳＯＡＰボディ２２より先の順番にする。例えば、親ＳＯＡＰメッセージのＳＯＡＰヘッダ２１をＨ１，Ｈ２，Ｈ３，・・・Ｈｎの複数個の区分に分割し、親ＳＯＡＰメッセージのＳＯＡＰボディ２２をＢ１，Ｂ２，Ｂ３，・・・Ｂｍ（ただし、ｎ，ｍは自然数。ｎ≠ｍであってもよい。）の複数個の区分に分割した場合を考える。順番規定手段２６における規定順番は、例えば、（ａ）Ｂ１→Ｂ２→Ｂ３→・・・→Ｂｍ→Ｈ１→Ｈ２→Ｈ３→・・・→Ｈｎ、及び（ｂ）Ｂ１→Ｈ１→Ｂ２→Ｈ２→Ｂ３→Ｈ３→・・・である。順番規定手段３９における規定順番は、例えば、（ｃ）Ｈ１→Ｈ２→Ｈ３→・・・→Ｈｎ→Ｂ１→Ｂ２→Ｂ３→・・・→Ｂｍ、及び（ｄ）Ｈ１→Ｂ１→Ｈ２→Ｂ２→Ｈ３→Ｂ３→・・・である。親ＳＯＡＰメッセージのヘッダのみ及びボディのみを範囲とする区分をそれぞれヘッダ区分及びボディ区分と、説明の便宜上、呼ぶことにする。（ａ）及び（ｃ）では、それぞれ全部のボディ区分及び全部のヘッダ区分を、全部のヘッダ区分及び全部のボディ区分に対して先行させているのに対し、（ｂ）及び（ｄ）では、ヘッダ区分及びボディ区分を交互にした順番となっている。なお、（ｂ）及び（ｄ）において、Ｈ１とＢ１、Ｈ２とＢ２、Ｈ３とＢ３、・・・は、好ましくは参照元のヘッダ区分と参照先のボディとの関係等が規定されている。ＷＥＢサービス・システム１０のリクエスト処理では、区分作成手段２７における区分の作成と、送信手段２８における子ＳＯＡＰメッセージの送信とが並行処理され、ＷＥＢサービス・システム１０のレスポンス処理では、受信手段４５における子ＳＯＡＰメッセージの受信と、解読処理手段４６における子ＳＯＡＰメッセージの解読処理とが並列処理される。要は、その並列処理による合計の処理時間が最小となるように、親ＳＯＡＰメッセージの分割基準及び規定順番を設定することである。
【００３８】
なお、後述の図１６から理解されるように、ヘッダ区分は、子ＳＯＡＰメッセージにおけるヘッダとされ、ボディ区分は、子ＳＯＡＰメッセージにおけるボディとされる。親ＳＯＡＰメッセージにおけるヘッダが複数の区分に分割されるときの子ＳＯＡＰメッセージの内容について下記の親ＳＯＡＰメッセージ例に基づき言及する。なお、左端の３桁は説明の便宜上、挿入した行番号である。
【００３９】
［親ＳＯＡＰメッセージ］
200:・・・
201:<Header>
202:  <L1a>
203:    <L2a1>
204:    ・・・
205:    </L2a1>
206:    <L2a2>
207:    ・・・
208:    </L2a2>
209:  </L1a>
210:  <L1b>
211:    <L2b1>
212:    ・・・
213:    </L2b1>
214:    <L2b2>
215:    ・・・
216:    </L2b2>
217:  </L1b>
218:</Header>
219:・・・
【００４０】
上記親ＳＯＡＰメッセージのヘッダにおいて、ルートから２階層下のＬ２を分割階層として、ヘッダを３個の区分に分ける。第１の区分は行番号２０３〜２０８の範囲、第２の区分は行番号２１１〜２１３の範囲、及び第３の区分は行番号２１４〜２１６とする。このときの各子ＳＯＡＰメッセージのヘッダは次のようになる。なお、ＳＯＡＰの規約では、ヘッダは省略可能であるものの、ボディは省略不能であるので、下記の各子ＳＯＡＰメッセージのボディの記述は、空のボディを意味する<Body></Body>となる。
【００４１】
［子ＳＯＡＰメッセージ１］
240:・・・
241:<Header>
242:  <L1a>
243:    <L2a1>
244:    ・・・
245:    </L2a1>
246:    <L2a2>
247:    ・・・
248:    </L2a2>
249:  </L1a>
250:</Header>
251:・・・
【００４２】
［子ＳＯＡＰメッセージ２］
260:・・・
261:<Header>
262:  <L1b>
263:    <L2b1>
264:    ・・・
265:    </L2b1>
266:  </L1b>
267:</Header>
268:・・・
【００４３】
［子ＳＯＡＰメッセージ３］
280:・・・
281:<Header>
282:  <L1b>
283:    <L2b2>
284:    ・・・
285:    </L2b2>
286:  </L1b>
287:</Header>
288:・・・
【００４４】
すなわち、各子ＳＯＡＰメッセージにおけるヘッダでは、区分内の該分割階層以下の全要素が含まれるとともに、該区分が木構造においてぶら下がっている上位階層の全要素名が含まれることになる。
【００４５】
親ＳＯＡＰメッセージは、ＷＥＢサービス・セキュリティを適用されたＳＯＡＰメッセージである。リクエストに係りＷＥＢサービス・セキュリティを適用されたＳＯＡＰメッセージ１８では、ＳＯＡＰボディ２２が対称鍵（＝公開鍵と対関係にある秘密鍵）により暗号化されるとともに、ＳＯＡＰヘッダ２１は、それにセキュリティ・トークンやデジタル署名や対称鍵に係る情報が記述されてから、さらにプロバイダ１５の公開鍵により暗号化される。ＷＥＢサービス・セキュリティを適用したＳＯＡＰメッセージの作成の場合、ＣＰＵ性能の低い携帯電話等のリクエスタ１１では、ＳＯＡＰメッセージ１８の作成処理に時間がかかる。このようなＳＯＡＰメッセージ１８をＳＯＡＰヘッダ２１とＳＯＡＰボディ２２との区分に分割し、ＳＯＡＰボディ２２に係る区分を子ＳＯＡＰメッセージによる送信する期間を利用して、ＳＯＡＰヘッダ２１に係る区分を作成する。こうして、リクエスタ１１におけるリクエストに係る処理の時間が短縮される。同様に、レスポンスに係りＷＥＢサービス・セキュリティを適用されたＳＯＡＰメッセージ１８では、ＳＯＡＰヘッダ２１には、ＳＯＡＰボディ２２を解読するのに必要な情報が記入され、ＳＯＡＰヘッダ２１及びＳＯＡＰボディ２２が対称鍵に暗号化される。リクエスタ１１では、レスポンスの処理において、ＳＯＡＰヘッダ２１に係る子ＳＯＡＰメッセージを先に受信して、ＳＯＡＰボディ２２に係る子ＳＯＡＰメッセージの受信中に、ＳＯＡＰヘッダ２１に係る子ＳＯＡＰメッセージを解読しておき、これにより、ＳＯＡＰボディ２２に係る子ＳＯＡＰメッセージを受信するのに伴い、それを速やかに復号して解読できる。こうして、リクエスタ１１におけるレスポンスに係る処理の時間が短縮される。
【００４６】
リクエスタ１１の処理にはストリーム型のプロトコルを適用可能である。通常型（非ストリーム型）のプロトコルを適用したリクエスタ１１では、リクエストに係る処理（図６）において、送信手段２８は、区分作成手段２７において作成済みとなった区分に対して、子ＳＯＡＰメッセージによる送信処理を開始し、また、レスポンスに係る処理（図７）において、解読処理手段４６は、受信完了した子ＳＯＡＰメッセージについて解読処理する。これに対し、ストリーム型のプロトコルを適用したリクエスタ１１では、リクエストに係る処理（図６）において、送信手段２８は、区分作成手段２７において作成中であって途中までしか作成されていない区分に対して、区分作成手段２７から順次、送られてくる区分部分を順次、送信し、また、レスポンスに係る処理（図７）において、解読処理手段４６は、受信中の子ＳＯＡＰメッセージについて、受信手段４５から順次、出力されて来る区分部分を、言語プロセッサのインタプリタのように、所定バイト数単位で順次、解読していく。
【００４７】
図８はＷＥＢサービス・システム１０に適用されるリクエスト用ＳＯＡＰメッセージ処理方法のフローチャートである。該リクエスト用ＳＯＡＰメッセージ処理方法は、リクエスタ１１における方法部分５０とＳＯＡＰメッセージ用中間処理装置２４における方法部分５１とを含む。方法部分５０は、Ｓ５４，Ｓ５５，Ｓ５６を含み、方法部分５１はＳ５９，Ｓ６０，Ｓ６１を含む。Ｓ５４では、ＷＥＢサービスに係る１個のリクエストとしての１個のＳＯＡＰメッセージ（＝親ＳＯＡＰメッセージ）を所定の分割基準により複数の区分に分割する場合の各区分の順番を規定順番として規定する。Ｓ５５では、規定順番に従い親ＳＯＡＰメッセージの各区分の内容を作成する。Ｓ５６では、各区分の内容を作成する処理と並行して送信処理を行い、各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を割り当て、各子ＳＯＡＰメッセージを作成順番に従いプロバイダ１５へ送信する。Ｓ５９では、リクエスタ１１から受信する。Ｓ６０では、１個の親ＳＯＡＰメッセージに係る全部の子ＳＯＡＰメッセージを受信してから、これら子ＳＯＡＰメッセージに基づき親ＳＯＡＰメッセージを生成する。Ｓ６１では、生成した親ＳＯＡＰメッセージをプロバイダ１５へ送信する。
【００４８】
図９はＷＥＢサービス・システム１０に適用されるレスポンス用ＳＯＡＰメッセージ処理方法のフローチャートである。該レスポンス用ＳＯＡＰメッセージ処理方法は、ＳＯＡＰメッセージ用中間処理装置２４における方法部分６４とリクエスタ１１における方法部分６５とを含む。方法部分６４は、Ｓ６９，Ｓ７０，Ｓ７１を含み、方法部分６５はＳ７４，Ｓ７５を含む。Ｓ６９では、プロバイダ１５からリクエスタ１１へ宛てた１個のレスポンスとしての１個のＳＯＡＰメッセージ（以下、「親ＳＯＡＰメッセージ」という。）を所定の分割基準により複数の区分に分割したときの各区分の順番を規定順番として規定する。Ｓ７０では、各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を生成する。Ｓ７１では、各子ＳＯＡＰメッセージを、それに対応する区分についての規定順番に従いリクエスタ１１宛てに送信する。Ｓ７４では、ＷＥＢサービスに係る１個のレスポンスとしての１個のＳＯＡＰメッセージ（＝親ＳＯＡＰメッセージ）を複数の区分に分割した各区分に対してその内容を収めた１個のＳＯＡＰメッセージ（＝子ＳＯＡＰメッセージ）を割り当ててある各子ＳＯＡＰメッセージを所定の規定順番に従い受信する。Ｓ７５では、各子ＳＯＡＰメッセージを受信するステップと並行して、各子ＳＯＡＰメッセージをその受信順番に従い解読する。
【００４９】
図１０はプログラムを実行するためのハードウェア構成図である。前述のリクエスタ１１及びゲートウェイ１３は、図１０記載のハードウェアを内蔵しており、前述したＷＥＢサービス・システム１０、リクエスタ１１及びＳＯＡＰメッセージ用中間処理装置２４の各手段としてコンピュータを機能させるためのプログラムは、図１０に記載したハードウェアを使用して、実行される。あるいは、前述したリクエスト及びレスポンス用のＳＯＡＰメッセージ処理方法の各ステップをコンピュータに実行させるためのプログラムは、図１０に記載したハードウェアを使用して、実行される。システム・バス８０には、ＣＰＵ８１、主記憶装置８２及び入出力制御装置８３が接続される。前述した手段又はステップは、コード化されたプログラムとして実行可能となっている。入出力制御装置８３には、ハード・ディスク・インターフェース等が含まれ、ＣＰＵ８１が実行する各種プログラムはハード・ディスク装置等にストアされている。プログラムは、ＣＰＵ８１において実行されるのに先立ち、主記憶装置８２にストアされる。ＣＰＵ８１は、主記憶装置８２の命令行を順次、読み出して、該プログラムを実行する。  
【実施例】
【００５０】
以下、本発明の実施例について説明する。図１１は実施例が想定するシステム構成図である。「要求メッセージ」とはリクエストのことであり、「回答メッセージ」とはレスポンスのことである。「通常の」とは、従来技術と同一であることを意味する。リクエスタとしてのモバイル機器１００はプロバイダとしてのサーバー１０２に接続する際に、携帯電話キャリア会社や無線通信業者などのゲートウェイ１０１を経由することを前提とする。このとき技術的には、電子署名や暗号化をゲートウェイ１０１が代行し、モバイル機器１００自体にはセキュリティ処理を適用しない、という運用方法も可能である。しかし、そのような運用方法が望ましくないようなシステムは容易に考えつく。例えば従業員がモバイル機器１００から自社サーバー１０２に接続するようなＷＥＢサービスを想定したとき、他社によるゲートウェイ１０１に対してセキュリティを確保したい、という条件は容易に発生しうる。この条件を満たすためには、電子署名や暗号化などの処理をゲートウェイ１０１に代行させるのではなく、モバイル機器１００自ら処理する必要がある。携帯電話やＰＤＡなどのモバイル機器１００とサーバー１０２の間に、無線通信業者のゲートウェイ１０１が介入しており、またゲートウェイ１０１はモバイル機器１００から受信するメッセージ、及びモバイル機器１００に送信するメッセージを加工できるものとする。
【００５１】
［解決手段１］
図１２は実施例のおける送信メッセージの分割の説明図である。モバイル機器１００からゲートウェイ１０１へのメッセージ送信処理について、以下の手順によりモバイル機器１００上での並列化を実現する。この解決手段では、モバイル機器１００が構築したＳＯＡＰメッセージは、ボディ区分とヘッダ区分の２通に分割されて、ゲートウェイ１０１に到達し、ゲートウェイ１０１は、そのメッセージを１通に合体しても、サーバー１０２に転送するものとする。ここで、時間軸を横軸にして処理時間の内訳を図示したものを、図１３に示す。
【００５２】
Ｓ１：スレッドを起動して、そのスレッドを用いてゲートウェイ１０１への通信確立を図る。
Ｓ２：Ｓ１と並列して、以下の処理を行う。
(ア)： ＳＯＡＰメッセージのボディ区分を構築する。
(イ)：ＳＯＡＰボディを参照しながら、セキュリティ演算処理のうち、メッセージ暗号化を行う。ＳＯＡＰボディの加工が必要な処理はすべて進めるが、それ以外の処理は後回しにする。
Ｓ３：Ｓ２(イ)を完了する間に通信が確立されていれば、ＳＯＡＰボディを送信する。通信が確立されていなければ、確立されるのを確認するまで待ってからＳＯＡＰボディを送信する。
Ｓ４：Ｓ３４と並列して、以下の処理を行う。
(ア)： セキュリティ演算処理のうち、鍵暗号化、ダイジェスト値算出、署名値算出を行う。
(イ)： ＳＯＡＰヘッダを構築し、鍵暗号化結果、ダイジェスト値算出結果、署名値算出結果をＳＯＡＰヘッダに組み込み、ＳＯＡＰヘッダを完成する。
Ｓ５：Ｓ４(イ)の終了時にＳＯＡＰボディの送信及びゲートウェイ１０１からの受信が終了していれば、ＳＯＡＰヘッダの送信を始める。終了していなければ、ゲートウェイ１０１からの返信の受信を終了するのを確認するまで待ってから、ＳＯＡＰヘッダの送信を始める。
【００５３】
以上の処理のうち、Ｓ１とＳ２が並列化され、またＳ３とＳ４が並列化されている。メッセージの送信に時間のかかるようなモバイル機器１００を使用している際に、最も処理時間の大きいＳ３とＳ４(ア)が並列化されていることから、処理全体の高速化が期待できる。
【００５４】
なお以上の処理手順は、ＨＴＴＰのようにメッセージ全体を一度に送受信する形式のプロトコルを想定して記述されている。もしストリーム型のプロトコルを適用するなら、例えば（ａ）ＳＯＡＰボディの一部を送信しながらＳＯＡＰボディの残りの部分を暗号化すること（Ｓ２(イ)とＳ３とを並列化すること。）、及び（ｂ）ＳＯＡＰヘッダの一部を送信しながらＳＯＡＰヘッダの残りの部分を構築すること（Ｓ４(イ)とＳ５とを並列化すること）というようなことも、原理的には可能である。
【００５５】
ＳＯＡＰメッセージが依拠するトランスポート層のプロトコルはＨＴＴＰに限定されない。ＳＭＴＰやＦＴＰであってもよい。
【００５６】
［解決手段２］
図１４は受信メッセージの分割についての説明図である。ゲートウェイ１０１からモバイル機器１００へのメッセージ受信処理について、以下の手順によりモバイル機器１００上での並列化を実現する。この解決手段では、ゲートウェイ１０１が受信したＳＯＡＰメッセージを、ボディ区分とヘッダ区分の２通に分割して、モバイル機器１００に到達するものとする。ここで、時間軸を横軸にして処理時間の内訳を図示したものを、図１５に示す。
【００５７】
Ｓ１：ゲートウェイ１０１からＳＯＡＰヘッダを受信する。
Ｓ２：ＳＯＡＰヘッダの受信が終わったら、引き続きゲートウェイ１０１からＳＯＡＰボディを受信する。
Ｓ３：Ｓ２と並列して、以下の処理を行う。
(ア)：ＳＯＡＰヘッダを解読し、署名検証や復号化に必要な情報を蓄積する。
(イ)：ＳＯＡＰヘッダに記述されている鍵を復号化する。また署名値を検証する。このとき、鍵復号化と署名値検証は並列化が可能である。
(ウ)：受信したＳＯＡＰボディに対して、署名検証の対象、メッセージ復号化の対象、などをバッファにコピーすることで、各処理の準備を整える。
Ｓ４：Ｓ３(イ)の終了時に通信が終了していれば、ＳＯＡＰボディの解読を始める。終了していなければ、受信を終了するのを確認するまで待ってから、ＳＯＡＰボディの解読を始める。
Ｓ５：ＳＯＡＰボディ中で暗号化されているメッセージ部分の復号化、署名対象となっている部分のダイジェスト値検証、などを行う。
Ｓ６：セキュリティ演算処理を終了した後に、ＳＯＡＰボディの中からアプリケーションに返すべき値を見つける。
【００５８】
以上の処理のうち、Ｓ２とＳ３が並列化されている。メッセージの受信に時間のかかるようなモバイル機器１００を使用している際に、最も処理時間の大きいＳ２とＳ３(イ)が並列化されていることから、処理全体の高速化が期待できる。
【００５９】
なお以上の処理手順は、ＨＴＴＰのようにメッセージ全体を一度に送受信する形式のプロトコルを想定して記述されている。もしストリーム型のプロトコルを適用するなら、例えば（ａ）ＳＯＡＰヘッダの一部を処理しながらＳＯＡＰヘッダの残りの部分を受信すること（Ｓ１とＳ３とを並列化すること）、及び（ｂ）ＳＯＡＰボディの一部を処理しながらＳＯＡＰボディの残りの部分を受信すること（Ｓ２とＳ４〜Ｓ６とを並列化すること）というようなことも、原理的には可能である。
【００６０】
実施例におけるＳＯＡＰメッセージの分割例及び通信手順を図１６及び図１７に示す。なお、図１６は通常のＷＥＢサービスの使用を想定した分割メッセージを示し、図１７はＪＳＲ１７２準拠下で許容される簡略な分割メッセージを示している。ここでは、ＨＴＴＰのようにメッセージ全体を一度に送受信し、Request−Response形式で通信するプロトコルを想定する。ストリーム型のプロトコルを適用するなら、通信手順はこの限りではない。
【００６１】
ここで、ＳＯＡＰメッセージは必ずＳＯＡＰエンベロープ要素を持ち、その内側にＳＯＡＰボディを持つ、と規定されている。この規定に従ってＳＯＡＰメッセージを分割すると、図１６のようになる。しかしＪ２ＭＥ（Java 2 Micro Edition）環境上でのＷＥＢサービスについて規定したＪＳＲ１７２では『ゲートウェイ１０１とサーバー１０２の間で適切なＳＯＡＰメッセージが送受信できるならば、ゲートウェイ１０１とモバイル機器１００の間のＳＯＡＰメッセージは厳密にＳＯＡＰの仕様に従っていなくてもよい』と定めている。よってＪＳＲ１７２に準拠したＷＥＢサービスにおいては、例えば図１７に示すように、ＳＯＡＰエンベロープ要素やＳＯＡＰボディ要素を省略したメッセージをモバイル機器１００とゲートウェイ１０１の間で送受信することができる。図１７のようなメッセージを送受信できるなら、ゲートウェイ１０１は単純にメッセージを分割または結合するだけでモバイル機器１００との通信ができるので、図１６と比較して好都合である。
【００６２】
モバイル機器１００とゲートウェイ１０１の間のＳＯＡＰメッセージを分割し、メッセージ処理と通信処理を並列化することで、モバイル機器１００上のＷＥＢサービス及びＷＥＢサービス・セキュリティの処理を高速化する、という効果を得ることができた。本発明は、例えば以下のようなビジネスにおいて有効であると考えられる。
【００６３】
携帯電話キャリア会社では、クレジットカードと同じ感覚で携帯電話を決済に用いるシステムの実証実験を終えている。このシステム構築は、（ａ）携帯電話に装着するメモリデバイス機器に、クレジットカード会社が発行した証明書及び公開鍵を挿入すること、及び（ｂ）携帯電話からショッピングサーバー１０２及び決済サーバー１０２に、上述の証明書及び公開鍵を用いて署名・暗号化を適用したメッセージを送信することで、クレジットカード会社は購買者を特定し、決済を行うことというシナリオの上に成立している。このとき、携帯電話キャリア会社のゲートウェイ１０１が、携帯電話機器による署名や暗号化に手を加えずに、ショッピングサーバー１０２や決済サーバー１０２にメッセージを届けることを保証するという観点から、このシステムにはＷＥＢサービス・セキュリティが適している。またこのシステムでは、携帯電話キャリア会社のゲートウェイ１０１が直接関与しているシステムであるため、携帯電話会社のゲートウェイ１０１がＳＯＡＰメッセージに分割処理・結合処理を組み込むことが可能である。このビジネスにおいて、ＷＥＢサービス・セキュリティの処理時間が課題となった場合には、本発明を提案する余地があるものと考えられる。
【００６４】
［処理時間の測定］
本発明を発明者の手持ちのモバイル機器１００に実装して処理時間を測定することは、現時点では以下の理由により不可能である。そのため、本発明の実施例及び効果を、実際の測定結果をもって示すことができない。
理由１：モバイル機器１００に実装されている署名や暗号化のAPIが公開されていないので、それを利用して呼び出すことができない。
理由２： 署名や暗号化などの処理を実装したライブラリをアプリケーションの一部として実装することも考えられるが、現在市販されている携帯電話等のアプリケーション容量の範囲内で実装するのは困難である。
【００６５】
代わりに本明細書では、以下のデータ１，２を参照して、本発明を実装した際の処理時間の向上度を推定する。
［データ１］ 発明者らによるＷＥＢサービス及びＷＥＢサービス・セキュリティの実装を用いて、発明者のビジネスパートナーがモバイル機器１００実機上にて測定した処理時間。
［データ２］ 発明者らによるＷＥＢサービスの実装を用いて、携帯電話実機からゲートウェイ１０１にＳＯＡＰメッセージを送受信して測定した通信時間。
【００６６】
［データ１］の測定時間は図１８に示す通りである。この測定では、モバイル機器１００からの送信メッセージ、モバイル機器１００への受信メッセージ、ともにＳＯＡＰボディに対して署名と暗号化が１回ずつ適用されている。ＳＯＡＰメッセージは後述の［ＳＯＡＰメッセージの例］のようなものである（まったく同一ではないが、非常に類似したメッセージを用いていた）。
【００６７】
［データ２］の測定時間は図１９に示す通りである。この測定では、さまざまなサイズのＳＯＡＰメッセージを送受信したところ、送受信の所要時間がメッセージサイズ s に対する一次関数で近似できるような結果となったので、その係数を近似により求めた。
【００６８】
上記の測定結果中の一次関数より、後述の［ＳＯＡＰメッセージの例］の送受信には、図２０に示す時間を要すると仮定できる。
【００６９】
以上のデータを用いて、本発明による処理時間の向上を推定する。ただし以下、サーバー１０２内部による処理時間は、どの処理においても同一と考えられるので無視する。また、ゲートウェイ１０１によるメッセージ加工処理時間は、処理時間全体に対して非常に小さいので無視できるとする。
【００７０】
［推定１］
アプリケーション起動初回時の通信について、従来の実装による処理時間と、本発明で ［解決手段１］と［解決手段２］ を併用したときの処理時間、を推定する。
【００７１】
従来の実装による処理時間は、以下の内訳により、合計２７４９３．１ミリ秒と推定される。
４６１８．４ミリ秒：送信メッセージ構築(［送信１］＋［送信２］)
７２４６．６ミリ秒：通信確立(［通信１］)
６４１３．４ミリ秒：メッセージ送信(［通信３］)
８０６．３ミリ秒：メッセージ受信(［通信３］)
８４０８．４ミリ秒：受信メッセージ解読(［受信１］＋［受信２］)
【００７２】
本発明による処理時間は、通信処理とメッセージ処理が完全に並列できたと仮定すると、以下の内訳により、合計２４９３２．４ミリ秒と推定される。
７２４６．６ ミリ秒：送信メッセージ構築前半(［送信１］)と通信確立(［通信１］)の並列
２８４３．０ミリ秒：メッセージ送信前半(［通信５］)と送信メッセージ構築後半(［送信２］)の並列
５７１５．８ミリ秒：メッセージ送信後半(［通信４］)
７１８．６ミリ秒：メッセージ受信前半(［通信４］)
７１５１．７ミリ秒：メッセージ受信後半(［通信５］)と受信メッセージ解読前半(［受信１］)の並列
１２５６．７ミリ秒：受信メッセージ解読後半(［受信２］)
【００７３】
［推定２］
アプリケーション起動２回目以降の通信について、従来の実装による処理時間と、本発明で ［解決手段１］と［解決手段２］ を併用したときの処理時間、を推定する。
【００７４】
従来の実装による処理時間は、以下の内訳により、合計２２３５７．６ミリ秒と推定される。
４６１８．４ミリ秒：送信メッセージ構築(［送信１］＋［送信２］)
２１１１．１ミリ秒：通信確立(［通信２］)
６４１３．４ミリ秒：メッセージ送信(［通信３］)
８０６．３ミリ秒：メッセージ受信(［通信３］)
８４０８．４ミリ秒：受信メッセージ解読(［受信１］＋［受信２］)
【００７５】
本発明による処理時間は、通信処理とメッセージ処理が完全に並列できたと仮定すると、以下の内訳により、合計１９７９６．９ミリ秒と推定される。
２１１１．１ミリ秒：送信メッセージ構築前半(［送信１］)と通信確立(［通信２］)の並列
２８４３．０ミリ秒：メッセージ送信前半(［通信５］)と送信メッセージ構築後半(［送信２］)の並列
５７１５．８ミリ秒：メッセージ送信後半(［通信４］)
７１８．６ミリ秒：メッセージ受信前半(［通信４］)
７１５１．７ミリ秒：メッセージ受信後半(［通信５］)と受信メッセージ解読前半(［受信１］)の並列
１２５６．７ミリ秒：受信メッセージ解読後半(［受信２］)
【００７６】
実際には本発明による並列処理部分の処理時間は、この推定時間よりは多少大きくなることが予想される。なお本明細書では、発明者のビジネスパートナーから提供いただいた測定結果を用いるために、ＳＯＡＰボディ区分が小さい（８２９バイト）メッセージについて推定を行ったが、ＳＯＡＰボディ区分が大きくなればなるほど、本発明と従来実装の処理時間の差が広がる（＝本発明の優位性が高くなる）ことが予想される。
【００７７】
［ＳＯＡＰメッセージの例］
なお、下記のＳＯＡＰメッセージにおいて左端の３桁の３００番台の数字は行番号である。該ＳＯＡＰメッセージは、前述の親ＳＯＡＰメッセージに対応する。行番号３１１〜３８２がヘッダであり、行番号３８３〜３９５がボディである。
【００７８】
300:POST /Echo_ArraytestWeb/services/EchoArray HTTP/1.1
301:User-Agent: Java1.2.2
302:Host: sfumiko-server.trl.ibm.com
303:Connection: close
304:Content-Length: 5122
305:Content-Type: text/xml;charset=utf-8
306:SOAPAction: 
307:<s:Envelope
308:xmlns:s=http://schemas.xmlsoap.org/soap/envelope/
309:xmlns:xsd=http://www.w3.org/2001/XMLSchema
310:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
311: <s:Header>
312:    <w:Security xmlns:w="http://schemas.xmlsoap.org/ws/2003/06/secext" s:mustUnderstand="1">
313:      <w:BinarySecurityToken
314:xmlns:u=http://schemas.xmlsoap.org/ws/2003/06/utility
315:EncodingType="w:Base64Binary"
316:ValueType="w:X509v3" u:Id="X509BST_8000939669883004294_1065777034858">
317:MIIB7jCCAVcCBD9hYbowDQYJKoZIhvcNAQEEBQAwPjELMAkGA1UEBhMCSlAxDDAKBgNVBAoTA0lCTTEMMAoGA1UECxMDVFJMMRMwEQYDVQQDDApSU0FfQ2xpZW50MB4XDTAzMDkxMjA2MDMzOFoXDTA0MDkxMTA2MDMzOFowPjELMAkGA1UEBhMCSlAxDDAKBgNVBAoTA0lCTTEMMAoGA1UECxMDVFJMMRMwEQYDVQQDDApSU0FfQ2xpZW50MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGQQtBMUGWLDFT2BwiCzOtyyJ4zjBVndEtYZGRyeJmRtMOp4WIJ＋MfBjYyvCNpm4AVV＋rg7zbsqo1p5Fxta3Un3efO4MMgYnUmPT35＋BlA062n/iZmAdSOt＋Wiiwqgt5SElMi6clR3TMdOrldEtqngYEfTsgSkQv＋wBSXbE8np＋wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAE3bs8xb5KNc61L3x6rIftzJHZxtb3sD7oCttiS4U0wgHwE/KyeCyMLi8WrrSa3ImDyjCjLoTATgECCiRBsLOG0OGgSqrTJsSP6T9s2FVcl/pab0wSuvhB2j4WR/MQGlM5zrYcAM4hHcUr5vnhs6sA91wVzvmtmbZxjHnzrsphes</w:BinarySecurityToken>
318:      <e:EncryptedKey xmlns:e="http://www.w3.org/2001/04/xmlenc#">
319:          <e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
320:          <d:KeyInfo xmlns:d="http://www.w3.org/2000/09/xmldsig#">
321:            <w:SecurityTokenReference>
322:                <w:KeyIdentifier>mIkBAV0xjRhM1l8oag50LVP55ns=</w:KeyIdentifier>
323:            </w:SecurityTokenReference>
324:          </d:KeyInfo>
325:          <e:CipherData>
326:<e:CipherValue>
327:eXfS8n/XjZ2BLm7eVLKf92qx/Qoc7ektAWBJ＋xpcMclLLCRXcn/afwWDCXXQ/ZHNLeBQodRcUas6ujvBbGhU6xaJfhAGsjOLXCBXi9EYmxPuy1UL50nNh0qJnIJsfxgYBnTgk2ny3OEfNE2NQxjgtbCRvJvFAk1PdcOmKRvxOzw=<
328:/e:CipherValue>
329:          </e:CipherData>
【００７９】
330:          <e:ReferenceList>
331:            <e:DataReference URI="#enc_173517017163344533_1065777035148"/>
332:            <e:DataReference URI="#enc_8650492430262383644_1065777035399"/>
333:          </e:ReferenceList>
334:      </e:EncryptedKey>
335:      <d:Signature xmlns:d="http://www.w3.org/2000/09/xmldsig#">
336:          <d:SignedInfo xmlns:d="http://www.w3.org/2000/09/xmldsig#">
337:            <d:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></d:CanonicalizationMethod>
338:            <d:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></d:SignatureMethod>
339:            <d:Reference URI="#tsc_5174836288291415044_1065777035348">
340:                <d:Transforms>
341:                  <d:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></d:Transform>
342:                </d:Transforms>
343:                <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></d:DigestMethod>
344:                <d:DigestValue>JhhPEHjP9fR2T39＋KmZTIQ6B＋AA=</d:DigestValue>
345:            </d:Reference>
346:            <d:Reference URI="#tse_5174836288291415044_1065777035348">
347:                <d:Transforms>
348:                  <d:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></d:Transform>
349:                </d:Transforms>
350:                <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></d:DigestMethod>
351:                <d:DigestValue>frlyPRyyWh7I00T0t4B7QMgd2Zw=</d:DigestValue>
352:            </d:Reference>
353:            <d:Reference URI="#sign_961746961227845441_1065777035378">
354:                <d:Transforms>
355:                  <d:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></d:Transform>
356:                </d:Transforms>
357:                <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></d:DigestMethod>
358:                <d:DigestValue>9qHLwsH9q1tk0277D6TTVrcdd8s=</d:DigestValue>
359:            </d:Reference>
【００８０】
360:</d:SignedInfo> <d:SignatureValue>pJ/g8fV8l0TjSDWTbk/entiMlX1cMfA/c/ZGejOB4/ewzTp2KFQLEFy7ghvO1ygbVARnu/hYNxPnhqO4NMBOtcmXPFzaWnoHnAycsAf2lVphJk4U2Fl5kQjZHvoVtsWA3LpYYsuXqsVgof5iI6GMXgrsHxy2sgEVWUiaDcpjfqo=</d:SignatureValue>
361:          <d:KeyInfo>
362:            <w:SecurityTokenReference>
363:                <w:Reference URI="#X509BST_8000939669883004294_1065777034858"/>
364:            </w:SecurityTokenReference>
365:          </d:KeyInfo>
366:      </d:Signature>
367:      <e:EncryptedData
368:xmlns:e=http://www.w3.org/2001/04/xmlenc#
369:Id="enc_173517017163344533_1065777035148" 
370:Type="http://www.w3.org/2001/04/xmlenc#Element">
371:          <e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
372:          <e:CipherData> <e:CipherValue>7VnWQO88ymAtijDYZLufL3v1qjGm6yCY4vqrzFZOt6r9Cwlb0zJYY＋d8LtmpSPAOQhxZtDACqjOXanv＋72Rr76K0S＋G1iMlto0aAlTR2iwbj7DWFfo1esphjznWSAA＋qzvbXd0H4ES4x8AfRlpAkbzIvm0ilqn4iudJNdiWTWVIS6nV90QihNSb3elNOd2IEHafKQ＋HSdfyPp8yvk8cHrHx492k6X8YAkqjufTbszcthfNdX9wMH8lTasl54ob5s4hNHBcm3R0BAib5RqV67Dw==</e:CipherValue>
373:          </e:CipherData>
374:      </e:EncryptedData>
375:    </w:Security>
376:    <u:Timestamp xmlns:u="http://schemas.xmlsoap.org/ws/2003/06/utility">
377:      <u:Created
378:xmlns:u=http://schemas.xmlsoap.org/ws/2003/06/utility u:Id="tsc_5174836288291415044_1065777035348">2003-10-10T09:10:35Z</u:Created>
379:      <u:Expires
380:xmlns:u=http://schemas.xmlsoap.org/ws/2003/06/utility u:Id="tse_5174836288291415044_1065777035348">2003-11-10T09:10:35Z</u:Expires>
381:    </u:Timestamp>
382: </s:Header>
383: <s:Body
384:xmlns:s=http://schemas.xmlsoap.org/soap/envelope/
385:xmlns:u=http://schemas.xmlsoap.org/ws/2003/06/utility
386:u:Id="sign_961746961227845441_1065777035378">
387:    <e:EncryptedData
388:xmlns:e=http://www.w3.org/2001/04/xmlenc#
389:Id="enc_8650492430262383644_1065777035399"
【００８１】
390:Type="http://www.w3.org/2001/04/xmlenc#Content">
391:      <e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
392:      <e:CipherData> <e:CipherValue>Gj4UeMvvEvSuimE7FFV39GV2y78OFJE1ytiUic9gFPdSBc9gYaOsrBRBC989fuKJuhbW3kGD14＋GNjzyZ/K14buTTbPvJoKnemy31XVzHNusObY5PPtvpfJBRIUtuIHb</e:CipherValue>
393:      </e:CipherData>
394:    </e:EncryptedData>
395: </s:Body>
396:</s:Envelope>
【図面の簡単な説明】
【００８２】
【図１】ＷＥＢサービス・システムの概略図である。
【図２】ＳＯＡＰメッセージの送受に利用するトランスポート層のメッセージの構造図である。
【図３】ＳＯＡＰメッセージの構造図である。
【図４】ＳＯＡＰメッセージ用中間処理装置がゲートウェイに装備される場合のＷＥＢサービス・システムの機能ブロック図である。
【図５】ＳＯＡＰメッセージ用中間処理装置がプロバイダに装備される場合のＷＥＢサービス・システムの機能ブロック図である。
【図６】ＷＥＢサービス・システムの中でリクエスト処理に関わる部分の機能ブロック図である。
【図７】ＷＥＢサービス・システムの中でレスポンス処理に関わる部分の機能ブロック図である。
【図８】ＷＥＢサービス・システムに適用されるリクエスト用ＳＯＡＰメッセージ処理方法のフローチャートである。
【図９】ＷＥＢサービス・システムに適用されるレスポンス用ＳＯＡＰメッセージ処理方法のフローチャートである。
【図１０】プログラムを実行するためのハードウェア構成図である。
【図１１】実施例が想定するシステム構成図である。
【図１２】実施例のおける送信メッセージの分割の説明図である。
【図１３】第１の解決手段における各処理部分の処理時間の内訳を時間軸を横軸にして示す図である。
【図１４】受信メッセージの分割についての説明図である。
【図１５】第２の解決手段における各処理部分の処理時間の内訳を時間軸を横軸にして示す図である。
【図１６】通常のＷＥＢサービスの使用を想定した分割メッセージを示す図である。
【図１７】ＪＳＲ１７２準拠下で許容される簡略な分割メッセージを示す図である。
【図１８】第１のデータについての測定時間を示す図である。
【図１９】第２のデータについての測定時間を示す図である。
【図２０】測定時間に基づき計算した所定のＳＯＡＰメッセージの送受信に要する時間を示す図である。
【符号の説明】
【００８３】
１０：ＷＥＢサービス・システム、１１：リクエスタ、１３：ゲートウェイ、１４：インターネット、１５：プロバイダ、１６：ＳＯＡＰメッセージ、１８：ＳＯＡＰメッセージ、２１：ＳＯＡＰヘッダ、２２：ＳＯＡＰボデー、２４：ＳＯＡＰメッセージ用中間処理装置、２６：順番規定手段、２７：区分作成手段、２８：送信手段、３２：受信手段、３３：親ＳＯＡＰメッセージ生成手段、３４：送信手段、３９：順番規定手段、４０：子ＳＯＡＰメッセージ生成手段、４１：送信手段、４５：受信手段、４６：解読処理手段。
【図１】
2005301527.tif 000003
【図２】
2005301527.tif 000004
【図３】
2005301527.tif 000005
【図４】
2005301527.tif 000006
【図５】
2005301527.tif 000007
【図６】
2005301527.tif 000008
【図７】
2005301527.tif 000009
【図８】
2005301527.tif 000010
【図９】
2005301527.tif 000011
【図１０】
2005301527.tif 000012
【図１１】
2005301527.tif 000013
【図１２】
2005301527.tif 000014
【図１３】
2005301527.tif 000015
【図１４】
2005301527.tif 000016
【図１５】
2005301527.tif 000017
【図１６】
2005301527.tif 000018
【図１７】
2005301527.tif 000019
【図１８】
2005301527.tif 000020
【図１９】
2005301527.tif 000021
【図２０】
2005301527.tif 000022