プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Service Busでのサービスの開発
12c (12.1.3)
E53004-06
目次へ移動
目次

前
次

29 HTTPトランスポートおよびポーラー・トランスポートの使用

この章では、HTTP(S)トランスポートおよびポーラー・トランスポート(電子メール、ファイル、FTPおよびSFTP)の概要と、サービスでの使用および構成方法について説明します。

HTTPトランスポートの項では、Service BusでのRESTの使用についても説明しますが、「Oracle Service BusでのRESTサービスの作成」の説明に従い、RESTバインディングも使用できます。

このドキュメントは、次の項で構成されています。

29.1 ポーラー・トランスポートの概要

様々なタイプのトランスポートを使用して、Service Busのプロキシ・サービスまたはビジネス・サービスを構成できます。選択する転送プロトコルは、サービス・タイプ、必要な認証のタイプ、呼出し元のサービスのサービス・タイプなどによって異なります。ポーリングベースのトランスポートでは、管理対象サーバーにトランスポート・ポーラーが固定されています。このようなトランスポートは、ソース・ディレクトリまたは電子メール・サーバーで新しいメッセージをポーリングします。メッセージが1回以上処理されるように、JMSフレームワークが使用されます。電子メール、ファイル、FTPおよびSFTPは、ポーリングベースのトランスポートです。

デフォルトでは、ポーラー・トランスポートはWebLogic Server JMSを使用しますが、クラスタ化されたドメインは、ドメインの作成または拡張時にOracle Advanced Queueing (AQ) JMSを使用するように構成できます。リポジトリ作成ユーティリティ(RCU)を実行すると、必要なすべてのService Busキューおよびキュー表が作成されます。「到着順にソート」機能は、AQ JMSでのポーリングベースのトランスポートではサポートされていません。

Oracle AQを使用する環境の構成については、『Oracle Service Busの管理』のOracle Advanced Queueing JMSの使用に関する項を参照してください。

29.2 HTTPトランスポートの使用

HTTPトランスポートは、Service BusでHTTP(S)プロトコルを使用してクライアントとサービス・プロバイダ間でメッセージの送信を行います。また、「RESTサポート」で説明されているように、HTTPトランスポートはRepresentational State Transfer (REST)環境での作業のサポートも提供します。

29.2.1 HTTPセッションの固定

Service Busでは、ロード・バランシングにおいてビジネス・サービスにHTTPセッションの固定またはセッション・アフィニティがサポートされるため、特定のセッションに対するすべてのリクエストが1つのサーバーによって処理されます。固定は、サービスURI表の特定のエントリにセッションをマップすることで保持されます。スティッキー・セッションでは、最初のリクエストを処理するURIエントリがセッションを持ち、セッションの後続のメッセージがロード・バランサで受信された際は、最初のリクエストを処理したサービスURIエントリと同じエントリでルーティングされます。

標準的なロード・バランシング環境では、Service Busによって複数のサーバー間で負荷を分散できるため、セッション内の複数のメッセージをクラスタ内の同じサーバーで処理する必要がある場合は、セッションを固定するためにビジネス・サービスを構成する必要があります。

注意:

Oracle Service Busコンソールでは、サービスの再起動を必要とせずに、実行時にスティッキー・セッションを構成できます。

Service Busでは、スティッキー・セッションに対する次のシナリオはサポートされていません。

  • 1つのメッセージ・フローにおける、セッションが固定された複数のビジネス・サービス。

  • 同じパイプラインにおける、セッションが固定された複数のビジネス・サービス。

  • セッションが固定されたビジネス・サービスを示す分割-結合サービス。

  • セッションが固定された様々なビジネス・サービスへの動的ルーティング。

また、セッションを固定するように構成されたビジネス・サービスに対しては抑制が機能しないことにも注意してください。

29.2.2 プロキシ・サービスでのHTTP認可ヘッダーの取得

Service Busは、セキュリティの脆弱性が生じるため、リクエストからパイプラインにHTTP認可ヘッダーを渡しません。ユーザー名と暗号化されていないパスワードをログ・ファイルに書き込むログ・アクションを誤って作成するおそれがあります。

パイプラインでHTTP認可ヘッダーが必要なパターンを設計する場合は、次の手順を実行してください。

  1. Service Bus用の起動コマンドで、次のシステム・プロパティをtrueに設定します。
    com.bea.wli.sb.transports.http.GetHttpAuthorizationHeaderAllowed
    
  2. JDeveloperまたはOracle Service Busコンソールのサービスの定義エディタの「トランスポート」ページで、「すべてのヘッダーを取得」を選択するか、ユーザー指定のヘッダーを選択して「認可」を指定します。
  3. Service Busを再起動します。

29.2.3 HTTPトランスポート構成のリファレンス

この項では、エンドポイントURIの形式およびプロキシ・サービスとビジネス・サービスにおけるHTTPトランスポートの構成について説明します。

29.2.3.1 HTTPトランスポートのエンドポイントURI

任意のタイプのプロキシ・サービスまたはビジネス・サービスを構成する場合は、HTTP転送プロトコルを選択できます。エンドポイントURIの形式は次のとおりです。

  • プロキシ・サービス: /service_name

  • ビジネス・サービス: http://host:port/service_name

説明:

  • hostは、サービスをホストするシステムの名前です。

  • portは、接続を行うポート番号です。

  • service_nameはターゲット・サービス名です。

    注意:

    HTTPSに基づくビジネス・サービスを構成するときは、次のエンドポイントURIを指定する必要があります。

    https://host:port/someService

29.2.3.2 HTTPトランスポートを使用するプロキシ・サービスの構成

次の表に、プロキシ・サービス用のHTTPトランスポートの構成に使用するプロパティを示します。詳細は、「プロキシ・サービスの作成と構成」を参照してください。

表29-1 プロキシ・サービス用のHTTPトランスポート・プロパティ

プロパティ 説明

HTTPSが必要

インバウンドHTTPSエンドポイントの場合は、このチェック・ボックスを選択します。HTTPSプロトコルは、通信を保護するためにSSLを使用します。SSLを使用して通信を暗号化し、メッセージの整合性を保証するとともに、強力なサーバーおよびクライアントの認証を要求できます。

詳細は、「HTTPSのトランスポート・レベルでのセキュリティの構成」を参照してください。

認証

認証方式として、次のいずれかを選択します。

  • なし: 認証を必要としないことを指定します。プロキシ・サービスにOWSMポリシーを指定する場合は、このオプションを選択してください。

  • 基本: このサービスにアクセスするには、基本認証が必要であることを指定します。基本認証では、Oracle WebLogic Serverでユーザー名とパスワードを使用し、セキュリティ・レルム(Lightweight Directory Access Protocol (LDAP)ディレクトリ・サービスやWindows Active Directoryなど)で構成された認証プロバイダに対してクライアントの認証が行われます。クライアントは、HTTPリクエスト・ヘッダーでユーザー名とパスワードを送信する必要があります。HTTPでの基本認証は、パスワードがクリア・テキストで送信されるため推奨しません。HTTPSでは暗号化されたチャネルが提供されるため、パスワードはHTTPSで送信するのが安全です。

    警告:デフォルトでは、すべてのユーザー(認可ユーザーおよび匿名ユーザー)がプロキシ・サービスにアクセス可能です。プロキシ・サービスにアクセスできるユーザーを制限するには、トランスポートレベルの認可ポリシーを作成する必要があります。「トランスポート・レベルのセキュリティの構成」を参照してください。

  • クライアント証明書: 暗号化通信および強力なクライアント認証(双方向SSL)を指定します。詳細は、「HTTPSのトランスポート・レベルでのセキュリティの構成」を参照してください。

  • カスタム認証: 認証トークンがHTTPヘッダーに含まれていることを指定します。クライアントのIDは、ここでクライアントが指定したトークンを使用して設定されます。トークンをService BusユーザーにマップするIDアサーション・プロバイダを構成する必要があります。

    カスタム認証トークンには、構成されたWebLogic Server IDアサーション・プロバイダがサポートする任意のアクティブなトークン・タイプを指定できます。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

リクエストのエンコーディング

リクエスト・メッセージに使用する文字セットのエンコーディングを指定します。

  • HTTPインバウンド・トランスポートの場合: クライアント・リクエストでContent-Typeヘッダーの文字セット・エンコーディング・パラメータが指定されていないときは、文字セット・エンコーディング・パラメータを入力します。値を入力しない場合は、このフィールドにデフォルトのISO-8859-1が設定されます。

  • HTTPアウトバウンド・トランスポートの場合: リクエスト・エンコーディングを構成していない場合、Service Busランタイムによって、ビジネス・サービスにリクエストを行う際に最適なエンコーディングが決定されます。パススルー以外のシナリオでは、実行時のデフォルトの文字エンコーディングはUTF-8となります。ただし、パススルーのシナリオでは、ランタイムはアウトバウンド・レスポンスで受信したエンコーディングのパススルーを行います。

レスポンスのエンコーディング

レスポンス・メッセージに使用する文字セットのエンコーディングを指定します。

認証ヘッダー

Service Busがトークンを抽出するHTTPヘッダー(Authorization以外の任意のヘッダー)を入力します。このフィールドが使用可能になるのは、「カスタム認証」チェック・ボックスが選択されている場合に限られます。

たとえば、client-xyz-tokenです。

認証トークン・タイプ

認証トークン・タイプを選択します。IDアサーション・プロバイダ用に構成されたアクティブなトークン・タイプのみが使用可能になりますこのフィールドが使用可能になるのは、「カスタム認証」チェック・ボックスが選択されている場合に限られます。

29.2.3.3 HTTPトランスポートを使用するビジネス・サービスの構成

次の表に、ビジネス・サービス用のHTTPトランスポートの構成に使用するプロパティを示します。詳細は、「ビジネス・サービスの作成と構成」を参照してください。

表29-2 ビジネス・サービス用のHTTPトランスポート・プロパティ

プロパティ 説明

読取りタイムアウト

読取りタイムアウトまでの間隔を秒単位で入力します。接続において、データが使用可能になる前にタイムアウトになると、接続エラーが生成されます。

値0ではタイムアウトが行われません。

接続タイムアウト

接続タイムアウトまでの間隔を秒単位で入力します。接続が確立する前にタイムアウトになると、Service Busによって接続エラーが生成されます。

値0ではタイムアウトが行われません。

HTTPリクエスト・メソッド

リクエスト内で使用するHTTPメソッドとして、次のいずれかを選択します。

  • POST: HTTPリクエストの本文の一部として、長さにかかわらずすべてのデータをソケット接続で直接渡す場合に使用します。このやりとりはクライアントから認識できず、URLも変わりません。RESTベースのリクエストの場合、POSTでは作成/置換操作を実行するか、またはリクエストの操作を実行するようにトランスポートに指示します。

  • GET: リクエストの一部として、取得対象を詳しく表した独自の情報を組み込む場合に使用します。この情報は、問合せ文字列内のリクエストURLに追加された文字のシーケンスとして渡されます。「リクエスト・メッセージ・タイプ」が「なし」に設定されている場合は、XMLサービス・タイプまたはメッセージ・サービス・タイプのビジネス・サービスでGETを使用できます。RESTベースのリクエストの場合、GETはリモート・リソースの表現を受け取ります。

  • PUT: RESTベースのリクエストによる作成と置換の操作(既知の場所へのファイルのアップロードなど)を実行するようトランスポートに通知する場合に使用します。PUTはXMLまたはメッセージ・サービス・タイプのビジネス・サービスで使用できます。

  • HEAD: RESTベースのリクエストでリモート・リソースの完全な表現を取得するのではなく、そのリソースのヘッダー情報を取得するようトランスポートに通知する場合に使用します。「リクエスト・メッセージ・タイプ」が「なし」に設定されている場合は、XMLサービス・タイプまたはメッセージ・サービス・タイプのビジネス・サービスでHEADを使用できます。

  • DELETE: RESTベースのリクエストによる削除操作を実行するようトランスポートに通知する場合に使用します。DELETEはXMLまたはメッセージ・サービス・タイプのビジネス・サービスで使用できます。

注意: $outbound/transport/request/http:http-method変数でメソッドがすでに設定されている場合は、HTTPリクエスト・メソッドに選択したどのメソッドよりもその値が優先されます。

認証

HTTP認証のタイプとして、次のいずれかを選択します。

  • なし: このサービスへのアクセスに認証を必要としません。

  • 基本: このサービスへのアクセスに基本認証を必要とします。基本認証では、WebLogic Serverでユーザー名とパスワードを使用し、セキュリティ・レルム(Lightweight Directory Access Protocol (LDAP)ディレクトリ・サービスやWindows Active Directoryなど)で構成された認証プロバイダに対してクライアントの認証が行われます。クライアントは、HTTPリクエスト・ヘッダーでユーザー名とパスワードを送信する必要があります。

    HTTPでの基本認証は、パスワードがクリア・テキストで送信されるため推奨しません。HTTPSでは暗号化されたチャネルが提供されるため、パスワードはHTTPSで送信するのが安全です。

    警告: デフォルトでは、すべてのユーザー(認可ユーザーおよび匿名ユーザー)がビジネス・サービスにアクセス可能です。ビジネス・サービスにアクセスできるユーザーを制限するには、トランスポートレベルの認可ポリシーを作成する必要があります。「トランスポート・レベルのセキュリティの構成」を参照してください。

  • クライアント証明書: 暗号化通信および強力なクライアント認証(双方向SSL)を指定します。詳細は、「HTTPSのトランスポート・レベルでのセキュリティの構成」を参照してください。

  • カスタム認証: カスタムJavaクラスによって認証が定義されることを指定します。詳細設定の「HTTPカスタム認証クラス名」フィールド(次で説明)で、認証クラスを指定する必要があります。

サービス・アカウント

サービスにアクセスするための認証に使用するサービス・アカウントを入力します。基本認証を選択した場合、このフィールドは必須です。カスタム認証を選択した場合は省略可能です。

詳細は、「サービス・アカウントの操作」を参照してください。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

ワーク・マネージャの詳細は、次の説明を参照してください。

リクエストのエンコーディング

電子メール・トランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのiso-8859-1を受け入れるか、別の文字セット・エンコーディングを入力します。

レスポンスのエンコーディング

HTTPトランスポートにおけるレスポンスの文字セット・エンコーディングとして、デフォルトのiso-8859-1を受け入れるか、別の文字セット・エンコーディングを入力します。

HTTPカスタム認証クラス名

カスタム認証に使用するJavaクラスの名前を入力します。このフィールドが使用可能になるのは、認証タイプとして「カスタム認証」を選択した場合のみです。カスタム認証クラスの作成の詳細は、「アウトバウンド用のカスタム認証クラスの作成方法」を参照してください。

プロキシ・サーバー

プロキシ・サーバー・リソースを入力するか、「参照」をクリックして構成されたプロキシ・サーバー・リソースの一覧からエントリを選択します。

HTTPリダイレクトの追跡

HTTPリダイレクト(レスポンス・コード3xxによるリクエスト)を自動的に追跡することを指定します。リダイレクトは、ビジネス・サービスのURLにアウトバウンド・リクエストを送信し、そのサービスから、URLが無効になったためこのリクエストを別のURLに送信する必要があることを示すレスポンス・コード(たとえば302)が返された場合に発生します。「HTTPリダイレクトの追跡」チェック・ボックスが選択されている場合、リクエストは自動的に新しいURLに再送信され、ユーザー側でのアクションは発生しません。HTTPリダイレクトを自動的に追跡しない場合は、このチェック・ボックスのチェックを外します。

チャンク・ストリーミング・モードの使用

HTTPチャンク転送エンコーディングを使用してメッセージを送信する場合は、このオプションを選択します。

注意: 「HTTPリダイレクトの追跡」オプションを使用する場合は、チャンク・ストリーミングを使用しないでください。リダイレクトと認証をチャンク・モードで自動的に処理することはできません。

セッション固定性

ビジネス・サービス用のHTTPリクエストにセッションの固定(セッション・アフィニティとも呼ばれる)を使用する場合は、このオプションを選択します。詳細は、「HTTPセッションの固定」を参照してください。

固定セッションID名

「セッション固定性」を有効にした場合、セッションを識別するための一意の名前を入力します。

29.2.4 RESTサポート

HTTPトランスポートは、非RESTサービス・プロバイダと対話する必要があるRESTクライアント、RESTベースのサービス・プロバイダと対話する必要がある非RESTクライアント、またはService Busを介して公開する必要があるREST-to-RESTサービスのいずれの場合にも、Service Busを介したREST環境での作業をサポートします。

RESTのパターンでは、特定のURLにあるリソースに対してHTTPメソッド(GET、PUT、HEAD、POST、DELETEなど)を呼び出します。たとえば、RESTを使用したWebアプリケーションでユーザーが各自のプロファイル情報を更新した場合、POSTアクションによって、サービスのREST APIを介してデータベースのユーザー情報が更新されます。

「Oracle Service BusでのRESTサービスの作成」で説明しているように、Service BusはRESTバインディングを組み込みつつ、Service Busでは、HTTPトランスポートを使用してインバウンドおよびアウトバウンド通信のRESTベースのリクエストを処理するために、次のプレースホルダ変数も提供します。

  • $inboundまたは$outbound/transport/request/http:http-method: GET、PUT、HEAD、POST、DELETEのようなHTTPメソッドを処理します。

  • $inboundまたは$outbound/transport/request/http:parameters: URLの問合せ文字列を処理します。parametersメタデータには、名前/値のペアを格納する1つ以上のparameter要素が含まれます。名前/値のペアは、問合せ文字列のURLDecoded値です。たとえば、http://localhost:7021/myproxy/weather?operation=temperature&pincode=94065というURLで、問合せ文字列は次の問合せパラメータとして格納されます。

    <http:query-parameters>
      <http:parameter name="operation" value="temperature"/>
      <http:parameter name="pincode" value="94065"/>
    </http:query-parameters>
    
  • $inboundまたは$outbound/transport/request/http:relative-URI: RESTリソースのURLの相対的な部分(プロキシ・サービスのURIに対して相対的)を処理します。たとえば、http://localhost:7021/myproxy/weatherというURLで、/weatherhttp://localhost:7021/myproxyに対して相対的なURLです。

29.2.4.1 プロキシ・サービスのREST

プロキシ・サービスには、RESTベースのリクエストを受信するか、RESTベースのアクションを生成するかにかかわらず、RESTパターンを操作できる柔軟性があります。

たとえば、RESTベースのアプリケーションを開発し、非RESTサービス・プロバイダでサービスを呼び出す場合は、プロキシ・サービスでREST操作を送り、その操作をサービス・プロバイダが認識できる形式に変換するか、非RESTリクエストをリソースURLに変換し、RESTベースのサービス・プロバイダで操作を呼び出すことができます。また、REST-to-REST実装の監視、監査およびレポートのために仲介者としてService Busを使用することもできます。

Service BusでRESTを使用する作業例は、Oracle Service Busサンプルのリポジトリ(http://www.oracle.com/technetwork/middleware/service-bus/learnmore/index.html)を参照してください。

29.2.4.1.1 XQueryサンプル

次に、プロキシ・サービスでHTTP変数を使用して行うURI解析のXQueryの例を示します。URI解析では、REST環境と非REST環境間でメッセージを変換できます。

相対URI

プロキシ・サービスのURIがhttp://localhost:7001/weatherであり、リクエストの相対URIの部分をキャプチャするとします。次のXQueryを作成します。

<relative-URI>
{
for $c in
fn:tokenize($inbound/ctx:transport/ctx:request/http:relative-URI, "/")
where fn:string-length($c) != 0
return
<part>
{$c}
</part>
}
</relative-URI>

リクエストのURIがhttp://localhost:7001/weather/temperature/35457の場合、相対URIは/temperature/35457になり、XQuery出力は次のようになります。

<relative-URI>
    <part>temperature</part>
    <part>35457</part>
</relative-URI>

問合せ文字列パラメータ

プロキシ・サービスのURIがhttp://localhost:7001/weatherであり、URL問合せ文字列パラメータをキャプチャするとします。次のXQueryを作成します。

<query-parameters>
{
return 
<param name="$inbound/ctx:transport/ctx:request/http:parameters/param/name"
value="$inbound/ctx:transport/ctx:request/http:parameters/param/value"></param>
}
</query-parameters>

リクエストのURIがhttp://server:7001/weather?operation=temperature&pincode=35457の場合、問合せ文字列はoperation=temperature&pincode=35457になり、http:parametersメタデータの個別パラメータとして格納されます。XQuery出力は次のようになります。

<query-parameters>
    <param name='operation' value='temperature'/>
    <param name='pincode' value='35457'/>
</query-parameters>
29.2.4.1.2 ヘッダー

サービスによりHTTP/RESTメソッドを処理するために固有のヘッダーが必要な場合、パイプラインにユーザー定義済HTTPヘッダー変数を作成します。

29.2.4.2 ビジネス・サービスのREST

ビジネス・サービスでは、RESTベースのサービスを呼び出すことができます。REST操作で、HTTPトランスポートは$outbound/transport/request/http:http-method変数の値を使用します。この変数にHTTPメソッドが指定されていない場合、HTTPトランスポートではトランスポート構成に含まれるHTTPリクエスト・メソッド(POST、PUT、HEAD、GET、DELETE)のいずれかを選択できます。

注意:

ビジネス・サービスがWSDLサービス・タイプを使用している場合は、POSTメソッドのみが選択可能です。

$outbound/transport/request-http/http-method変数を使用して、独自のメソッドを指定することもできます。たとえば、WebDAV (Web-based Distributed Authoring and Versioning)環境でCOPY、MOVE、およびLOCKを使用できます。

次のガイドラインを使用して$outbound変数を設定します。

  • トランスポートは、カスタム・メソッドに対して、またはこの項で説明する制約に従っていない手動で設定されたサポート対象メソッドに対して、実行時の検証を提供しません。

  • $outboundはルーティング・ノードでのみ有効なため、パブリッシュおよびサービス・コールアウト・アクションのメソッド名を実行時に指定することはできません。

  • $outbound問合せ文字列パラメータが設定されている場合、ビジネス・サービスは、RAWバイトからの問合せ文字列の構築にアウトバウンド・リクエスト・エンコーディングを、またparametersメタデータ要素から取得されたパラメータの名前/値のペアにURLエンコーディングを使用します。

  • $outbound相対URIが設定されている場合、ビジネス・サービスはその値を使用して、ビジネス・サービスURIに対して相対的なURIを生成します。

    たとえば、ビジネス・サービスが次のURIを使用し、

    http://service.com/purchaseOrder
    

    使用するHTTP変数は次のとおりです。

    $outbound/transport/request-http/relative-URI: "/PO12367" and
    $outbound/transport/request-http/parameters/parameter: "item=NO1"
    $outbound/transport/request-http/parameters/parameter: "color=black"
    

    最終的に解決されたURIは次のようになります。

    http://service.com/purchaseOrder/PO12367?item=NO1&color=black

29.2.5 HTTPビジネス・サービスのレスポンス・コードおよびエラー処理

Service Busは、200から500までの範囲のすべてのレスポンス・コードを処理するために、HTTP 1.1仕様に準拠しています。表29-3に、Service Busが様々なレスポンス・コード・レベルを処理する方法を示します。

HTTPビジネス・サービスは、300以上のエラーを含むレスポンス・ペイロードを受信するため、次のタイプである必要があります。

  • WSDL

  • 任意のSOAP

  • 次の条件を満たすメッセージング

    • レスポンス・メッセージ・タイプは、「MFL」または「XML」である(タイプがXMLまたはSOAPであると判断される)必要があります。Service BusがXMLまたはSOAP以外であると判断したレスポンス・タイプを持つHTTPビジネス・サービスでは、HTTPレスポンス・ペイロードが受信されません。

    • レスポンス・ペイロードのHTTPヘッダーContent-Typeは、text/xml、application/any_string+xmlまたはmultipart/relatedです。

表29-3 HTTPビジネス・サービスのレスポンス・コード処理

レスポンス・ステータス・コード 説明

100s

100レベルのステータス・コードは、Status-Lineとオプション・ヘッダーのみで構成され、空の行で終わる暫定レスポンスを示します。100レベルのコードのレスポンス動作は、内部のHttpURLConnection Javaクラスで処理済であるため、Service Busでは処理されません。

200s

200レベルのステータス・コードは、操作の成功を示します。Service Busは、ビジネス・サービス・タイプにかかわらず、HTTPビジネス・サービスにレスポンス・ペイロードとしてこれらのコードを戻します。

300s

300レベルのステータス・コードは、リクエストに対応するために呼出し元が追加アクションを実行する必要があることを示すエラーです。Service Busは、サポートされるメッセージ・レスポンス・タイプを含むHTTPビジネス・サービスにレスポンス・ペイロードとしてこれらのコードを戻します。

レスポンス・パイプラインで、300レベルのコードを処理するために適切なアクションを実行できます。

リダイレクトが必要であることを示す300レベルのレスポンス・コードを処理するには、HTTPビジネス・サービスのトランスポート構成で「HTTPリダイレクトの追跡」オプションを設定します。

400s

400レベルのステータス・コードは、クライアント・エラーを示します。Service Busは、サポートされるメッセージ・レスポンス・タイプを含むHTTPビジネス・サービスにレスポンス・ペイロードとしてこれらのコードを戻します。

レスポンス・パイプラインで、400レベルのコードを処理するために適切なアクションを実行できます。

500s

500レベルのステータス・コードは、サーバー・エラーを示します。Service Busは、サポートされるメッセージ・レスポンス・タイプを含むHTTPビジネス・サービスにレスポンス・ペイロードとしてこれらのコードを戻します。

レスポンス・パイプラインで、400レベルのコードを処理するために適切なアクションを実行できます。

29.3 電子メール・トランスポートの使用

電子メール・トランスポートは、メッセージ・サービス・タイプまたは任意のXMLサービス・タイプのサービスで使用できます。次の項では、電子メール・トランスポートを使用して、プロキシ・サービスとビジネス・サービスを構成する方法について説明します。電子メール・トランスポートでは、メッセージ・サービス・タイプのサービスの一方向のメッセージングをサポートしています。電子メール・トランスポートを使用して、メッセージ・タイプのプロキシ・サービスまたはビジネス・サービスを作成する場合、サービス構成でレスポンス・タイプを「なし」に設定する必要があります。

29.3.1 電子メール・トランスポート構成のリファレンス

この項では、エンドポイントURIの形式、およびプロキシ・サービスとビジネス・サービスにおける電子メール・トランスポートの構成について説明します。

29.3.1.1 電子メール・トランスポートのエンドポイントURI

電子メール・トランスポートを使用してプロキシ・サービスを構成する場合は、エンドポイントURIを次の形式で指定します。

mailfrom:mailserver-host:port

ここで、mailserver-hostはメール・サービスをホストするサーバーの名前、portはそのサーバーが使用するポート番号です。

電子メール・トランスポートを使用するビジネス・サービスを構成するとき、次の形式で1つ以上のエンドポイントURIを指定でき、こうすることで、複数のドメインの複数の受信者に電子メール・メッセージを送信できます。

mailto:name@domain_name.com

mailto:name@domain_name.com?smtp=smtp_server_resource

mailto:name@domain_name.com?mailsession=jndi_mail_session

次に例を示します。

mailto:user1@example1.com

mailto:user2@example2.com?smtp=exampleSMTP

mailto:user3@example3.com?mailsession=my.mail.Session

29.3.1.2 電子メール・トランスポートを使用するプロキシ・サービスの構成

次の表に、プロキシ・サービス用の電子メール・トランスポートの構成に使用するプロパティを示します。詳細は、「プロキシ・サービスの作成と構成」を参照してください。

表29-4 プロキシ・サービス用の電子メール・トランスポート・プロパティ

プロパティ 説明

SSLが必要

Secure Sockets Layerを使用して通信するには、このオプションを選択します。デフォルトのSSLポート番号は、次のとおりです。

  • POP3(S): 995

  • IMAP: 993

注意: SSLが機能するには、Service Busトラストストアに電子メール・サーバーの証明書が存在する必要があります。電子メール・トランスポートでは一方向SSL通信がサポートされます。

サービス・アカウント

電子メール・アカウントにアクセスするための認証に使用するサービス・アカウントを入力します。サービス・アカウントは、電子メール・アカウントにアクセスするために必要なユーザー名とパスワードの組合せで構成されます。

詳細は、「サービス・アカウントの操作」を参照してください。

管理対象サーバー

ポーリング・サーバーとして機能させる管理対象サーバーを選択します。すべての管理対象サーバーがメッセージを処理できますが、メッセージをポーリングできるのは、1台のサーバーのみです。

このフィールドは、クラスタ・ドメインでのみ使用できます。

ポーリング間隔

処理する新しいメッセージのポーリングを次に試行するまでの間隔を秒単位で入力します。デフォルト値は60です。

電子メール・プロトコル

電子メール・サーバーへの接続に使用する電子メール・プロトコルとして、POP3またはIMAPを選択します。

読取り制限

ポーリング・スイープごとの読取りメッセージの最大数を指定します。無制限にするには「0」と入力します。デフォルト値は10です。

参照渡し

このチェック・ボックスを選択すると、ファイルはアーカイブ・ディレクトリにステージングされ、ヘッダーに参照として渡されます。

デフォルトでは、新しいサービスを作成するときに、「参照渡し」オプションが選択されるため、アーカイブ・ディレクトリの場所を指定する必要があります。

添付ファイルを参照として渡す

このチェック・ボックスを選択すると、添付ファイルはアーカイブ・ディレクトリにステージングされ、ヘッダーに参照として渡されます。

デフォルトでは、「参照渡し」オプションが選択されると、「添付ファイルを参照渡し」オプションが暗黙的に適用されるため、アーカイブ・ディレクトリの場所を指定する必要があります。

読取り後のアクション

メッセージの読込み後の動作を選択します。

  • アーカイブ: メッセージはアーカイブされます。このオプションを選択した場合、Service Busがメッセージをアーカイブするアーカイブ・ディレクトリを指定します。

  • 「削除」: メッセージが削除されます。

  • 移動: メッセージは移動されます。このオプションを選択した場合、Service Busがメッセージを移動するIMAP移動先フォルダを指定します。「移動」は、IMAPプロトコルでのみ使用可能です。

添付ファイル

添付ファイルの処理方法を選択します。

  • アーカイブ: 添付ファイルはアーカイブ・ディレクトリに保存されます。

  • 無視: 添付ファイルは無視されます。

注意: 添付ファイルをアーカイブする場合、「参照渡し」パラメータの設定に関係なく、添付ファイルは参照としてメッセージ・ヘッダーに渡されます。

IMAP移動先フォルダ

「読取り後のアクション」フィールドが「移動」に設定されている場合は、メッセージの移動先フォルダを入力します。

このフィールドは、「読取り後のアクション」を「移動」に設定した場合に構成する必要があります。

ダウンロード・ディレクトリ

電子メールをダウンロードするための一時的な場所を入力します。

アーカイブ・ディレクトリ

「読取り後のアクション」フィールドが「アーカイブ」に設定されている場合は、アーカイブの場所へのパスを入力します。

「参照渡し」または「添付ファイルを参照渡し」オプションが選択されている場合は、このフィールドは必須です。これは、「読取り後のアクション」プロパティを「アーカイブ」に設定した場合にのみアクティブになります。

エラー・ディレクトリ

問題が生じたときにメッセージと添付ファイルを書き込むファイル・システム・ディレクトリへのパスを入力します。

リクエストのエンコーディング

電子メール・トランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのISO-8859-1を受け入れるか、別の文字セット・エンコーディングを入力します。

29.3.1.3 電子メール・トランスポートを使用するビジネス・サービスの構成

次の表に、ビジネス・サービス用の電子メール・トランスポートの構成に使用するプロパティを示します。詳細は、「ビジネス・サービスの作成と構成」を参照してください。

表29-5 ビジネス・サービス用の電子メール・トランスポート・プロパティ

プロパティ 説明

SSLが必要

Secure Sockets Layerを使用して通信するには、このオプションを選択します。電子メール・トランスポートでは一方向SSL通信がサポートされます。SSL使用時のデフォルトSMTPポート番号は465です。

注意: SSL/TLSが機能するには、Service Busトラストストアに電子メール・サーバーの証明書が存在する必要があります。

SMTPサーバー

name@domain_name.comのエンドポイントURIエントリで使用するデフォルトのSMTPサーバーを選択します。エンドポイントURIにSMTPサーバーのパラメータを指定すると、それらのサーバー・リソースがこの「SMTPサーバー」設定のかわりに使用されます。

「メール・セッション」オプションを使用する場合はSMTPサーバーを選択しないでください。

最初にSMTPサーバー・リソースを作成する必要があります。詳細は、「SMTPサーバー・リソースの作成方法」を参照してください。

メール・セッション

name@domain_name.comのエンドポイントURIエントリで使用する構成済メール・セッションのJNDI名を入力します。エンドポイントURIにJNDIメール・セッションのパラメータを指定すると、この「メール・セッション」設定のかわりにそれらのメール・セッションが使用されます。

「SMTPサーバー」オプションを使用する場合は、メール・セッションを入力しないでください。

送信元の名前

このサービスでの送信元の電子メール・アカウントの表示名を入力します。最初に、Oracle WebLogic Server管理コンソールで電子メール・セッションを構成しておく必要があります。

送信元アドレス

このサービスでの送信元の電子メール・アカウントを入力します。Oracle WebLogic Server管理コンソールでメール・セッションを作成する必要があります。また、「メール・セッション」パラメータまたは「SMTPサーバー」パラメータも設定する必要があります。

返信先の名前

電子メール・アカウントの返信先の表示名を入力します。これは、返信の送信元の名前です。

返信先アドレス

返信先の電子メール・アドレスを入力します。

接続タイムアウト

接続を切断するまでのタイムアウト間隔をミリ秒単位で入力します。「0」を入力すると、タイムアウトは発生しません。

ソケットI/Oタイムアウト

ソケットI/Oタイムアウト間隔をミリ秒単位で入力します。この値がゼロ(0)の場合、タイムアウトは発生しません。

リクエストのエンコーディング

電子メール・トランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのISO-8859-1を受け入れるか、別の文字セット・エンコーディングを入力します。

29.4 ファイル・トランスポートの使用

ファイル・トランスポートは、共有ファイル・システムで、指定したディレクトリ内にあるファイルからメッセージをポーリングする場合に使用します。ファイルを読み取った後、Service Busはトランスポートの構成に応じて、そのファイルを削除またはアーカイブできます。Service Busがリモートの場所にファイルを書き込む際に、プログラムがそのファイルにアクセスしないように、ファイルへの書込みが完了するまでファイル・トランスポート・ビジネス・サービスによって一時的にファイル名に.aが追加されます。

ファイル・トランスポートでは、メッセージング・サービス・タイプおよび任意のXMLサービス・タイプをサポートしています。メッセージング・サービス・タイプのリクエストでサポートされるメッセージ・タイプは、バイナリ、テキスト、MFLおよびXMLです。ファイル・トランスポートでは一方向のメッセージングのみがサポートされるため、レスポンス・メッセージ・タイプを「なし」に設定する必要があります。

29.4.1 ファイル・トランスポート構成のリファレンス

この項では、エンドポイントURIの形式、およびプロキシ・サービスとビジネス・サービスにおけるファイル・トランスポートの構成について説明します。

29.4.1.1 ファイル・トランスポートのエンドポイントURI

プロキシ・サービスおよびビジネス・サービスでファイル・トランスポートを使用する場合は、エンドポイントURIを次の形式で指定する必要があります。

file:///<root-dir/dir1>

ここで、root-dir/dir1は、プロキシ・サービスがファイルをポーリングしたり、ビジネス・サービスがファイルを書き込むディレクトリへの絶対パスです。

29.4.1.2 ファイル・トランスポートを使用するプロキシ・サービスの構成

次の表に、プロキシ・サービス用のファイル・トランスポートの構成に使用するプロパティを示します。詳細は、「プロキシ・サービスの作成と構成」を参照してください。

表29-6 プロキシ・サービス用のファイル・トランスポート・プロパティ

プロパティ 説明

ファイル・マスク

プロキシ・サービスがポーリングするファイルを指定します。URIがディレクトリの場合、*.*を指定すると、サービスによってそのディレクトリのすべてのファイルがポーリングされます。ファイル・マスクにはワイルドカード文字*および?を使用できます。正規表現はサポートされません。

管理対象サーバー

ポーリング・サーバーとして機能させる管理対象サーバーを選択します。すべての管理対象サーバーがメッセージを処理できますが、メッセージをポーリングできるのは、1台のサーバーのみです。

このフィールドは、クラスタ・ドメインでのみ使用できます。

ポーリング間隔

新しいファイルのポーリングを次に試行するまでの間隔を秒単位で指定します。デフォルト値は60です。

注意:ファイルが処理用に選択されるときに変更されていないことを確認するため、トランスポートはファイルを1回ポーリングしてから5秒後に再度ポーリングして、ファイル・サイズを比較します。これにより、ここに設定したポーリング間隔の間で5秒の遅延が発生する可能性があります。処理を完了してファイルのロックを解除するために十分な時間がシステムで確保されるように、この値を必ず高く設定してください。

読取り制限

各ポーリングで読み込むファイルの数を指定します。デフォルト値は10です。0を指定すると、すべてのファイルが読み込まれます。

到着順にソート

発生したイベントの順序をファイルの到着順に指定します。デフォルト値はFalseです。

クラスタ環境で実行されるプロキシ・サービスに対してこのオプションを選択すると、メッセージは常に同じサーバーに送信されます。つまり、このオプションを選択した場合、サーバー全体のロード・バランシングは無視されます。

サブディレクトリのスキャン

ポーリング・ディレクトリ内にあるすべてのサブディレクトリを再帰的にスキャンする場合は、このチェック・ボックスを選択します。

参照渡し

このチェック・ボックスを選択すると、ファイルはアーカイブ・ディレクトリにステージングされ、ヘッダーに参照として渡されます。このオプションを選択した場合、アーカイブ・ディレクトリも指定する必要があります。

読取り後のアクション

メッセージの読込み後の動作を選択します。

  • アーカイブ: メッセージはアーカイブされます。このオプションを選択した場合、アーカイブ・ディレクトリも指定する必要があります。

  • 「削除」: メッセージが削除されます。

ステージ・ディレクトリ

ファイルの処理中に一時的にファイルをステージングする中間ディレクトリを入力します。

前述のオプション選択にかかわらず必須です。ステージ・ディレクトリは、ポーリング・ディレクトリ(ファイル・トランスポート・プロキシ・サービスのURLで識別されるディレクトリ)内に配置しないでください。

アーカイブ・ディレクトリ

「読取り後のアクション」オプションが「アーカイブ」に設定されている場合、アーカイブ場所へのパスを入力します。「アーカイブ・ディレクトリ」フィールドは、「参照渡し」フィールドを選択した場合も必須のフィールドです。

注意: アーカイブ・ディレクトリをポーリング・ディレクトリ内に配置することはできません。

エラー・ディレクトリ

エラーが発生した場合にファイルの内容を格納するディレクトリを入力します。

前述のオプション選択にかかわらず必須です。エラー・ディレクトリは、ポーリング・ディレクトリ内に配置しないでください。

リクエストのエンコーディング

ファイル・トランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのutf-8を受け入れるか、別の文字セット・エンコーディングを入力します。

29.4.1.3 NFSファイル・システムに関する特別な考慮事項

ファイル・トランスポートでファイルをポーリングする場合、最初にディレクトリのファイルのリストとそのサイズを取得します。次に、5秒またはポーリング間隔が経過した後(いずれか少ない方)に再度ポーリングします。トランスポートでは、ファイルのリストを再度取得して、ファイル・サイズを最初のリストと比較します。その間隔を通じてサイズが変わらないファイルのみを処理します。標準のNFSファイル・システムでは、このプロセスに必要なファイル・ロック・メカニズムをサポートしません。この問題の解決には、次のいくつかのオプションを使用できます。

  • 追加のシグナリング(ファイル転送後のファイル名の変更など)を、特別なファイル名マスクと組み合せて使用します。

  • NFSに対してファイル・サイズ増大の保護を有効にするには、noac NFSマウント・オプションを使用します。これにより、ファイルのキャッシュが行われないため、lsコマンドが、最終結果の要求ファイル・サイズではなく、実際のファイル・サイズになります。

  • 追加のファイル・ロック機能が導入されたNFSバージョン4以降を使用します。

  • NetAppファイラ・ストレージを使用する場合、Mixed Qtreeセキュリティをボリュームに対して使用します。これで、CIFSやNFSに対してファイル・ロック・メカニズムが使用しやすくなります。

29.4.1.4 ファイル・トランスポートを使用するビジネス・サービスの構成

次の表に、ビジネス・サービス用のファイル・トランスポートの構成に使用するプロパティを示します。詳細は、「ビジネス・サービスの作成と構成」を参照してください。

表29-7 ビジネス・サービス用のファイル・トランスポート・プロパティ

プロパティ 説明

接頭辞

トランスポートによってリモート・サーバー上のファイル名の先頭に付加される接頭辞を入力します。

このフィールドにアスタリスク(*)を入力しないでください。この文字によりランタイム例外が発生します。ターゲット・オペレーティング・システムに対して無効な文字を使用しないでください。

接尾辞

トランスポートによってリモート・サーバー上のファイル名の末尾に付加される接尾辞を入力します。これは必須フィールドです。

このフィールドにアスタリスク(*)を入力しないでください。この文字によりランタイム例外が発生します。ターゲット・オペレーティング・システムに対して無効な文字を使用しないでください。

リクエストのエンコーディング

ファイル・トランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのutf-8を受け入れるか、別の文字セット・エンコーディングを入力します。

29.5 FTPトランスポートの使用

FTPトランスポートは、リモート・ファイル・システムで、指定したディレクトリ内にあるファイルからメッセージをポーリングする場合に使用します。ファイルを読み取った後、Service Busはトランスポートの構成に応じて、そのファイルを削除またはアーカイブできます。Service Busがリモートの場所にファイルを書き込む際に、プログラムがそのファイルにアクセスしないように、ファイルへの書込みが完了するまでFTPトランスポート・ビジネス・サービスによって一時的にファイル名に.aが追加されます。

FTPトランスポートでは、メッセージング・サービス・タイプおよび任意のXMLサービス・タイプをサポートしています。メッセージング・サービス・タイプのリクエストでサポートされるメッセージ・タイプは、バイナリ、テキスト、MFLおよびXMLです。FTPトランスポートでは一方向のメッセージングのみがサポートされるため、レスポンス・メッセージ・タイプを「なし」にする必要があります。

29.5.1 FTPトランスポート構成のリファレンス

この項では、エンドポイントURIの形式、およびプロキシ・サービスとビジネス・サービスにおけるFTPトランスポートの構成について説明します。

29.5.1.1 FTPトランスポートのエンドポイントURI

プロキシ・サービスおよびビジネス・サービスでFTPトランスポートを使用する場合は、URIを次の形式で指定する必要があります。

ftp://<hostname:port/directory>

説明:

  • hostnameは、ソースまたは宛先ディレクトリがあるFTPサーバーの名前です。

  • portは、FTP接続を行うポート番号です。

  • directoryは、FTPサーバー上の宛先ディレクトリです。プロキシ・サービスの場合、これはサービスが新しいファイルをポーリングする場所です。ビジネス・サービスの場合、これはファイルが書き込まれる場所です。

    このディレクトリは、FTPセッションの作業ディレクトリを基準とした相対パスです。たとえば、作業ディレクトリが/home/my_ftp/で、プロキシ・サービスのエンドポイントURIがftp://ftp_server:21/documentsの場合、サービスは/home/my_ftp/documentsのファイルをポーリングします。同じ作業ディレクトリを使用すると、ビジネス・サービスのエンドポイントURIがftp://fpt_server:21/outputの場合、ファイルはhome/my_ftp/outputに書き込まれます。

29.5.1.2 FTPトランスポートを使用するプロキシ・サービスの構成

次の表に、プロキシ・サービス用のFTPトランスポートの構成に使用するプロパティを示します。詳細は、「プロキシ・サービスの作成と構成」を参照してください。

表29-8 プロキシ・サービス用のFTPトランスポート・プロパティ

プロパティ 説明

ユーザー認証

ユーザー認証のタイプとして、次のいずれかを選択します。

  • 匿名: このオプションでは、FTPサーバーへのログイン時にログイン資格証明は不要ですが、必要に応じてIDとして電子メールIDを指定できます。

  • 外部ユーザー: このオプションでは、FTPサーバーのユーザー名とパスワードが含まれたサービス・アカウント・リソースが参照されます。このオプションを選択した場合、使用するサービス・アカウントを選択する必要があります。

ID(電子メールID)

匿名ユーザーのメールIDを入力します。

このフィールドは、「ユーザー認証」オプションが「匿名」に設定されている場合にのみ使用できます。

サービス・アカウント

FTPサーバーにアクセスするための認証に使用するサービス・アカウントを入力します。このフィールドは、「ユーザー認証」オプションが「外部ユーザー」に設定されている場合にのみ、有効かつ必須です。このサービス・アカウント・リソースは、あらかじめService Bus内で作成しておく必要があります。

詳細は、「サービス・アカウントの操作」を参照してください。

参照渡し

このチェック・ボックスを選択すると、ファイルはアーカイブ・ディレクトリにステージングされ、ヘッダーに参照として渡されます。このオプションを選択した場合、後述のアーカイブ・ディレクトリを指定する必要があります。

リモート・ストリーミング

処理時にリモート・サーバーからFTPファイルを直接ストリーミングする場合は、このチェック・ボックスを選択します。このオプションを選択した場合、アーカイブ・ディレクトリはリモートのFTPサーバー・マシン上のリモート・ディレクトリになります。そのため、FTPユーザー・ディレクトリを基準にした相対パスでアーカイブ・ディレクトリを指定する必要があります。

ファイル・マスク

プロキシ・サービスがポーリングするファイルの正規表現を入力します。URIがディレクトリで、ファイル・マスクが*.*の場合、サービスはディレクトリ内のすべてのファイルをポーリングします。

管理対象サーバー

ポーリング・サーバーとして機能させる管理対象サーバーを選択します。すべての管理対象サーバーがメッセージを処理できますが、メッセージをポーリングできるのは、1台のサーバーのみです。

このフィールドは、クラスタ・ドメインでのみ使用できます。

ポーリング間隔

処理するファイルのポーリングをサービスが次に実行するまでの間隔を秒単位で入力します。デフォルト値は60です。

注意:ファイルが処理用に選択されるときに変更されていないことを確認するため、トランスポートはファイルを1回ポーリングしてから5秒後に再度ポーリングして、ファイル・サイズを比較します。これにより、ここに設定したポーリング間隔の間で5秒の遅延が発生する可能性があります。処理を完了してファイルのロックを解除するために十分な時間がシステムで確保されるように、この値を必ず高く設定してください。

読取り制限

ポーリング・スイープごとの読取りメッセージの最大数を指定します。無制限にするには「0」と入力します。デフォルトは10です。

読取り後のアクション

メッセージが読み込まれた後の動作を選択します。

  • アーカイブ: メッセージはアーカイブされます。このオプションを選択した場合、後述のアーカイブ・ディレクトリも指定する必要があります。

  • 「削除」: メッセージが削除されます。

転送モード

ファイル転送モードとして「バイナリ」または「ascii」を選択します。デフォルトでは、転送はバイナリです。

アーカイブ・ディレクトリ

「読取り後のアクション」オプションが「アーカイブ」に設定されている場合は、アーカイブの場所へのパスを入力します。「参照渡し」オプションが選択されている場合は、このフィールドも必須です。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリ、およびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

ダウンロード・ディレクトリ

ファイル転送時にファイルがダウンロードされる、ローカル・マシンのディレクトリを入力します。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリ、およびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

エラー・ディレクトリ

エラーが発生した場合にファイルの内容を格納する場所を入力します。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリ、およびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

リクエストのエンコーディング

リクエスト・メッセージを読み込む際のエンコーディングのタイプを指定します。デフォルトのエンコーディングはutf-8です。

サブディレクトリのスキャン

ファイルをポーリングする際に、すべてのディレクトリを再帰的にスキャンする場合は、このチェック・ボックスを選択します。

到着順にソート

イベントを受信順に配信する場合は、このチェック・ボックスを選択します。

タイムアウト

接続が切断されるまでのソケット・タイムアウト間隔を秒単位で入力します。「0」を入力すると、タイム・アウトは発生しません。

再試行回数

FTP接続失敗時の再試行回数を指定します。

29.5.1.3 FTPトランスポートを使用するビジネス・サービスの構成

次の表に、ビジネス・サービス用のFTPトランスポートの構成に使用するプロパティを示します。詳細は、「ビジネス・サービスの作成と構成」を参照してください。

表29-9 ビジネス・サービス用のFTPトランスポート・プロパティ

プロパティ 説明

ユーザー認証

ユーザー認証のタイプとして、次のいずれかを選択します。

  • 匿名: このオプションでは、FTPサーバーへのログイン時にログイン資格証明は不要ですが、必要に応じてIDとして電子メールIDを指定できます。

  • 外部ユーザー: このオプションでは、FTPサーバーのユーザー名とパスワードが含まれたサービス・アカウント・リソースが参照されます。このオプションを選択した場合、使用するサービス・アカウントを選択する必要があります。

ID(電子メールID)

匿名ユーザーのメールIDを入力します。

このフィールドは、「ユーザー認証」オプションが「匿名」に設定されている場合にのみ使用できます。

サービス・アカウント

サービスにアクセスするための認証に使用するサービス・アカウントを入力します。このフィールドは、「ユーザー認証」オプションが「外部ユーザー」に設定されている場合にのみ、有効かつ必須です。このサービス・アカウント・リソースは、あらかじめService Bus内で作成しておく必要があります。

詳細は、「サービス・アカウントの操作」を参照してください。

タイムアウト

接続が切断されるまでのソケット・タイムアウト間隔を秒単位で入力します。デフォルトでは60秒です。

宛先ファイル名の接頭辞

トランスポートによってリモート・サーバー上のファイル名の先頭に付加される、省略可能な接頭辞を入力します。

このフィールドにはアスタリスク(*)を入力しないでください。この文字を入力すると、実行時例外が発生します。

宛先ファイル名の接尾辞

トランスポートによってリモート・サーバー上のファイル名の末尾に付加される、省略可能な接尾辞を入力します。

このフィールドにはアスタリスク(*)を入力しないでください。この文字を入力すると、実行時例外が発生します。

転送モード

ファイル転送モードとして「ascii」または「バイナリ」を選択します。

リクエストのエンコーディング

FTPトランスポートにおけるリクエストの文字セット・エンコーディングとして、デフォルトのUTF-8を受け入れるか、別の文字セット・エンコーディングを入力します。

29.6 SFTPトランスポートの使用

SFTPトランスポートは、SSHバージョン2を使用したSFTP (SSHファイル・トランスポートプロトコル)経由でファイルを安全にトランスポートできるポーリング・ベースのトランスポートです。それは、定義済のポーリング間隔に基づいて指定されたディレクトリを定期的にポーリングします。認証後、Service BusサービスとSFTPサーバー間で接続が確立され、ファイル転送が可能になります。SFTPトランスポートでは、一方向のインバウンドおよびアウトバウンド接続をサポートしています。

Service Busがリモートの場所にファイルを書き込む際に、プログラムがそのファイルにアクセスしないように、ファイルへの書込みが完了するまでSFTPトランスポート・ビジネス・サービスによって一時的にファイル名に.aが追加されます。

注意:

SFTPトランスポートでは、マルチバイト文字セットのファイル名を正しく処理できないことがあります。

SFTPトランスポートでは、メッセージ・サービス・タイプおよび任意のXMLサービス・タイプのみをサポートしています。メッセージング・サービス・タイプのリクエストでサポートされるメッセージ・タイプは、バイナリ、テキスト、MFLおよびXMLです。SFTPトランスポートがサポートしているのは一方向のメッセージングのみであるため、レスポンス・メッセージ・タイプを「なし」に設定する必要があります。

29.6.1 SFTPトランスポートの機能

SFTPトランスポートは次の機能を提供しています。

  • SFTPトランスポートは、任意のXMLサービス・タイプおよび(リクエスト・メッセージ・タイプが指定された)メッセージ・サービス・タイプで使用できます。サービス・タイプの構成の詳細は、「プロキシ・サービスの定義」および「ビジネス・サービスの定義」を参照してください。

  • SFTPトランスポートでは、サイズの大きいメッセージの処理をサポートしています。プロキシ・サービスの構成時に、コンテンツ・ストリーミングを有効にし、サイズの大きいメッセージをメモリーまたはディスク・ファイルにバッファリングする必要があるかどうかを指定できます。詳細は、「bodyコンテンツのストリーミング」を参照してください。

  • SFTPトランスポートでは暗号スイートやセキュリティ・アルゴリズムを選択でき、Service Busで適切な一致の検出を許可することもできます。

  • インバウンド・メッセージを転送する場合、QoSをexactly-onceに設定します。これにより、各メッセージが少なくとも1回は処理されることが保証されます。アウトバウンド・メッセージを処理する場合は、QoSをbest-effortに設定します。

    注意:

    転送されないメッセージに関しては、パイプライン・エラー・ハンドラにエラー処理ロジック(再試行ロジックを含む)を作成する必要があります。

    Service BusメッセージングのQoSの詳細は、「サービスの品質」を参照してください。

29.6.2 SFTP認証の一般原則

次の原則は、プロキシ・サービスとビジネス・サービスのSFTP認証プロセスに適用されます。

  • 接続: Service Busプロキシ・サービスまたはビジネス・サービスは、常にSFTPクライアントとして機能し、SFTPサーバーに接続します。

  • SFTPサーバーによる認証: サーバー認証は、次のいずれかの方法で実行されます。

    • 公開鍵認証およびホスト・ベース認証の場合、SFTPサーバーはService Busサービスの公開鍵を使用して接続を認証します。

    • ユーザー名とパスワードによる認証の場合、SFTPサーバーは、ユーザー名とパスワードで接続を認証します。

  • SFTPクライアントによる認証: Service Busサービスは、常に、known_hostsファイルに定義された公開鍵/ホスト/IPの組合せを使用してSFTPサーバーを認証します。詳細は、「既知ホスト・ファイルの作成」を参照してください。

  • 接続の確立: サーバー認証とクライアント認証の両方に成功した場合にのみ接続が確立されます。

  • ファイル転送:

    • クライアントがプロキシ・サービスの場合、ファイル(メッセージ)はSFTPサーバーからダウンロードされます。

    • クライアントがビジネス・サービスの場合、ファイル(メッセージ)はSFTPサーバーにアップロードされます。

29.6.3 SFTPトランスポートの実行時の動作

SFTPトランスポートを使用したファイルの転送には、次の手順が含まれます。

  1. プロキシ・サービスが入力ディレクトリを定期的にポーリングします。

    ポーリング・サイクルごとに新しい接続が作成されます。

  2. プロキシ・サービスは、入力ディレクトリでファイルを見つけると、.stage拡張子の付いたファイル名に変更します。この名前変更により、サービスが次回のポーリング・サイクルで同じファイルを選択しないことが保証されます。

    .stageファイルは、配信されるまで入力ディレクトリ内に存在します。

    注意:

    (ネットワーク障害などが原因で)入力ディレクトリからファイルを取得できない場合、.stageファイルはクリーンアップ・サイクルで処理されます。クリーンアップ・サイクルは、15分ごとまたは15回のポーリング・サイクルの後に実行されます(いずれか後に発生した方が実行されます)。連続する2回のクリーンアップ・サイクルで.stageファイルが存在する場合、ファイルは再度処理されます。

  3. メッセージのJMSタスクが作成され、ドメイン全体のJMSキューに追加されます。

  4. ドメイン全体のMDBがタスクを受け取り、メッセージを処理します。

    このタスクでは、メッセージを処理する際にプールされた接続を使用します。プールの接続を使用できない場合は、新しい接続が作成されます。

  5. メッセージがパイプラインに配信され、.stageファイルが削除されます。

  6. SFTPビジネス・サービスを構成している場合、サービスはプールされた接続を使用して、メッセージをアウトバウンド・ディレクトリに配置します。

メッセージが配信されていない場合は、再度メッセージの転送が試行され、定義済の試行回数に達するまでプロセスが繰り返されます。メッセージを配信できない場合、メッセージはエラー・ディレクトリに移動されます。

29.6.4 SFTP認証の有効化

SFTPトランスポートでは、次の認証方式をサポートしています。

  • ユーザー名/パスワード認証

  • ホスト・ベース認証

  • 公開鍵認証

Service Busサービスは、known_hostsファイルに定義されたサーバーの詳細に基づいてSFTPサーバーを認証します。サーバー認証を有効にするには、クライアント・マシンでknown_hostsファイルを作成する必要があります。

29.6.4.1 既知ホスト・ファイルの作成

known_hostsファイルは、Service Busプロキシ・サービス(インバウンド・リクエスト)またはビジネス・サービス(アウトバウンド・リクエスト)が実行されているサーバーに存在する必要があります。このファイルには、プロキシ・サービスまたはビジネス・サービスの接続先となるリモートSFTPサーバーのホスト名、IPアドレスおよび公開鍵が含まれている必要があります。

既知ホスト・ファイルを作成するには:

  1. known_hostsファイルを作成し、情報を次の形式で入力します。
    Hostname,IP algorithm publickey
    

    説明:

    • Hostnameは、SFTPサーバーのホスト名です。ホスト名は省略可能です。

    • IPは、SFTPサーバーのIPアドレスです。

      IPv6アドレスを使用する場合は、複数の0を表すために2つのコロンを使用しないでください。すべての0を指定します。たとえば、「::」という形式ではなく「:0:0:0:」を使用します。

    • algorithmには、SFTPサーバーの構成に基づいて、DSAまたはRSAのいずれかを指定できます。サポートされているアルゴリズムに応じて、ssh-rsaまたはssh-dssと入力します。

    • publickeyは、SFTPサーバーの公開鍵です。公開鍵は、Open SSH公開鍵形式であることが必要です。

    例 - 既知ホスト・ファイル

    getafix,172.22.52.130 ssh-rsa
    
    AAAAB3NzaC1yc2EAAAABIwAAAIEAtR+M3Z9HFxnKZTx66fZdnQqAHQcF1vQe1+EjJ/HWYtg
    
    Anqsn0hMJzqWMatb/u9yFwUpZBirjm3g2I9Qd8VocmeHwoGPhDGfQ5LQ/PPo3esE+CGwdnC
    
    OyRCktNHeuKxo4kiCCJ/bph5dRpghCQIvsQvRE3sks+XwQ7Wuswz8pv58=
    

    known_hostsファイルには、複数のエントリを含めることができますが、各エントリはそれぞれ別の行に入力する必要があります。

  2. known_hostsファイルをDOMAIN_HOME/config/osb/transports/sftpディレクトリに移動します。

    /transports/sftpディレクトリは、自動的に作成されるわけではありません。手動で作成する必要があります。

29.6.4.2 ユーザー名/パスワード認証の有効化

ユーザー名/パスワード認証は、最も簡単で手早い認証方式です。この認証方式は、ユーザーの資格証明に基づいています。

サービスのユーザー名/パスワード認証を有効にするには:

  1. SFTPサーバーのユーザー資格証明を使用して静的サービス・アカウントを作成します。詳細は、「サービス・アカウントの操作」を参照してください。
  2. known_hostsファイルを作成します。詳細は、「既知ホスト・ファイルの作成」を参照してください。

29.6.4.3 ホスト・ベース認証の有効化

ホスト・ベース認証では、プライベート・ホスト・キーを使用します。この方式は、すべてのユーザーが同じプライベート・ホストを共有している場合に使用できます。

ホストベース認証では、Open SSHがクライアント提供のホスト名と、クライアントIPアドレスのリバース・ルックアップを比較します。リクエストが複数ホーム・マシンから送られるシナリオ、またはNATゲートウェイを介して送られるシナリオでは、ホスト名は一致しない場合があり、認証が失敗します。このようなシナリオを回避するには、/etc/ssh/sshd_configHostbasedUsesNameFromPacketOnlyプロパティをyesに設定することで、DNSチェックをオフにします。実際のセキュリティは、known_hostsファイルとSFTPサーバーの公開鍵の照合によって行われるため、この回避方法はセキュリティを損ないません。

サービスのホスト・ベース認証を有効にするには:

  1. SSLクライアント認証キーでサービス・キー・プロバイダを構成します。詳細は、「サービス・キー・プロバイダの操作」を参照してください。

    注意:

    公開鍵は、サービス・キー・プロバイダの作成時に使用したキーストアから抽出できます。公開鍵は、Open SSH形式であることが必要です。

  2. known_hostsファイルを作成します。詳細は、「既知ホスト・ファイルの作成」を参照してください。
  3. SFTPサーバーのクライアントであるService Busからのリクエストを受け入れるようにSFTPサーバーを構成します。

    たとえば、LinuxのSFTPサーバーの場合、次の手順を実行します。

    • /etc/ssh/shosts.equivファイルを編集し、Service Busドメインを実行しているマシンのホスト名またはIPアドレスを追加します。

    • /etc/ssh/ssh_known_hostsファイルを編集して、Service Busドメインを実行しているマシンのホスト名またはIPアドレスを追加し、その後に空白を入力して公開鍵を追加します。

29.6.4.4 公開鍵認証の有効化

公開鍵認証は、ユーザー独自の秘密鍵を使用して実行されます。この方式は、各ユーザーが秘密鍵を持っている場合に使用できます。

公開鍵認証を有効にするには:

  1. SSLクライアント認証キーでサービス・キー・プロバイダを構成します。詳細は、「サービス・キー・プロバイダの操作」を参照してください。
  2. Service Bus (SFTPクライアント)からのリクエストを受け入れるようにSFTPサーバーを構成します。

    たとえば、LinuxのSFTPサーバーの場合、キーストアから公開鍵を抽出し、このキーをSFTPサーバーの$HOME/.ssh/authorized_keysファイルに入力します。このパスとファイルが存在することを確認してください。

  3. known_hostsファイルを作成します。詳細は、「既知ホスト・ファイルの作成」を参照してください。

29.6.5 SFTPトランスポートの通信エラーの処理

リモートSFTPサーバーへの接続時に接続またはユーザー認証に失敗した場合に発生する可能性のある通信エラーを処理するように、SFTPトランスポート・ベースのビジネス・サービスを構成できます。ビジネス・サービスを構成するときに、指定した再試行間隔の後、ビジネス・サービスのエンドポイントURIがオフラインになるように設定できます。

詳細は、『Oracle Service Busの管理』のビジネス・サービス用のエンドポイントURIの管理とモニターに関する項を参照してください。

29.6.6 SFTPトランスポートのトラブルシューティング

ほとんどのエラーは、SFTPプロキシ・サービスまたはビジネス・サービスの構成中に発生します。エラーについて理解し、エラーを解決する上で役立つヒントを次に示します。

  • known_hostsファイルを適切に構成していることを確認します。

  • 公開鍵認証では、公開鍵ファイルをサーバーに格納します。詳細は、SFTPサーバー付属のドキュメントを参照してください。

  • 接続は拒否されましたというエラー・メッセージは、構成済のホストとポートでSFTPサーバーを使用できないことを示します。

  • 「認証に失敗しました」というエラー・メッセージは、ユーザー名またはパスワードが無効であるか、公開鍵が正しく構成されていないことを示します。

  • 接続が正常に完了しませんでしたというエラー・メッセージは、接続エラーの原因となった実際のエラー(キーが見つかりませんなど)が表示された後に表示されます。

  • IP、ホストのキーが見つかりませんというエラー・メッセージは、指定されたIPとホストの組合せに対応するエントリがknown_hostsファイルに含まれていないことを示します。エントリが存在する場合は、別のアルゴリズムのキーを使用して試行されます。たとえば、以前の試行でRSAキーが使用された場合は、DSAキーを使用して再試行されます。

29.6.7 SFTPトランスポート・サービスのインポート

この項では、構成JARファイルおよびUDDIレジストリからのService Busリソースのインポートについて説明します。

29.6.7.1 SFTPトランスポートにより使用されるリソースのインポート

Service Busドメインにすでに存在するリソースをインポートする場合、「セキュリティおよびポリシーの構成を保持」オプションを選択することで、そのリソースの既存のセキュリティおよびポリシーの構成の詳細を保持できます。リソースのインポート時に保持されるSFTPサービス固有の詳細は次のとおりです。

  • クライアント認証方式

  • サービス・アカウントへの参照(ユーザー名/パスワード認証に関連付けられたサービスの場合)

  • ホスト・ベース認証または公開鍵認証に関連付けられたサービスのサービス・キー・プロバイダへの参照

  • ホスト・ベース認証または公開鍵認証に関連付けられたサービスのユーザー名

リソースのインポートの詳細は、「リソースおよび構成のインポートとエクスポート」を参照してください。

29.6.7.2 サービスのインポートとパブリッシュ: UDDIレジストリ

SFTPサービスをUDDIレジストリにパブリッシュすると、「認証モード」「リクエストのエンコーディング」「到着順にソート」および「ファイル・マスク」の各プロパティがパブリッシュされます。サービスのインポート後のロード・バランシング・アルゴリズムのデフォルト値はround-robinです。

SFTPサービスをUDDIレジストリからインポートしたときに、レジストリからインポートされるプロパティを表29-10に示します。

表29-10 UDDIレジストリからインポートされるプロパティ

プロパティ 説明

宛先ファイル名の接頭辞

リモート・サーバーに格納されるファイルの名前に使用する接頭辞です。

デフォルト値は" "(null)です。

宛先ファイル名の接尾辞

リモート・サーバーに格納されるファイルの名前に使用する接尾辞です。

デフォルト値は" "(null)です。

認証モード

レジストリからインポートされる認証方式です。

ユーザー認証を使用するSFTPビジネス・サービスをUDDIレジストリからService Busにインポートすると、競合が発生します。

  • ユーザー名/パスワード認証の場合は、サービス・アカウントを作成し、そのアカウントをサービスに関連付ける必要があります。

  • ホスト・ベース認証または公開鍵認証の場合は、サービス・キー・プロバイダを作成し、サービスに関連付ける必要があります。

詳細は、「UDDIレジストリの操作」を参照してください。

29.6.8 SFTPトランスポート構成のリファレンス

この項では、エンドポイントURIの形式と環境値、およびプロキシ・サービスとビジネス・サービスにおけるSFTPトランスポートの構成について説明します。

29.6.8.1 SFTPトランスポートのエンドポイントURI

プロキシ・サービスおよびビジネス・サービスでSFTPトランスポートを使用する場合は、エンドポイントURIを次の形式で指定します。

sftp://hostname:port/directory

説明:

  • hostnameは、SFTPサーバーのホスト名またはIPアドレスです。

  • portは、SFTPサーバーがリスンしているポートです。SFTPのデフォルト・ポートは22です。

  • directoryは、ビジネス・サービスがアウトバウンド・メッセージを書き込んだり、プロキシ・サービスが定期的にファイルをポーリングする場所です。

    ディレクトリはSFTPセッションの作業ディレクトリを基準として相対的に指定します。たとえば、作業ディレクトリがhome/my_sftp/で、SFTPプロキシ・サービスがhome/my_sftp/documentsからファイルを読み取る場合、URIはsftp://sftp_server:22/documentsのようになります。ビジネス・サービスに同じ作業ディレクトリを使用すると、URIがsftp://sftp_server:22/outputの場合、ビジネス・サービスはhome/my_sftp/outputにファイルを書き込みます。

29.6.8.2 SFTPトランスポートを使用するプロキシ・サービスの構成

次の表に、プロキシ・サービス用のSFTPトランスポートの構成に使用するプロパティを示します。詳細は、「プロキシ・サービスの作成と構成」を参照してください。

表29-11 プロキシ・サービス用のSFTPトランスポート・プロパティ

プロパティ 説明

ユーザー認証

必要な認証方式を次から選択します。

  • 「ユーザー名パスワード」認証: 静的サービス・アカウントをこの認証方式に関連付け、サービス・アカウントで提供される資格証明を使用してクライアントを認証します。

  • 「ホスト・ベース」認証: ユーザー名とサービス・キー・プロバイダが必要です。既知のホストから接続するユーザーは、ホストの秘密鍵を使用して認証されます。

  • 「公開鍵」認証: ユーザー名とサービス・キー・プロバイダが必要です。ユーザーは、独自の秘密鍵を持ちます。

注意: このサービスでは、SFTPサーバーから資格証明を認証するためにサービス・キー・プロバイダを使用しません。SFTPサーバーを認証する場合、「SFTPトランスポートのトランスポート・レベルでのセキュリティの構成」に示すとおり、known_hostsファイルのみを使用します。プロキシ・サービスは、指定されたユーザー認証方式に基づいてSFTPサーバーによって認証されます。

サービス・アカウント

サービスにアクセスするための認証に使用するサービス・アカウントを入力します。サービス・アカウントの使用については、「サービス・アカウントの操作」を参照してください。

サービス・キー・プロバイダ

認証に使用するサービス・キー・プロバイダを入力します。

このフィールドは、公開鍵認証方式とホスト・ベース認証方式にのみ使用できます。詳細は、「サービス・キー・プロバイダの操作」を参照してください。

ユーザー名

SFTPサーバーにログインするためのユーザー名を入力します。この値は、ホスト・ベース認証方式または公開鍵認証方式を選択した場合にのみ必要です。

  • ホスト・ベース認証では、SFTPサーバー上のユーザーのホーム・ディレクトリをポーリングするためにユーザー名が必要となります。

  • 公開鍵認証では、ユーザーのホーム・ディレクトリのポーリングとSFTPサーバー上の公開鍵の場所の識別にユーザー名が必要となります。

参照渡し

このオプションを選択すると、ファイルはアーカイブ・ディレクトリにステージングされ、参照としてヘッダーに渡されます。

注意: このオプションは、リモート・ストリーミングが無効になっている場合にのみ使用できます。

リモート・ストリーミング

このオプションを選択すると、処理時にSFTPのファイルがリモート・サーバーから直接ストリームされます。このオプションを選択した場合、SFTPサーバー・マシンのリモート・ディレクトリがアーカイブ・ディレクトリになります。そのため、SFTPユーザー・ディレクトリからの相対パスでアーカイブ・ディレクトリを指定する必要があります。

ファイル・マスク

正規表現を入力して、ディレクトリから取り出すファイルを選択します。ファイル・マスクは、特定のタイプのファイルを転送する場合に使用します。デフォルト値は*.*で、すべてのファイルが選択されます。

管理対象サーバー

ポーリング・サーバーとして機能させる管理対象サーバーを選択します。すべての管理対象サーバーがメッセージを処理できますが、メッセージをポーリングできるのは、1台のサーバーのみです。

このフィールドは、クラスタ・ドメインでのみ使用できます。

ポーリング間隔

入力ディレクトリでの処理するメッセージのポーリングを次に実行するまでの間隔を秒単位で入力します。ポーリングでは、SFTP接続を作成する必要があります。デフォルト値は60です。間隔が短いと頻繁にポーリングが発生するため、短いポーリング間隔を設定しないでください。

注意:ファイルが処理用に選択されるときに変更されていないことを確認するため、トランスポートはファイルを1回ポーリングしてから5秒後に再度ポーリングして、ファイル・サイズを比較します。これにより、ここに設定したポーリング間隔の間で5秒の遅延が発生する可能性があります。処理を完了してファイルのロックを解除するために十分な時間がシステムで確保されるように、この値を必ず高く設定してください。

読取り制限

ポーリング・スイープごとの読取りメッセージの最大数を指定します。ポーリング・ディレクトリに多数のファイルが存在する場合は、ここで指定した値により同時転送の数を制限できます。

制限を指定しない場合は、0(ゼロ)を入力します。デフォルト値は10です。

注意: SFTPサーバーで同時接続数が制限されている場合があります。定義した読取り制限がサーバーで定義されている制限よりも少ないことを確認してください。

読取り後のアクション

メッセージが読み込まれた後の動作を選択します。

  • アーカイブ: メッセージは指定されたディレクトリにアーカイブされます。このオプションを選択した場合、後述のアーカイブ・ディレクトリを指定する必要があります。

  • 「削除」: メッセージが削除されます。

アーカイブ・ディレクトリ

「読取り後のアクション」オプションが「アーカイブ」に設定されている場合、アーカイブ場所へのパスを入力します。このフィールドは、「参照渡し」オプションが選択されている場合、必須です。ファイルを読取り後にアーカイブする場合、それらのファイルは、読み取られた後に(ダウンロード・ディレクトリまたはリモートの場所から)アーカイブ・ディレクトリに移動されます。

リモート・ストリーミングが有効になっている場合、アーカイブ・ディレクトリはSFTPサーバーのディレクトリになります。リモート・ストリーミングが無効になっている場合は、Service Busマシン上のアーカイブ・ディレクトリを使用できます。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリおよびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

ダウンロード・ディレクトリ

ファイル転送時にファイルがダウンロードされる、ローカル・マシンのディレクトリを入力します。リモート・ストリーミングが有効になっている場合、このオプションは無効になります。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリおよびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

エラー・ディレクトリ

問題が発生した場合にメッセージがポストされる場所を入力します。

リモート・ストリーミングが有効になっている場合、エラー・ディレクトリはSFTPサーバーのディレクトリになります。リモート・ストリーミングが無効になっている場合は、Service Busマシン上のエラー・ディレクトリを使用できます。

注意: アーカイブ・ディレクトリ、ダウンロード・ディレクトリ、およびエラー・ディレクトリは絶対パスであり、自動的に作成されます。相対パスを指定すると、ファイルはWebLogic Serverを起動するJavaプロセスを基準にした相対的な位置に作成されます。

リクエストのエンコーディング

SFTPトランスポートでのリクエストの文字セット・エンコーディングとしてデフォルト値(UTF-8)を受け入れます。

サブディレクトリのスキャン

エンドポイントURIで指定されたディレクトリ内のすべてのサブディレクトリを再帰的にスキャンする場合は、このオプションを選択します。

注意: サブディレクトリをスキャンする場合、追加の処理オーバーヘッドが必要となるため、このオプションは慎重に使用してください。

到着順にソート

このオプションを選択すると、イベントは到着順に配信されます。これにより、メッセージ配信がランダムに行われるのではなく、ファイルが宛先ディレクトリにダウンロードされた時間に基づいて行われるようになります。

タイムアウト

ソケット・タイムアウト間隔を秒単位で入力します。この時間が経過すると、接続を切断する必要があります。接続をタイムアウトしない場合は、0を入力します。デフォルト値は60です。

再試行回数

SFTP接続に失敗した場合の再試行回数を指定します。この設定を使用すると、ネットワーク障害などのエラーの発生時に、複数回の試行が可能になります。デフォルト値は3です。

優先暗号スイート

サーバーとの通信時に使用する暗号スイートを、使用可能なオプションのリストから選択します。使用する暗号スイートにより、ネットワーク接続の認証と暗号化に関する設定が決まります。

デフォルト値「実行時のデフォルトの使用」を使用すると、サポートされる暗号スイートのリストがサーバーに送信され、一致が検出されるまで各暗号スイートが試行されます。

優先データ整合性アルゴリズム

データ整合性チェックに使用するバルク・ハッシュ・アルゴリズムを、使用可能なオプションのリストから選択します。

デフォルト値の実行時のデフォルトの使用を使用すると、Service Busによって優先アルゴリズムhmac-sha1が送信されます。サーバーでこれがサポートされない場合は、サポートされるアルゴリズムのリストがサーバーに送信され、一致が検出されるまで各アルゴリズムが試行されます。

優先公開鍵アルゴリズム

公開鍵暗号化に使用する非対称鍵アルゴリズムを、使用可能なオプションのリストから選択します。

デフォルト値の実行時のデフォルトの使用を使用すると、Service Busによって優先アルゴリズムssh-dssが送信されます。サーバーでこれがサポートされない場合は、サポートされるアルゴリズムのリストがサーバーに送信され、一致が検出されるまで各アルゴリズムが試行されます。

優先鍵交換アルゴリズム

メッセージの暗号化のためのセッション鍵のネゴシエーション用として、デフォルトの鍵交換プロトコルを選択します。

デフォルト値の実行時のデフォルトの使用を使用すると、Service Busによって優先アルゴリズムdiffie-hellman-group1-sha1が送信されます。サーバーでこれがサポートされない場合は、サポートされるアルゴリズムのリストがサーバーに送信され、一致が検出されるまで各アルゴリズムが試行されます。

優先圧縮アルゴリズム

処理中のデータをzlibを使用して圧縮するかどうかを選択します。データを圧縮するには「zlib」または「zlib@openssh.com」を、それ以外の場合は「なし」を選択します。デフォルトは、Noneです。

29.6.8.2.1 トランスポート・ヘッダーとメタデータの構成

プロキシ・サービスを構成するときに、パイプラインでトランスポート・ヘッダー・アクションを使用してメッセージのヘッダー値を設定できます。SFTPトランスポートに関連するトランスポート・ヘッダーとメタデータを次の表に示します。

表29-12 トランスポート・ヘッダーとメタデータ

ヘッダー/メタデータ 説明

FileName

この値は、宛先ディレクトリでファイル名として使用されます。

isFilePath

メタデータ・フィールドです。指定可能な値はtrueとfalseです。

  • True: FileName がファイルの絶対パスとして解釈されます。

  • False: FileName がファイルの名前として解釈されます。

filePath

レスポンス・メタデータ・フィールドです。 FileName ヘッダーで指定したファイルが書き込まれる絶対パスを示します。

29.6.8.3 パイプラインでのトランスポート・ヘッダーの構成

パイプラインでは、アウトバウンド・リクエスト用のトランスポート・ヘッダーのみを構成できます。メッセージのヘッダーの値を設定するには、トランスポート・ヘッダー・アクションを使用します。詳細は、「コンソールでのトランスポート・ヘッダー・アクションの追加」を参照してください。

29.6.8.4 テスト・コンソールでのトランスポート・ヘッダーとメタデータの構成

開発時にSFTPトランスポートベースのサービスをテストする場合、テスト・コンソールでFileNameトランスポート・ヘッダーとisFilePathメタデータの値を構成できます。詳細は、「テスト・コンソールの使用」を参照してください。

29.6.8.5 SFTPトランスポートを使用するビジネス・サービスの構成

次の表に、ビジネス・サービス用のSFTPトランスポートの構成に使用するプロパティを示します。詳細は、「ビジネス・サービスの作成と構成」を参照してください。

表29-13 ビジネス・サービス用のSFTPトランスポート・プロパティ

プロパティ 説明

ユーザー認証

必要な認証方式を次から選択します。

  • 「ユーザー名パスワード」認証: 静的なサービス・アカウントがこの認証方式に関連付けられ、クライアントは提供した資格証明によって認証されることを指定します。

  • 「ホスト・ベース」認証: この認証方式を使用するためにユーザー名とサービス・キー・プロバイダが必要になることを指定します。既知のホストから接続するユーザーは、ホストの秘密鍵を使用して認証されます。

  • 「公開鍵」認証: この認証方式を使用するためにユーザー名とサービス・キー・プロバイダが必要になることを指定します。各ユーザーは固有の秘密鍵を持っています。

注意: Service Busサービスは、SFTPサーバーからの資格証明を認証するために、サービス・キー・プロバイダを使用することはありません。SFTPサーバーを認証する場合、「SFTPトランスポートのトランスポート・レベルでのセキュリティの構成」に示すとおり、known_hostsファイルのみを使用します。

サービス・アカウント

サーバーにアクセスするための認証に使用するサービス・アカウントを入力します。サービス・アカウントの使用については、「サービス・アカウントの操作」を参照してください。

サービス・キー・プロバイダ

認証に使用するサービス・キー・プロバイダを入力します。

このフィールドは、公開鍵認証方式とホスト・ベース認証方式にのみ使用できます。詳細は、「サービス・キー・プロバイダの操作」を参照してください。

ユーザー名

ユーザー名を入力します。この値は、ホスト・ベース認証方式または公開鍵認証方式を選択した場合にのみ必要です。

  • ホスト・ベース認証では、SFTPサーバー上のユーザーのホーム・ディレクトリをポーリングするためにユーザー名が必要となります。

  • 公開鍵認証では、ユーザーのホーム・ディレクトリのポーリングとSFTPサーバー上の公開鍵の場所の識別にユーザー名が必要となります。

タイムアウト

接続が切断されるまでのソケット・タイムアウト間隔を秒単位で入力します。「0」を入力すると、タイムアウトは発生しません。デフォルト値は60です。

宛先ファイル名の接頭辞

トランスポートによってリモート・サーバー上のファイル名の先頭に付加される、省略可能な接頭辞を入力します。

このフィールドには「*」を入力できません。この文字を入力すると、実行時例外が発生します。

宛先ファイル名の接尾辞

トランスポートによってリモート・サーバー上のファイル名の末尾に付加される、省略可能な接尾辞を入力します。

このフィールドには「*」を入力できません。この文字を入力すると、実行時例外が発生します。

リクエストのエンコーディング

SFTPトランスポートでは、リクエストの文字セット・エンコーディングとしてデフォルトのUTF-8を受け入れます。

優先暗号スイート

サーバーと通信する際に使用する暗号スイートを選択します。使用する暗号スイートにより、ネットワーク接続の認証と暗号化に関する設定が決まります。

デフォルト値「実行時のデフォルトの使用」を使用すると、サポートされる暗号スイートのリストがサーバーに送信され、一致が検出されるまで各暗号スイートが試行されます。

優先データ整合性アルゴリズム

データ整合性チェックに使用するバルク・ハッシュ・アルゴリズムを、使用可能なオプションのリストから選択します。

デフォルト値の実行時のデフォルトの使用を使用すると、Service Busによって優先アルゴリズムhmac-sha1が送信されます。サーバーでこれがサポートされない場合は、サポートされるアルゴリズムのリストがサーバーに送信され、一致が検出されるまで各アルゴリズムが試行されます。

優先公開鍵アルゴリズム

公開鍵暗号化に使用する非対称鍵アルゴリズムを、使用可能なオプションのリストから選択します。

デフォルト値の実行時のデフォルトの使用を使用すると、Service Busによって優先アルゴリズムssh-dssが送信されます。サーバーでこれがサポートされない場合は、サポートされるアルゴリズムのリストがサーバーに送信され、一致が検出されるまで各アルゴリズムが試行されます。

優先鍵交換アルゴリズム

メッセージの暗号化のためのセッション鍵のネゴシエーション用として、デフォルトの鍵交換プロトコルを選択します。

デフォルト値の実行時のデフォルトの使用を使用すると、Service Busによって優先アルゴリズムdiffie-hellman-group1-sha1が送信されます。サーバーでこれがサポートされない場合は、サポートされるアルゴリズムのリストがサーバーに送信され、一致が検出されるまで各アルゴリズムが試行されます。

優先圧縮アルゴリズム

処理中のデータをzlibを使用して圧縮するかどうかを選択します。データを圧縮するには「zlib」または「zlib@openssh.com」を、それ以外の場合は「なし」を選択します。デフォルトは、Noneです。

29.6.8.6 SFTPトランスポートの環境値

環境値は、ドメイン固有の構成データに含まれる定義済のフィールドです。これらの値は、ドメイン間で構成を移動するとき(テスト環境から本番環境への移動など)に変更される可能性があります。SFTPトランスポートに関連付けられた環境値を次の表に示します。

表29-14 SFTPトランスポートの環境値

環境値 説明

SFTPアーカイブ・ディレクトリ

SFTPプロキシ・サービスのアーカイブ・ディレクトリ。ダイレクト・ストリーミングがオンの場合、このアーカイブ・ディレクトリはリモートSFTPサーバーに存在し、それ以外の場合はローカルに存在します。

SFTPダウンロード・ディレクトリ

SFTPプロキシ・サービスのダウンロード・ディレクトリ。

SFTPエラー・ディレクトリ

SFTPプロキシ・サービスのエラー・ディレクトリ。ダイレクト・ストリーミングがオンの場合、このエラー・ディレクトリはリモートSFTPサーバーに存在し、それ以外の場合はローカルに存在します。

ポーリングの管理対象サーバー

クラスタ・ドメイン内のポーリング用管理対象サーバー。

SFTP優先暗号スイート

SFTPプロキシ・サービスおよびビジネス・サービスでの認証と暗号化に使用する暗号スイート。

SFTP優先圧縮アルゴリズム

SFTPプロキシ・サービスおよびビジネス・サービスで処理中のデータの圧縮に使用する圧縮ライブラリ。

SFTP優先データ整合性アルゴリズム

SFTPプロキシ・サービスおよびビジネス・サービスでの整合性チェックに使用するバルク・ハッシュ・アルゴリズム。

SFTP優先鍵交換アルゴリズム

SFTPプロキシ・サービスおよびビジネス・サービスでメッセージの暗号化に使用するセッション鍵をネゴシエートするためのデフォルトの鍵交換プロトコル。

SFTP優先公開鍵アルゴリズム

SFTPプロキシ・サービスおよびビジネス・サービスでの公開鍵暗号化に使用する非対称鍵アルゴリズム。

環境変数とSFTP変数の詳細は、次を参照してください。